什么是AppWidget

  AppWidget 即桌面小部件,也叫桌面控件,就是能直接顯示在Android系統(tǒng)桌面上的小程序,先看圖:

          大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團訓(xùn)      大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團訓(xùn)

  圖中我用黃色箭頭指示的即為AppWidget,一些用戶使用比較頻繁的程序,可以做成AppWidget,這樣能方便地使用。典型的程序有時鐘、天氣、音樂播放器等。AppWidget 是Android 系統(tǒng)應(yīng)用開發(fā)層面的一部分,有著特殊用途,使用得當(dāng)?shù)幕?,的確會為app 增色不少,它的工作原理是把一個進程的控件嵌入到別外一個進程的窗口里的一種方法。長按桌面空白處,會出現(xiàn)一個 AppWidget 的文件夾,在里面找到相應(yīng)的 AppWidget ,長按拖出,即可將 AppWidget 添加到桌面,

 

如何開發(fā)AppWidget

  AppWidget 是通過 BroadCastReceiver 的形式進行控制的,開發(fā) AppWidget 的主要類為 AppWidgetProvider, 該類繼承自 BroadCastReceiver。為了實現(xiàn)桌面小部件,開發(fā)者只要開發(fā)一個繼承自 AppWidgetProvider 的子類,并重寫它的 onUpdate() 方法即可。重寫該方法,一般來說可按如下幾個步驟進行:

  1、創(chuàng)建一個 RemoteViews 對象,這個對象加載時指定了桌面小部件的界面布局文件。

  2、設(shè)置 RemoteViews 創(chuàng)建時加載的布局文件中各個元素的屬性。

  3、創(chuàng)建一個 ComponentName 對象

  4、調(diào)用 AppWidgetManager 更新桌面小部件。

 

  下面來看一個實際的例子,用 Android Studio 自動生成的例子來說。(注:我用的是最新版的 AS 2.2.3,下面簡稱 AS。)

  新建了一個 HelloWorld 項目,然后新建一個 AppWidget ,命名為 MyAppWidgetProvider,按默認(rèn)下一步,就完成了一個最簡單的AppWidget的開發(fā)。運行程序之后,將小部件添加到桌面。操作步驟和默認(rèn)效果如下:

  大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團訓(xùn)  大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團訓(xùn)

  

  我們看看 AS 為我們自動生成了哪些代碼呢?對照著上面說的的步驟我們來看看。

  首先,有一個 MyAppWidgetProvider 的類

網(wǎng)友評論