什么是AppWidget

  AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序,先看图:

          大学生就业培训,高中生培训,在职人员转行培训,企业团训      大学生就业培训,高中生培训,在职人员转行培训,企业团训

  图中我用黄色箭头指示的即为AppWidget,一些用户使用比较频繁的程序,可以做成AppWidget,这样能方便地使用。典型的程序有时钟、天气、音乐播放器等。AppWidget 是Android 系统应用开发层面的一部分,有着特殊用途,使用得当的化,的确会为app 增色不少,它的工作原理是把一个进程的控件嵌入到别外一个进程的窗口里的一种方法。长按桌面空白处,会出现一个 AppWidget 的文件夹,在里面找到相应的 AppWidget ,长按拖出,即可将 AppWidget 添加到桌面,

 

如何开发AppWidget

  AppWidget 是通过 BroadCastReceiver 的形式进行控制的,开发 AppWidget 的主要类为 AppWidgetProvider, 该类继承自 BroadCastReceiver。为了实现桌面小部件,开发者只要开发一个继承自 AppWidgetProvider 的子类,并重写它的 onUpdate() 方法即可。重写该方法,一般来说可按如下几个步骤进行:

  1、创建一个 RemoteViews 对象,这个对象加载时指定了桌面小部件的界面布局文件。

  2、设置 RemoteViews 创建时加载的布局文件中各个元素的属性。

  3、创建一个 ComponentName 对象

  4、调用 AppWidgetManager 更新桌面小部件。

 

  下面来看一个实际的例子,用 Android Studio 自动生成的例子来说。(注:我用的是最新版的 AS 2.2.3,下面简称 AS。)

  新建了一个 HelloWorld 项目,然后新建一个 AppWidget ,命名为 MyAppWidgetProvider,按默认下一步,就完成了一个最简单的AppWidget的开发。运行程序之后,将小部件添加到桌面。操作步骤和默认效果如下:

  大学生就业培训,高中生培训,在职人员转行培训,企业团训  大学生就业培训,高中生培训,在职人员转行培训,企业团训

  

  我们看看 AS 为我们自动生成了哪些代码呢?对照着上面说的的步骤我们来看看。

  首先,有一个 MyAppWidgetProvider 的类