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