AppWidgetProviderInfo对象:

      为App Widget提供元数据(描述数据的数据,如XML、关系型数据的表结构),包括布     局,更新频率等数据。这个对象被定义在XML文件当中;

  AppWidgetProvider:

    定义了App Widget的基本生命周期函数;

onUpdate:在到达指定的更新时间之后或者当用户向桌面添加App Widget时会调用该方法。

onDeleted:当App Widget被删除时,会调用该方法

onEnabled:当一个App Widget的实例第一次被创建时,会调用该方法。

onDisabled:当最后一个App Widget实例被删除后,会调用该方法。

onReceive:接收广播事件

  添加一个App Widget基本步骤:

首先在res文件件下新建一个xml文件夹,在此文件夹下新建XML文件(example_appwidget_info.xml)为AppWidgetProviderInfo对象提供数据,xml文件关联了一个布        局文件(example_appwidget.xml),此布局文件就定义了在桌面上显示那些内容,如下:

      <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
        android:minWidth="234dp"
        android:minHeight="72dp"
        android:updatePeriodMillis="86000000"
        android:initialLayout="@layout/example_appwidget">
      </appwidget-provider>

    然后需要在AndroidManifest.xml中声明一个receiver,receiver如下:

      <receiver android:name="ExampleAppWidgetProvider">
        <intent-filter >
          <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
        </intent-filter>
        <meta-data android:name="android.appwidget.provider"
          android:resource="@xml/example_appwidget_info"/>
      </receiver>

    example_appwidget.xml内容如下:

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        <TextView
          android:id="@+id/textId"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="first AppWidget"
          android:background="#000000"/>
      </LinearLayout>

  声明一个ExampleAppWidgetProvider类继承自AppWidgetProvider,如下:

    public class ExampleAppWidgetProvider extends AppWidgetProvider{

      @Override
      public void onDeleted(Context context, int[] appWidgetIds) {
        // TODO Auto-generated method stub
        super.onDeleted(context, appWidgetIds);
      }

      @Override
      public void onDisabled(Context context) {
        // TODO Auto-generated method stub
        super.onDisabled(context);
      }

      @Override
      public void onEnabled(Context context) {
        // TODO Auto-generated method stub
        super.onEnabled(context);
      }

      @Override
      public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        super.onReceive(context, intent);
      }

      @Override
      public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {
          // TODO Auto-generated method stub
          super.onUpdate(context, appWidgetManager, appWidgetIds);
      }

App Widget的更多相关文章

  1. App Widget简单应用

    首先后台进程创建一个PendingIntent对象,其中PendingIntent中包含一个真正的Intent,创建完成后将此PendingIntent对象交给桌面控件所在的进程,当用户点击桌面控件或 ...

  2. 一个App Widget实例第一次创建时被调用

    事实上已经有很多的所谓的路由框架做到这一点,我也没有去研究别的,加上一直对backbone这个框架的评价不错,所以就琢磨着怎么用它实现我所需要的SPA的url管理了. 比如,你可能会说"如果 ...

  3. APP Widget的开发

    Android中经常用到APP Widget,如时钟,天气预报等. 长按屏幕,在弹出的对话框中选择“窗口小部件”,然后就列出了可选择的小部件,这些小部件就是APP Widget. 本文开发一个APP ...

  4. Android 之窗口小部件详解--App Widget

    Android 之窗口小部件详解--App Widget  版本号 说明 作者 日期  1.0  添加App Widge介绍和示例  Sky Wang 2013/06/27        1 App ...

  5. Android开发之创建App Widget和更新Widget内容

    App WidgetsApp Widgets are miniature application views that can be embedded in other applications (s ...

  6. android app widget 创建调用周期

    1 ?Android widget 大小问题 2 ?RemoteViewService Android开发历程_15(AppWidget的使用) Appwidget就是手机应用中常常放在桌面(即hom ...

  7. [安卓开发]App Widget开发入门指导

    本节所要讲的主要内容包括Android桌面小部件.App Widget的开发入门指导,并通过一个简单实例的形式来直观的讲解App Widget. 一.Widget .App Widget .Web A ...

  8. Android App Widget的简单使用

    App Widget是一些桌面的小插件,比如说天气和某些音乐播放应用,放到桌面去的那部分: 例如: 实现步骤及代码如下: (1)首先,在AndroidManifest.xml中声明一个App Widg ...

  9. Android 之窗口小部件高级篇--App Widget 之 RemoteViews - 跨到对岸去

    在之前的一篇博文( Android 之窗口小部件详解--App Widge t)中,已经介绍了App Widget的基本用法和简单实例.这篇主要讲解 App Widget 的高级内容,即通过 Remo ...

随机推荐

  1. 【转】POJ题目分类推荐 (很好很有层次感)

    OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期: 一. ...

  2. 在Excel中把横行与竖列进行置换、打勾号

    在Excel中把横行与竖列进行置换:复制要置换的单元,在新的单元上右键->选择性复制,会出现对话框,选中“置换”,即可在Excel中打勾号,左手按住ALT不放,右手在小键盘也就是右边的数字键盘依 ...

  3. scrapy 和 scrapy_redis 安装

    安装sqlslte,scrapy需要这个模块 yum install sqlite-devel python3.5 下载包自己编译安装 ./configure make make install 自带 ...

  4. 【四】搭建Markdown的编辑器

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  5. ant 自动化编译

    bulid.xml配置: <?xml version="1.0" encoding="UTF-8" ?> <project name=&quo ...

  6. ReactJS入门(二)—— 组件的生命周期

    如果你熟悉avalon,使用过 data-include-rendered 和 data-include-loaded 等回调方法,那么你会很好地理解React组件的各个生命周期. 说白了其实就是Re ...

  7. Linux 自动同步服务器时间

    200 ? "200px" : this.width)!important;} --> 介绍 Linux服务器运行久时,系统时间就会存在一定的误差,本篇文章就来介绍怎样使服务 ...

  8. Tomcat 让百度的域名显示自己的页面内容(玩耍篇)

    步骤一:在 C:\Windows\System32\drivers\etc目录下的Hosts文件中添多一个条目,如下图, 第二步:在server.xml文件中做响应配置,如下图 然后在Host节点中进 ...

  9. AD域内DNS服务器如何解析公网域名

    原创地址:http://www.cnblogs.com/jfzhu/p/4022999.html 转载请注明出处 AD域内需要有DNS服务器,用于解析域内的计算机名,但是域内的计算如何解析公网的域名呢 ...

  10. Unsupported major.minor version 51.0

    org/jboss/as/domain/management/security/adduser/AddUser : Unsupported major.minor version 51. 0 已编译好 ...