android_内容访问者去访问联系人
来源:互联网 发布:petshop 源码下载 编辑:程序博客网 时间:2024/05/16 00:27
public void query(View v){ //需求: 查询所有的联系人 //1. 查询raw_contacts表 ContentResolver resolver = getContentResolver(); Uri contactUri= Uri.parse("content://com.android.contacts/raw_contacts"); Uri dataUri= Uri.parse("content://com.android.contacts/data"); Cursor cursor =resolver.query(contactUri, new String[]{"contact_id"}, null, null, null); while(cursor.moveToNext()){ //这里仅仅是遍历得到每一个联系人的id而已,接下来要做的工作就是去查询data表, 根据id去查询 String id = cursor.getString(0); //根据id去查询data表 Cursor dataCursor = resolver.query(dataUri, new String[]{"data1" ,"mimetype"}, "raw_contact_id=?", new String[]{id}, null); while(dataCursor.moveToNext()){ String data =dataCursor.getString(0); String mimetype =dataCursor.getString(1); Log.d(TAG, "data==="+data+"--mimetype-"+mimetype); } dataCursor.close(); } cursor.close(); }
下面有介绍源代码和数据库的截图
数据库的截图
查询联系人
- 为什么mimetype_id查询不了
原因是在源码中有一个map集合,用于过滤来查询的字段,如果在map中存在这个字段,那么就可以查询,否则将抛出异常。
- 为什么mimetype反而能够查询
因为真正插叙你的时候,并不是查询data表,而是查询view-data表。
删除联系人
android并没有直接删除这个联系人,而是把row_contacts表里面contact_id 置为null.
,以后要与云端数据对接的时候,就比较费劲。所以这里取巧了,只是变了一个标记位而已。
0 0
- android_内容访问者去访问联系人
- ContentResolver 内容访问者访问手机联系人
- Android内容访问者访问联系人信息实例
- android_访问系统联系人
- 内容访问者之获取联系人
- android内容访问者+获取联系人信息
- ContentResolver(内容访问者)访问通讯录
- 利用ContentResolver内容访问者获取手机联系人信息
- android_访问系统短信内容提供者
- ContentResolve内容访问者(访问系统)
- Android内容访问者访问短信实例
- Android_联系人PinnedHeaderListView使用
- android_内容提供者的升级定义和访问
- android_内容观察者
- android-内容访问者contentResolver
- Android-ContentResolver内容访问者
- ContentResolver(内容访问者)
- 内容提供访问者
- Python正则表达式集锦
- 网易游戏实习生面试
- 图像有用区域
- PHPUnit单元测试
- java作业之输入n个学生的m门课程求每个学生的总分和平均分。。。
- android_内容访问者去访问联系人
- [java学习]java容器源码初探(1)
- (4.5.3.3)Android Studio导入eclipse工程出现“app:mergeDebugResources“
- 隐马尔可夫模型(三)——隐马尔可夫模型的评估问题(前向算法)
- 图片内存缓存
- android的Adb一些常用的指令
- nodejs 大致学习二 普通的脚本 类似python
- java 多线程中volatile的作用
- 十分钟了解分布式计算:Petuum