Android编程中的四大基本组件与生命周期详解

2019-12-10 19:42:52于丽

这些方法中的Uri参数,得到后需要进行解析然后做对应处理,Uri表示要操作的数据,包含两部分信息:

1.需要操作的contentprovider

2.对contentprovider中的什么数据进行操作,一个Uri格式:结构头://authorities(域名)/路径(要操作的数据,根据业务而定)

content://com.bravestarr.provider.personprovider/person/10

说明:contentprovider的结构头已经由android规定为content://

authorities用于唯一标识这个contentprovider程序,外部调用者可以根据这个找到他

路径表示我们要操作的数据,路径的构建根据业务而定.路径格式如下:

要操作person表行号为10的记录,可以这样构建/person/10

要操作person表的所有记录,可以这样构建/person

2> 在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>

关于四大基本组件的一个总结:

1>  4大组件的注册

4大基本组件都需要注册才能使用,每个Activity、service、Content Provider内容提供者都需要在AndroidManifest文件中进行配置AndroidManifest文件中未进行声明的activity、服务以及内容提供者将不为系统所见,从而也就不可用,而BroadcastReceive广播接收者的注册分静态注册(在AndroidManifest文件中进行配置)和通过代码动态创建并以调用Context.registerReceiver()的方式注册至系统。需要注意的是在AndroidManifest文件中进行配置的广播接收者会随系统的启动而一直处于活跃状态,只要接收到感兴趣的广播就会触发(即使程序未运行)

AndroidManifest文件中进行注册格式如下: