android 联系人存储结构
android 2.x与1.x联系人的数据库设计有很大不同,在做联系人相关的开发时,先要确定系统的版本。
boolean mAndroid2 =android.os.Build.VERSION.RELEASE.startsWith("2.");
本文是开发过程中的一些比较整理,适用的是2.x以后的版本。
Overall.
联系人的主要数据存放在raw_contacts和data表里,它两构成主从表关系。
raw_contacts表结构:
data表结构:
每个联系人在raw_contacts里有一条记录,像地址,名称,email,电话等等数据都在data存放在data里,这样设计的好处是易扩展,比如要增加一个联系人的email地址时,只要在data里增加一条记录。
联系人的数据库比较复杂,在联系人相关应用开发中,一般也不直接通过数据库字段来操作,主要用视图(指定的Uri)来操作。
下面说说我在开发工作中用到的一些联系人的数据。
名字:
Uri: Uri.parse("content://com.android.contacts/data")
PREFIX = "data4"; //名称前缀
MID_NAME = "data5";//中间名
GIVEN_NAME = "data2";//名字
FAMILY_NAME = "data3";//姓氏
MID_PINYIN="data8"; //中间名拼音
String FAMILY_NAME_PINYIN="data9"; //姓氏拼音
String SUFIX = "data6"; //名称后缀
String SUFIX_PINYIN="data7"; //名字拼音
电话:
Uri: Uri.parse("content://com.android.contacts/data/phones"
phone: "data1";//号码
Type: "data2";//这个字段是整形值,指示电话类型
类型对应关系如下:
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_MOBILE = 2;
TYPE_WORK = 3;
TYPE_FAX_WORK = 4;
TYPE_FAX_HOME = 5;
TYPE_PAGER = 6;
TYPE_OTHER = 7;
Email:
Uri:Uri.parse("content://com.android.contacts/data/emails")
Email: "data1";//邮箱地址
Type: "data2";//这个字段是整形值,指示Email类型
类型对应关系如下:
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;
TYPE_MOBILE = 4;
地址:
Uri:Uri.parse("content://com.android.contacts/data/postals")
STREET="data4";//街道
CITY="data8";//城市
STATE="data7";//州
ZIP_CODE="data9";//邮政编码
Type:"data2";//type的类型如下
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;
转载于:https://www.cnblogs.com/devxiaobai/archive/2011/12/14/contactStruct.html
android 联系人存储结构相关推荐
- Android联系人Contacts详解
1.获取联系人详细信息 在(一)中我们只是获取了联系人的ID和NAME,但是这是远远不够的,怎么样获取其他的值呢? public void fetchContactInformation() {Str ...
- Android文件系统的结构
Android 4.2.2 版本的文件系统 内核版本为 3.0.31 版本号为JDQ39 factory//估计是存放网络通信协议的登录密钥的 |-- bluetooth |-- hdcp.keys ...
- Android文件系统的结构及目录用途、操作方法 整理
https://blog.csdn.net/TskyFree/article/details/43935595 1.android文件系统的结构 android源码编译后得到system.img,ra ...
- Android文件系统的结构及目录用途、操作方法
以下内容转载 1.android文件系统的结构 android源码编译后得到system.img,ramdisk.img,userdata.img映像文件.其中,ramdisk.img是emulato ...
- android源码结构
android源码结构 Android 2.1 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编 ...
- android方法数据库的权限,Android数据存储,运行时权限
Android存储目录 Android的底层支持是Linux,不同于Windows,没有分盘的概念,是以文件夹形式呈现,可以理解为一个应用就是一个用户. data目录 手机内部存储目录(手机本身内存) ...
- 运用单例模式、建造者模式和策略模式实现异步加载Android联系人资料
学完设计模式很久了,最近又在看Android联系人提供程序的官方文档,于是就想实现一个方便的联系人管理程序demo,而联系人管理程序demo的核心就是要实现一个异步加载联系人资料的类,于是就有了下文. ...
- Android数据存储——2.文件存储_C_DOM解析XML文档
今天学习Android数据存储--文件存储_DOM解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效 ...
- android+默认存储,Android 数据存储之SP存储,内部存储,外部存储
Android 数据存储之SP存储,内部存储,外部存储 Android提供了多种数据存储的技术来永久的保存应用数据,以便于开发者能够根据自己的需求来选择合适的数据存储方案,主要有SharedPrefe ...
最新文章
- 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )
- [YTU]_2353 ( 长方柱类【C++ 类定义】)
- yunyang tensorfow-yolo3 训练时权重文件消失的原因和解决办法(max_to_keep)
- 开放网络的承诺:它真的做到了吗?
- Python3成员运算符(List元素是否存在)
- 【树莓派】树莓派3B安装宝塔面板并配置安装LNMP
- 求二叉树上结点的路径c语言版,求二叉树根到给定节点的路径设计报告.doc
- 在Python中什么是slicing?
- 【知识整理】这可能是最好的RxJava 2.x 入门教程(四)
- 使用RN开发App,引入图标失效问题的解决
- 论文中的CNN网络绘制软件
- Python计算点到直线距离的两种方法
- java 设置表头字体_Java将数据按列写入Excel并设置格式(字体、背景色、自动列宽、对齐方式等)...
- 安全性测试(一)--网页安全检查
- Chrome主页被强制修改为百度解决办法
- 【kali】34 WEB渗透——扫描工具w3af_console
- 荒野、车居生活与自由世界——读《车轮上的瓦尔登湖》
- vue.js中created()与activated()的个人使用理解
- 多箭齐发稳增长 地方两会圈定2022年经济重点
- 韭菜种植与收割:发布你自己的 ICO