您的位置:首页 > 移动开发 > Android开发

android学习日记之provider,service,widget

2016-07-17 12:47 302 查看
所有文档及实例均为老师编写归纳,版权均归我的Android老师所有,如有侵权即删

一、provider

ContentProvider:

数据共享(数据提供者)

1.      ContentProvider如何实现数据共享

2.      如何操作ContentProvider

二、service

Service:

启动方式:

1.      如何启动Service:创建一个intent对象,指定启动的service(显式,隐式),隐式启动只需要指定action。

2.      2种启动方式:startService,bindService

3.      如何创建service:参考activity,先创建service继承类,然后在清单文件中声明

 

StartService:

1.      启动时创建一次,只要不手动回收service,该service和应用进程同时存在

2.      调用的是onStartCommand,每次调用会自动生成一个新的startId。

3.      通过StartService启动的service,无法获取service对象,无法直接交互

Ps:startService负责告诉系统我可以独立运行

BindService:

1.启动时创建一次,和启动service的对象绑定,对象结束,service也结束

2.调用的是onBind方法,回传一个实现IBinder接口的对象,此对象传回ServiceConnection的回调方法。

3.通过BindService启动的对象,在启动类和service类之间创建了一个IBinder接口的对象,它是类似于一个管道的对象,可以通过这个管道和service进行直接交互。

Ps:bindService负责和指定的service建立IBinder连接管道

三、widget

如何为应用添加一个小组件

1.      创建一个class继承自AppWidgetProvider。(AppWidgetProvider实际上就是一个receiver)

2.      在清单文件中,注册这个widget,用receiver注册

3.      在清单文件中为这个receiver添加intent-filter属性,必须声明一个action,action必须是” android.appwidget.action.APPWIDGET_UPDATE”

4.      在清单文件中为这个receiver添加meta-data属性,在其中声明2个属性,android:name=” android.appwidget.provider”, android:resource="widget说明文件"

5.      widget说明文件:用了描述widget。在res目录下新建xml文件夹

6.      在新建的xml文件中声明widget属性

android:minWidth="294dip"最小宽度
android:minHeight="72dip"最小高度
android:updatePeriodMillis="0"更新周期
android:initialLayout="@layout/album_appwidget"小组件布局

7.      创建小组件布局文件(album_appwidget)

8.      在最初创建的class java文件中,添加小组件的更新和用户操作的实现

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: