本文将介绍如何去研究android的四大组件之一contentProvider,由于我暂时会用到contacts和calendars,就介绍这2个内容先.
转载请表明来自于http://my.oschina.net/moziqi/blog
首先我介绍我用的工具先,不如会让读者迷惑.
我用的是eclipse+genymotion+sqlite Expert Persional,另外我基于android4.0(14版本来弄的,旧版本我不会介绍,你们可以参考我这个来学低版本),我启动的模拟器是4.4.4,但我教会用4.0的文档来说,差异应该不会好大
首先当然要启动相应的软件吧,如果没有相应的软件,可以自己去下载,尤其genymotion这个软件,需要注册才可以使用,
配置上面的东西后,在eclipse启动genymotion,打开eclipse视图File Explorer就会显示如下图所示:
展开显示打开到data->data->com.android.provider.contacts,暂时介绍这个先
把contacts.db导出到外面,点中contacts.db按下图按钮,就可以导出,看下图如何导出
把contacts.db导入到sqlite Export Persional中就会显示出来好多张表,如下图所示
由于这个些表是android自带的,我们看完到这里之后,就有必要了解下什么叫contentProvider,另外我们也有必要去了解这里面的表字段有那些,是为了开发做铺垫.另外不仅仅是表,还有几个视图
在说表的字段前面,我们来介绍下Contacts Provider(联系人提供者)
(引用官网的文章)
能翻墙,看英文的童靴就最好自己去看下,不太懂英文,就看写国内的文章,加深对这些概念的理解吧.
The Contacts Provider is a powerful and flexible Android component that manages the device‘s central repository of data about people.
这Contacts Provider 是一个很强大和灵活的Android组件.操控联系人
Contacts Provider Organization(结构图)
主要是有3张表
The three tables are commonly referred to by the names of their contract classes. The classes define constants for content URIs, column names, and column values used by the tables:
ContactsContract.Contacts table
Rows representing different people, based on aggregations of raw contact rows.
ContactsContract.RawContacts table
Rows containing a summary of a person‘s data, specific to a user account and type.
ContactsContract.Data table
Rows containing the details for raw contact, such as email addresses or phone numbers.
The other tables represented by contract classes in ContactsContract are auxiliary tables that the Contacts Provider uses to manage its operations or support specific functions in the device‘s contacts or telephony applications.
raw可以翻译成源(表示来谷歌/百度),就是来自那里的联系人意思吧.
2015-1-2
打开源码路径,自己去下载,别问我怎么下载
D:\adt-bundle-windows-x86-20140321\sdk\sources\android-19\android\provider
看下自己想看的源码类
算了,不想磨磨擦,你们自己剩下自己去自学去吧.
看懂这边文章http://blog.csdn.net/qingye_love/article/details/9028503