1. 程式人生 > >android學習日記之provider,service,widget

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物件,無法直接互動

PsstartService負責告訴系統我可以獨立執行

BindService:

1.啟動時建立一次,和啟動service的物件繫結,物件結束,service也結束

2.呼叫的是onBind方法,回傳一個實現IBinder介面的物件,此物件傳回ServiceConnection的回撥方法。

3.通過BindService啟動的物件,在啟動類和service類之間建立了一個IBinder介面的物件,它是類似於一個管道的物件,可以通過這個管道和service進行直接互動。

PsbindService負責和指定的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檔案中,新增小元件的更新和使用者操作的實現