手机联系人URI

本文详细解析了Android设备中联系人数据库的结构,包括联系人表、电话表、邮箱表、地址表等关键表的URI,并介绍了如何通过这些URI查询联系人的ID、电话、邮箱和地址等信息。同时,文章还提供了通过cursor.getColumnNames()获取所有列的方法,以便更好地理解和操作联系人数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

contacts表也就是联系人表的URI —— scontent://com.android.contacts/contact ,对应类静态常量为ContactsContract.Contacts.CONTENT_URI
联系人电话URI —— content://com.android.contacts/data/phones ,对应静态常量为ContactsContract.CommonDataKinds.Phone.CONTENT_URI
联系人邮箱URI —— content://com.android.contacts/data/emails  ,对应静态常量为ContactsContract.CommonDataKinds.Email.CONTENT_URI
联系人地址URI —— content://com.android.contacts/data/postals  ,对应静态常量为ContactsContract.CommonDataKinds.StructuredPostall.CONTENT_URI
所有联系人的Uri —— content://contacts/people
某个联系人x的Ur —— content://contacts/people/x

data表URI —— content://com.android.contacts/data ,对应静态常量为ContactsContract.Data.CONTENT_URI


通过  content://com.android.contacts/contacts ,你就可以查找contacts表

其中比较重要的字段有:

_id-->联系人的ID


通过  content://com.android.contacts/data 你就可以查询data表

row_contact_id-->联系人的id地址

data1-->所存在联系人的名字、邮箱和出生地

data2-->指明数据的类型(一个int型,相当于mineetypes的id)。eg vnd.android.cursor.item/email_v2

minetypes-->指明具体的数据的类型

当你不知道你表中有多少数据的时候,最好就是通过cursor.getColumnnames()来打印你所有的列,然后去数据库中找寻相对应的值


而实际上,在你使用的过程中,你完全可以通过content://com.android.contacts/data来查询到所有的数据,但是那样你就不好判断id,所以才会引用contacts的URI,用于id的分别,也好查询一个联系人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值