1.Widget觀念
widget就是在Home Screen顯示的元件,它只是View的一種,所以可以使用xml來設計layout。你可以設計一個在背景執行的Service,讓它定時去Update這個Widget。此外畫面的設計可以參考Dev手冊中的說明,尺寸的設計則有一個公式:最小尺寸(dip) = (格子數 * 74) - 2。所謂的格子是指,Home Screen中劃分成4*4的格子,所以你的widget要佔滿幾個格子,就可以用這個公式去算出你的widget的尺寸,例如,要佔滿2格,就是(2*74)-2=146dip。
2.開發流程
AppWidgetProviderInfo:描述App Widget的metadata。
實作AppWidgetProvider:接收並處理廣播事件,例如OnUpdate()。
View Layout:設計widget所要呈現的UI。
Configuration Activity:非必要。
設定AndroidManifest檔。
2.1 AppWidgetProviderInfo
在/res下增加一個xml目錄。然後增加一個xml檔,Eclipse中的做法:在xml目錄上按右鍵→New→Android XML File→選擇"AppWidget Provider"→打入檔名。
AppWidgetProviderInfo XML檔的目的,是要描述這個Widget的尺寸、更新的頻率、Layout及非必要的Configuration Activity設定。
請設定其寬及高的尺寸(依之前介紹的公式),然後你必須新增一個Layout用的xml,放在/layout目錄中,並在此設定選擇這個Layout檔。更新頻率是以毫秒計,所以1000表示1秒更新一次。手冊上是建議不要太頻繁,以免太耗電。
2.2實作AppWidgetProvider
新增一個類別,並繼承AppWidgetProvider,然後覆寫onUpdate()方法。通常會在其中啟動Service來做想要做的事。這裡要知道兩個類別:AppWidgetManager及RemoteViews。
RemoteViews是用來更新widget的顯示畫面,例如:RemoteViews有一個setTextViewText()的方法,可以設定Widget中的TextView。它會傳入widget中的TextView的Id,及要顯示的字串,等同於呼叫那個Vidw的setText()方法,來設定文字。
AppWidgetManager則是用來把你的AppWidgetProvider和RemoteViews做連結。
2.3View Layout
設計widget所要呈現的UI,在2.1中被指定。
2.4Configuration Activity
這是非必要的。如果你希望使用者在加入Widget到Home Screen之前要先做一些設定的話,可以增加一個Activity來執行,它會在widget加入到Home Screen之前先跳出來。
2.5設定AndroidManifest檔
因為AppWidgetProvider類別是BroadcastReceiver的子類別,所以在<application>元素內增加一個<receiver>指定到2.2所建的自定AppWidgetProvider。在其中增加一個Intent filter來抓取"android.appwidget.action.APPWIDGET_UPDATE"的Action。
在<receiver>下再新增一個<meta-data>名為"android.appwidget.provider",resource則是設定為/xml目錄下的AppWidgetProviderInfo XML檔。
接著,不要忘記為你的Service或Activity做設定。
結語
以上是整個Widget的開發流程中要注意的事項,如果搭配一個"飯粒",想必你就能瞭解。下面的參考資料中有個"How to ......"的連結,裡面有個Widget教學,你可以去下載它的範例,另外,Android SDK中的API Demo中也有。
分享到:
相关推荐
这个“android 源码 android Widget开发案例 eclipse项目 直接导入”是一个很好的学习资源,帮助开发者深入理解如何构建和定制Widget。通过Eclipse IDE可以直接导入该项目,快速开始学习。 首先,我们需要了解...
以上就是一个简单的Android音乐播放器App Widget的开发流程。在实际应用中,你可能需要考虑更多细节,如优化更新频率以节省电量,处理多个实例的同步问题,以及提供更丰富的交互功能。通过深入学习和实践,你可以...
Android Widget开发学习教程主要涵盖了如何创建和配置一个基本的Widget,包括以下几个关键步骤: 1. **创建AppWidgetProvider子类**: 一个Android Widget的核心是`AppWidgetProvider`类,它是BroadcastReceiver的...
本示例源码提供了学习Android Widget开发的实战案例,你可以通过阅读和调试代码来加深理解。同时,结合Android官方文档和其他在线教程,将有助于你更好地掌握Widget开发的精髓。 总之,Android Widget小组件开发是...
三、Widget开发流程 1. 创建AppWidgetProvider:在AndroidManifest.xml中声明并配置AppWidgetProvider。 2. 设计布局:创建XML布局文件,定义Widget的外观和交互元素。 3. 配置AppWidgetProviderInfo:在XML资源文件...
# Android Widget开发代码示例详细说明 ## 一、概览 ...通过以上对`SynWidgetProvider`的详细分析,我们可以了解到Widget开发的基本流程和技术要点,这对于理解Android Widget的工作机制是非常有帮助的。
3. **Widget开发流程** - 创建AppWidgetProvider类:定义Widget的行为,重写onReceive()方法处理特定的Broadcast事件。 - 设计Widget布局:使用XML布局文件定义Widget的外观和结构。 - 设置AppWidgetProviderInfo...
在Android操作系统中,Widget是应用程序在主屏幕或通知中心提供的一种小型用户界面组件。它们可以为用户提供快捷方式...实践过程中,开发者还需要熟悉Android Studio的开发环境和相关工具,以便更高效地进行开发工作。
在Android开发中,Widget是应用在主屏幕上的小型视图,它们可以提供用户与应用程序的快速交互。本主题主要探讨如何实现一个Android Widget,当用户点击Widget时,它能够打开一个新的界面,展示一个ListView,该...
在Android开发中,UI(用户界面)是与用户交互的核心部分,Widget是构成这一界面的重要元素。本主题“Android_UI_Widget”将深入探讨Android中Widget的相关知识,包括它们的种类、功能、使用方法以及如何进行自定义...
在Android开发中,Widget是应用于桌面的小部件,它允许用户在主屏幕上直接与应用程序进行交互,而无需打开应用程序本身...在考试或实际工作中,熟练掌握Widget开发能够提升应用的用户体验,增强应用程序的桌面存在感。
在这里,我们将详细探讨Android Widget的开发过程以及涉及到的关键知识点。 首先,我们要了解Android Widget的基础架构。Widget是由AppWidgetProvider类作为核心控制器,它负责监听用户的交互事件,如点击、更新等...
在Android操作系统中,Widget是应用程序在主屏幕上的小型视图,允许用户与应用程序进行交互而无需实际打开应用。深入理解Android ...在实际开发过程中,不断调试、测试和优化,才能真正掌握Android Widget的精髓。
开发流程通常如下: 1. **创建布局**:设计小部件的UI,包括文本、图像、按钮等元素,使用XML布局文件定义。 2. **实现AppWidgetProvider**:继承自AppWidgetProvider,重写onReceive()方法,根据接收到的意图执行...
- **AndroidWidget项目**:这个压缩包中的示例可能包含一个完整的Android项目,包括src代码、res资源文件和AndroidManifest.xml配置文件。 - **主要类**:通常会有一个名为WidgetProvider的AppWidgetProvider子类...
3. **Logcat**: 分析日志,查看AppWidget更新过程中可能出现的问题。 4. **Intent调试**: 使用`adb shell am broadcast`命令手动发送广播,测试Widget更新逻辑。 综上所述,AppWidget的更新涉及多个关键组件和步骤...
这个压缩包“安卓开发-android Widget小组件开发.zip”很可能是包含一系列教程、代码示例或文档,帮助开发者学习如何创建自定义的Android Widget。 Widget主要分为两种类型:AppWidget和Shortcut。AppWidget是可以...