Android Widgets開發(fā)入門
Android Widgets開發(fā)入門是本文要介紹的內(nèi)容,主要是來了解Android Widgets實例開發(fā)顯示電源電量widgets,具體內(nèi)容的實現(xiàn)來看本文詳解。
Android開發(fā)的應(yīng)用除了程序應(yīng)用,還有是Widget應(yīng)用。好多人會開發(fā)程序應(yīng)用而不會開發(fā)Widget應(yīng)用。
先簡單說說Widget的原理。widgets是在桌面上的一塊顯示信息的東西,也通過單擊Widget跳轉(zhuǎn)到一個程序里面。而系統(tǒng)自帶的程序,典型的Widget是music,這個Android內(nèi)置的音樂播放小程序。這個是典型的Widget+app應(yīng)用。就是一個程序既可以通過Widget啟動,也可以通過App啟動。
Widget就是一個AppWidgetProvider+一個UI界面顯示(預(yù)先綁定了好多Intent),界面上的信息可以通過程序控制而改變,單擊Widgets,上的控件只能激發(fā)發(fā)送一個Intent,或發(fā)出一個Service的啟動通知。而AppWidgetProvider可以攔截這個Intent,而進行相應(yīng)的處理(比如顯示新的信息)。
我們先來看看AndroidManifest.xml中的代碼:
這里很清楚的可以看出AppWidgetProvider就是一個receiver的東西。
在receiver中
代表了一個widget_provider代碼如下:
這個是Widget的顯示設(shè)置,是對Widget屬性的一個配置文件這個android:minHeight是Widget的高,這個android:minWidth
是Widget的寬。這個android:updatePeriodMillis屬性是設(shè)置Widget頁面的
更新頁面的時間的頻率。而這個android:initialLayout屬性是表示的是初始化頁面的布局,Android里畫UI的地方都是通過xml文件,也可以通過代碼程序來畫,不過這樣畫的太麻煩了。
建一個類BatteryMonitor繼承于AppWidgetProvider,而AppWidgetProvider繼承與android.content.BroadcastReceiver,所以TestAppWidget就是一個攔截處理Intent的BroadcastReceiver,這些Intent只能在Androidmainfest里設(shè)置來攔截處理。
在onUpdate中設(shè)置窗口界面:
啟動一個服務(wù)來更新電源電量:
- context.startService(new Intent(context, BatteryMonitorReceiver.class));
在xml中注冊服務(wù)。
代碼下載地址:http://files.cppblog.com/AutomateProgram/BatteryMonitor.rar
小結(jié):Android Widgets開發(fā)入門的內(nèi)容介紹完了,希望通過Android Widgets的學(xué)習(xí)能對你有所幫助!