Jollen 的 Android 教學,#19: 什麼是App Widget?

jollen 發表於 July 10, 2009 5:46 PM

App Widget是Cupcake(Android 1.5)所提供的一個功能,這是一個很實用而且能有很大創意想像空間的功能。什麼是App Widget呢?請看底下的操作示範。

在Android桌面長壓約3秒,出現一個選單,如圖1。

app-widget
圖1:新增項目至桌面

2. 選擇「Widget」,加入”HelloWidget”

app-widget
圖2:加入自行設計的Widget

桌面上出現了一個「Widget」

app-widget
圖3:在Android桌面上出現我們自已設計的App Widget

app-widget
圖4:加入了音樂撥放器App Widget至桌面

這就是App Widget的應用,可以將一個小塊程式(program piece)嵌入到桌面上。App Widget也是一種UI組件,先前所介紹的TextView、WebView等也泛稱為Widget,二者在應用上的差異該怎麼思考呢?以下是幾點看法:

1. App Widget是有生命的UI組件,他會自動更新本身的內容
2. Widget是沒有生命的UI組件,它不會自我更新,只能等待使用者的操作
3. 應用上,App Widget能提供不斷更新的內容,很適合用來設計天氣、時鐘、新聞等主動式應用程式
4. Widget應用上只用來製作UI,而UI因為只能等待使用者來操作,所以過去我們所撰寫的Android應用程式都是屬於被動式應用程式

讓App Widget能「主動」更新自身內容的方法是透過一個「時間觸發裝置」,Android框架會根據我們設定的時間間隔,不斷地callback我們的App Widget。後續將再說明App Widget的做法,並解釋這個部份。

讀者留言 (0)

我要留言

為了防止spam攻撃,按「發表」後請輸入帳號密碼。使用者帳號:「nospam」、密碼:「nospam」。當然,您發表的意見將被立即接受。

已儲存成功

謝謝!

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。