当前课程知识点:Android应用开发基础 > 第七章 内容提供者ContentProvider > 7.3 ContentProvider概述 > 7.3 实践案例-读取联系人
本节通过实例来介绍如何
使用联系人权限读取手机联系人
下面介绍读取联系人权限申请实例
首先创建一个应用程序
设置应用程序的名字
进入布局文件
删除默认组件
修改布局类型为线性布局LinearLayout
切换到design模式
新建一个ListView组件
设置id为lv
选中activity_main布局文件
点击右键选择Generate,选中LayoutCreator
自动生成组件初始化的代码
定义私有属性String类型的适配器mArrayAdapter
定义私有属性String类型的数组mDataList
在onCreate方法中新建initData()方法
按住alt+enter实现未实现方法
在initData中初始化适配器
第一个参数为当前上下文
第二个参数为子项布局
第三个参数为数据数组
mLv设置适配器
在onCreate方法中新建check()方法
按住alt+enter实现未实现方法
ActivityCompat.checkSelfPermission检查
权限是否被授权 第一个参数为当前上下文
第二个参数为读取联系人的权限
如果读取联系人权限没有被授权
ActivityCompat.checkSelfPermission申请权限
第一个参数为当前上下文
第二个参数为联系人权限的字符串数组
请求码为1
如果已经授权,调用read()方法
alt+enter实现未实现方法
在AndroidManifest.xml中添加读取联系人权限
调用getContentResolver()
获取ContentResolver对象
定义Cursor对象为空
查询联系人数据
第一个参数为某应用程序下某张表对应uri
第二个参数为指定列名
第三个参数为指定where的约束条件
第四个参数为where中具体的值
第五个参数为查询结果排序方式
如果cursor不为空
在while循环中进行cursor遍历
读取联系人姓名
获取联系人手机号
将变量name与num的数据放入mDataList数组中
执行完毕后通知适配器数据更新
实现回调函数onRequestPermissions方法
如果requestCode等于1
如果权限已授权 ,调用read方法
如果权限没有授权,使用Toast提示
You denied the permissions
break程序执行完毕
default情况下程序执行完毕
代码编写完成后运行程序
allow允许权限申请实现了联系人读取功能
这就是使用Android的应用权限获取手机通讯录的全部内容
请打击按照讲课的内容完成手机通讯录得应用程序编写
在Android的手机和模拟器中分别运行
通过实例理解使用Android的运行权限读取手机通讯录的流程
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统