当前位置: 首页 > news >正文

网站备案 地址阿里云linux服务器搭建多个网站

网站备案 地址,阿里云linux服务器搭建多个网站,做微网站哪家好,西安seo培训机构排名一、实验目的#xff08;如果代码有错漏#xff0c;可在代码地址查看#xff09; 1.熟悉内容提供者(Content Provider)的概念和作用。 2.掌握内容提供者的创建和使用方法。 4.掌握内容URI的结构和用途。 二、实验条件 1.熟悉内容提供者的工作原理。 2.掌握内容提供者访问其…一、实验目的如果代码有错漏可在代码地址查看 1.熟悉内容提供者(Content Provider)的概念和作用。 2.掌握内容提供者的创建和使用方法。 4.掌握内容URI的结构和用途。 二、实验条件 1.熟悉内容提供者的工作原理。 2.掌握内容提供者访问其他应用程序数据的方式。 三、实验内容 1.创建程序添加recyclerview库。 2.添加界面控件取消默认标题栏。 3.搭建通讯录列表条目界面布局。 4.封装联系人信息实体类。 5.编写通讯录列表的适配器。 6.实现显示通讯录界面数据的功能。 7.添加读取系统通讯录的权限运行程序。 四、实验指导 正在layout包下 1.activity_main.xml ?xml version1.0 encodingutf-8? androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivityTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textHello World!app:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfparent //androidx.constraintlayout.widget.ConstraintLayout 2.activity_contact.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticaltools:context.ContactActivityTextViewandroid:idid/textViewandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:gravitycenterandroid:padding5dpandroid:background#BFDC9Eandroid:textSize20spandroid:textColorcolor/blackandroid:text通讯录 /androidx.recyclerview.widget.RecyclerViewandroid:idid/rv_contactandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_margin2dpandroid:background#F2F4E2/ /LinearLayout 3.contact_item ?xml version1.0 encodingutf-8? RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin5dpandroid:padding8dpandroid:backgrounddrawable/item_bgImageViewandroid:idid/iv_photoandroid:layout_width60dpandroid:layout_height60dpandroid:layout_centerVerticaltrueapp:srcCompatdrawable/user /TextViewandroid:idid/tv_nameandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_alignTopid/iv_photoandroid:layout_marginTop5dpandroid:layout_toEndOfid/iv_photoandroid:layout_marginStart20dpandroid:textColorcolor/blackandroid:text李雷 /TextViewandroid:idid/tv_phoneandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_alignBottomid/iv_photoandroid:layout_marginBottom5dpandroid:layout_toEndOfid/iv_photoandroid:layout_marginStart20dpandroid:textColorcolor/blackandroid:text13520677894 / /RelativeLayout Java代码 package cn.itcast.contacts;import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView;import android.annotation.SuppressLint; import android.content.pm.PackageManager; import android.database.Cursor; import android.os.Build; import android.os.Bundle; import android.provider.ContactsContract; import android.widget.Toast;import java.util.ArrayList; import java.util.List;public class ContactActivity extends AppCompatActivity {private RecyclerView recyclerView;SuppressLint(MissingInflatedId)Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_contact);init();}private void init() {recyclerView findViewById(R.id.rv_contact);recyclerView.setLayoutManager(new LinearLayoutManager(this));getPermissions();}String[] permissionList;//申请权限public void getPermissions() {if (Build.VERSION.SDK_INT Build.VERSION_CODES.M) {permissionList new String[]{android.permission.READ_CONTACTS};ArrayListString list new ArrayList();for (String s : permissionList) {if (ActivityCompat.checkSelfPermission(ContactActivity.this, s) !PackageManager.PERMISSION_GRANTED) {list.add(s);}}if (list.size() 0) {ActivityCompat.requestPermissions(ContactActivity.this, list.toArray(list.toArray(new String[list.size()])),1);} else {setDate();}} else {setDate();}}Overridepublic void onRequestPermissionsResult(int requestCode, NonNull String[] permissions, NonNull int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);if (requestCode 1) {for (int i 0; i permissions.length; i ) {if(permissions[i].equals(android.permission.READ_CONTACTS) grantResults[i] PackageManager.PERMISSION_GRANTED) {Toast.makeText(this, 读取通讯录权限申请成功, Toast.LENGTH_SHORT).show();setDate();} else {Toast.makeText(this, 读取通讯录权限申请失败, Toast.LENGTH_SHORT).show();}}}}private void setDate() {ListContactInfo contactInfoList getContacts();ContactAdapter adapter new ContactAdapter(ContactActivity.this , contactInfoList);recyclerView.setAdapter(adapter);}//获取通讯录数据private ListContactInfo getContacts() {ListContactInfo contactInfos new ArrayList();Cursor cursor getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);while ( cursor.moveToNext() ) {SuppressLint(Range) String id cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));SuppressLint(Range) String name cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));SuppressLint(Range) int isHas cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));if (isHas 0) {Cursor cursor1 getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID id,null, null);while (cursor1.moveToNext()) {ContactInfo contactInfo new ContactInfo();contactInfo.setContactName(name);SuppressLint(Range) String number cursor1.getString(cursor1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)).trim();number number.replace( ,);number number.replace(-,);contactInfo.setPhoneNumber(number);contactInfos.add(contactInfo);}cursor1.close();}}cursor.close();return contactInfos;} } package cn.itcast.contacts;import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView;import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView;import java.util.List;public class ContactAdapter extends RecyclerView.AdapterContactAdapter.MyViewHolder {private Context context;private ListContactInfo contactInfoList;public ContactAdapter(Context context, ListContactInfo contactInfoList) {this.context context;this.contactInfoList contactInfoList;}NonNullOverridepublic MyViewHolder onCreateViewHolder(NonNull ViewGroup parent, int viewType) {MyViewHolder holder new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.contact_item,parent,false));return holder;}Overridepublic void onBindViewHolder(NonNull MyViewHolder holder, int position) {holder.tv_name.setText((CharSequence) contactInfoList.get(position).getContactName());holder.tv_phone.setText((CharSequence) contactInfoList.get(position).getPhoneNumber());}Overridepublic int getItemCount() {return contactInfoList.size();}class MyViewHolder extends RecyclerView.ViewHolder {TextView tv_name, tv_phone;ImageView iv_photo;public MyViewHolder(NonNull View itemView) {super(itemView);iv_photo itemView.findViewById(R.id.iv_photo);tv_name itemView.findViewById(R.id.tv_name);tv_phone itemView.findViewById(R.id.tv_phone);}} } package cn.itcast.contacts;public class ContactInfo {private String contactName;private String phoneNumber;public String getContactName() {return contactName;}public void setContactName(String contactName) {this.contactName contactName;}public String getPhoneNumber() {return phoneNumber;}public void setPhoneNumber(String phoneNumber) {this.phoneNumber phoneNumber;} } package cn.itcast.contacts;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);} } 五代码下载地址 android: 实现注册界面、实现注册界面、饭堂小广播、音乐播放器、记事本、读取手机通讯录、学生管理系统 - Gitee.com
http://www.hkea.cn/news/14400221/

相关文章:

  • 绍兴 网站建设 电话无线网络设计实验报告
  • 怎么做销售网站wordpress 查看版本号
  • 为什么建设厅的网站不好打开网站背景怎么换
  • 网站建设的收费标准抖音代运营案例
  • 怎样做网站管理与维护兰州网站建设公司价格
  • 订单网站怎么做2024中核招聘网最新招聘公告
  • 用ps做的网站样图怎么切凡客建站官网登录
  • 网站怎么做购物车网站管理员功能
  • 如何设计企业网站网站从建设到运行要多少钱
  • 如何做信用网站截图合肥网站建设新闻营销
  • 网站打开太慢什么原因微商城网站建设渠道
  • 自适应网站建设wordpress文字上传
  • 网站建设佰金手指科杰二七重庆企业网站排名优化
  • html5网站开发开题报告网站改版 数据迁移
  • 行唐县做网站电话wordpress the7.3
  • 4p营销策略分析黄冈seo顾问
  • 学校网站系统管理wordpress缩进column
  • 媒体135网站湖南长沙门户网站
  • 广州h5网站建设公司商务网站的功能和建设
  • 商丘住房和城乡建设厅网站个人网站备案转公司备案
  • 做旅游网约车的网站烟台优化网站公司
  • 优质手机网站建设哪家好国外c2c平台有哪几个
  • 广告网站模板免费下载做设计网站的工作
  • 建站快车代理商上海网站建设 中华企业录
  • 成都捕鱼网站建设wordpress原有注册登录页面
  • wordpress全站备份营销点子
  • 微信小程序插件开发移动端网站如何优化
  • 网站如何实现多语言做国外网站做什么内容
  • 做简历做得好的网站室内设计师联盟网官网
  • python 做的网站有哪些用discuz做行业网站