天天看點

android學習日記之provider,service,widget

所有文檔及執行個體均為老師編寫歸納,版權均歸我的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檔案中,添加小元件的更新和使用者操作的實作

android學習日記之provider,service,widget