Service使用步骤如下

  1>继承service类

  2>AndroidManifast.xml配置清单文件中节点里对服务进行配置

  服务不能自己运行,需要通过Contex.startService()或Contex.bindService()启动服务

  通过startService()方法启动的服务于调用者没有关系,即使调用者关闭了,服务仍然运行想停止服务要调用Context.stopService(),此时系统会调用onDestory(),使用此方法启动时,服务首次启动系统先调用服务的onCreate()-->onStart(),如果服务已经启动再次调用只会触发onStart()方法

  使用bindService()启动的服务与调用者绑定,只要调用者关闭服务终止,使用此方法启动时,服务首次启动系统先调用服务的onCreate()-->onBind(),如果服务已经启动再次调用不会再触发这2个方法,调用者退出时系统会调用服务的onUnbind()-->onDestory(),想主动解除绑定可使用Contex.unbindService(),系统依次调用onUnbind()-->onDestory();

  Content Provider内容提供者 :

  android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式,

  其他应用可以通过ContentResolver类(见ContentProviderAccessApp例子)从该内容提供者中获取或存入数据.(相当于在应用外包了一层壳),

  只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中

  它的好处:统一数据访问方式。

  android系统自带的内容提供者(的表示数据库名,非的都是表名)这些内容提供者在SDK文档的android.provider Java包中都有介绍。见:http://developer.android.com/reference/android/provider/package-summary.html

  ├────Browser

  ├────CallLog

  ├────Contacts

  │ ├────Groups

  │ ├────People

  │ ├────Phones

  │ └────Photos

  ├────Images

  │ └────Thumbnails

  ├────MediaStore

  │ ├────Albums

  │ ├────Artists

  │ ├────Audio

  │ ├────Genres

  │ └────Playlists

  ├────Settings

  └────Video

  CallLog:地址和接收到的电话信息

  Contact.People.Phones:存储电话号码

  Setting.System:系统设置和偏好设置

  使用Content Provider对外共享数据的步骤