在Android系统联系人界面删除一条短信实际上并不是真正的删除,而是在数据库中标记raw_contacts表中Contact_id为null以及data表中raw_contact_id为空,这是为了账号同步服务器而设计的方法. 因此我们查找数据库获得raw_contact表中的contact_id的时候要判断一下是否为空,再进行下一步的data表的查询,以免出错.…
1.首先动态获取 读取联系人信息权限    <1>配置文件中声明对应权限 ) } ] == PackageManager.PERMISSION_GRANTED) { readContacts() } else { Toast.makeText(this, "You denied the permission", Toast.LENGTH_SHORT).show() } } } 2.创建ListView适配器,联系人信息集合 var adapter: ArrayAdapter…
本篇开始讲如何从Android中得到本机联系人的信息.由于Android较快的版本升级,部分API已经发生了变化.本篇探究的通过ContentProvider机制获取联系人的API从Android2.0开始做了很大调整,原来的android.provider.Contacts类及其下相关类由android.provider.ContactsContract代替.原类体系标记为Deprecated(废弃),因为兼容的原因目前还存在,但不保证以后的更新版本中完全丢弃. 所以本文先从Android2.…
联系人信息被存放在一个contacts2.db的数据库中 主要的两张表 读取联系人 读取联系人需要知道联系人内容提供者的地址,以及对应的操作对象.一般情况下操作对象是的命名方式和表明是一致的. 布局文件 在布局文件中定义一个button按钮来获取触发获取联系人信息的事件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.an…
加入读取联系人信息的权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> content://com.android.contacts/contacts 操作的数据是联系人信息Uri content://com.android.contacts/data/phones 联系人电话Uri content://com.android.contacts/data/emails 联系人Email…
前面的文章已经实现相关的布局,本文接着进行相关的功能实现 本文地址:http://www.cnblogs.com/wuyudong/p/5951794.html,转载请注明出处. 读取系统联系人 当点击“选择联系人”按钮后,弹出联系人列表,读取系统联系人分如下几个步骤: 系统联系人提供了一个内容提供者,通过内容解析器,匹配Url地址 1,内容解析器 2,Url地址,查看系统联系人数据库,内容提供者源码 先看api文档的清单文件,后看java类(联系人数据库有多张表) contents://com…
内容提供折详细理论知识请参考之前的博文:http://blog.csdn.net/qq_32059827/article/details/51646513 这里新建了三个联系人信息,通过查看系统联系人源码知道,对三张表进行操作. 联系人数据库 raw_contacts表: contact_id:联系人id data表:联系人的具体信息,一个信息占一行 data1:信息的具体内容 raw_contact_id:联系人id,描述信息属于哪个联系人 mimetype_id:描述信息是属于什么类型 mi…
内容提供是实质上是个接口,后门,他给别人提供数据,系统联系人是个比较复杂的内容通过者. 找到/data/data/com.android.providers.contacts/contacts2.db 这个目录下还有个文件contacts2.db.-journal,这个文件和数据库的事务相关 联系人应用数据库的主要结构 raw_contacts 联系人表 contact_id 联系人id data数据表  raw_contact_id联系人id,mimetype_id数据类id,data1数据…
读取通信录中的联系人一般的过程是先查找联系人记录,然后再访问记录的属性,属性又可以分为单值属性和多值属性.通过下面例子介绍联系人的查询,以及单值属性和多值属性的访问,还有读取联系人中的图片数据. 本案例是从iOS设备上读取通讯录中的联系人,并将其显示在一个表视图中,可以进行查询,点击联系人进入详细信息画面.访问通讯录的应用必须要做的两件事情: 1.添加AddressBook和AddressBookUI框架 为工程添加AddressBook.framework和AddressBookUI.fram…
Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息拿出来. 这一篇文章我主要带领同学们熟悉Android的通讯录机制. 图中选中的数据库 contacts2.db就是系统储存联系人的数据库   打开contacts.db后 发面里面有一堆表,同学们先别慌张.今天我们主要讨论红框内的4个比较常用的表,后期我在介绍其它表的使用.这里说一下如果你想在真机上查看数据库的话必需要先获得root权限,否则无法查看.     1.cont…