android 四大组件之 Content Provider
这是android第四大组件了,字面意思就是数据提供者。在android一个应用所自拥有的数据,内容等信息,是不能被第三方轻易访问的。但是通信又是必不可少,所以android提供了这种方式,让其他程序按照某种规则进行相互通信。要不然程序就失去了可扩展性,各玩各的,这个不是程序设计的王道。
如何使用content provider 打开让其他程序访问的窗口?通过派生contentProvider类,封装成一个自己的content provider, 每个content provider都有一个独立的uri 作为标识。 content provider提供基本的数据操作,如排序和选择,返回的结果是cursor,这里和操作sqlite像是,查找sqlite的时候,也是返回一个cursor。为什么要android 要提供这种功能?我想不仅仅是解决了程序间的相互通信问题,还是解决了保密性的问题。自己的程序对外只暴露了访问数据的接口,屏蔽了数据的详细信息,而且数据的调用者也刚到非常方便。
注意,这里注册信息:
在AndroidManifest.xml中使用<provider>对ContentProvider进行配置注册(内容提供者注册它自己就像网站注册域名),ContentProvider采用authoritie(原意授权,可理解为域名)作为唯一标识,方便其他应用能找到
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <!-- authorities属性命名建议:公司名.provider.SomeProvider--> <provider android:name=".PersonProvider" android:authorities="com.bravestarr.provider.personprovider"/> ... </application>
自此,android四大组件已经介绍完毕。这里只是从理论和一些简单的知识方面来介绍了android的四大组件,为了便于理解。在接下的来篇章中,会用code来具体说明每个组件的实际使用。
浙公网安备 33010602011771号