widget就是android桌面小空间.
开发流程大概是:
1.在manifest中注册监听widget更新:
<receiver android:name="com.widget.WidgetProvider" android:label="@string/app_name" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_confige" />//配置信息 </receiver>
2.在res/下新建xml文件夹,在其下新建配置文件,名称为widget_confige(任意命)配置信息如下:
<?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:initialLayout="@layout/widget_layout" android:minHeight="72dp" android:minWidth="72dp" android:updatePeriodMillis="3000" > </appwidget-provider>
3.新建类继承appwidgetProvider类,重写onupdate方法:
package com.widget; import java.util.Calendar; import com.example.widgetdemo.R; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.widget.RemoteViews; //主要继承这个类appwidgetProvider //onupdate方法 public class WidgetProvider extends AppWidgetProvider { private String[] Months = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" }; @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 RemoteViews updateViews = buildUpdate(context); appWidgetManager.updateAppWidget(appWidgetIds, updateViews); super.onUpdate(context, appWidgetManager, appWidgetIds); } private RemoteViews buildUpdate(Context context) { RemoteViews updateViews = null; Calendar calendar = Calendar.getInstance(); String months = Months[calendar.get(Calendar.MONTH)]; //获取widget布局 updateViews = new RemoteViews(context.getPackageName(), R.layout.widget_layout); //为布局空间设置内容 updateViews.setTextViewText(R.id.Month, months); updateViews.setTextViewText(R.id.Date, String.valueOf(calendar.get(Calendar.DATE))); //点击控件跳转到指定activity Intent i = new Intent(); i.setComponent(new ComponentName("com.example.widgetdemo", "com.example.widgetdemo.MainActivity")); i.setAction(Intent.ACTION_MAIN); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); i.addCategory(Intent.CATEGORY_LAUNCHER); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, i, 0); updateViews.setOnClickPendingIntent(R.id.bt, pendingIntent); return updateViews; } }
相关推荐
Android小部件(Widgets)是Android操作系统提供的一种特性,允许开发者在用户的主屏幕上...在"widget.pptx"和"MyWidget"这两个文件中,你可能会找到更详细的步骤和示例代码,帮助你更好地理解和实现这个教程的内容。
包含的各种控件都有截图: Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)!.doc、 SeekBar(SeekBar)的使用.doc、 Spinner(Spinner)的使用.doc、 Tab与TabHost.pdf、 按钮(Button)的使用.doc、 单选框(RadioButton)的...
在本入门教程中,我们将逐步学习如何创建一个基本的AppWidget,并实现与客户端应用程序的交互。 **一、创建简单的AppWidget** 1. **定义AppWidget配置文件** 首先,我们需要在`res/xml`目录下创建一个XML文件,...
### 诺基亚Web Widget开发入门 #### 1. 概述 本文档旨在为开发者提供诺基亚Web Run-Time (WRT) 平台下的Widget开发基础信息。通过本指南,开发者能够学习如何创建、测试以及部署适用于诺基亚设备的Widgets。文档...
在Widget开发中,通常会声明一个新的Widget类,继承自Dojo的基础Widget类,如`dijit/_WidgetBase`。 2. **templateString或templatePath**: Widget的HTML结构通常由模板字符串(templateString)或模板路径...
诺基亚Web Widget开发入门及实例是一份专为开发者准备的详细教程,旨在引导初学者进入诺基亚手机上的Widget应用程序开发领域。Widget是小型、轻量级的应用程序,可以在移动设备的主屏幕上运行,提供快捷的功能访问或...
《Widget制作入门攻略》是一本专为初学者设计的教程,旨在帮助读者快速掌握Widget的制作技巧。在本文中,我们将深入探讨Widget的基本概念、开发环境的搭建、UI设计、功能实现以及发布流程等关键知识点。 首先,让...
### BlackBerry Widget 开发入门知识点详解 #### 背景知识:Widget 技术与 BlackBerry 平台 **Widget 技术概述**: - **定义**:Widget 是一种轻量级的应用程序,通常用于桌面或移动设备上显示实时信息或执行简单...
Nokia_Widget开发入门(中文)和范例
制作widget的入门级别书目~可供参考~雅虎widget
#### 一、入门:了解Widget与Yahoo!奇摩Widget Engine Widget是一种小型应用程序,主要用于桌面环境,提供各种功能如天气预报、新闻摘要等。Yahoo!奇摩Widget Engine则是Yahoo开发的一个平台,允许用户通过XML和...
本文将详细介绍如何基于OPhone平台进行Mobile Widget的开发环境搭建及简单示例,帮助开发者快速入门。 #### OPhone Mobile Widget开发概述 OPhone是一款基于Android系统定制的操作系统,支持多种应用程序的开发,...
Wowchemy Widget入门模板想要构建和发布尚不存在的小部件? 可以轻松轻松地免费创建一个漂亮的网站。在Markdown,Jupyter或RStudio中编辑您的网站,使用Hugo生成它,并使用GitHub或Netlify进行部署。使用窗口小...
Wowchemy Widget入门模板 想要构建和发布尚不存在的小部件? 可以轻松轻松地免费创建一个漂亮的网站。 在Markdown,Jupyter或RStudio中编辑您的网站,使用Hugo生成它,并使用GitHub或Netlify进行部署。 使用...
Wowchemy Widget入门模板 想要构建和发布尚不存在的小部件? 可以轻松轻松地免费创建一个漂亮的网站。 在Markdown,Jupyter或RStudio中编辑您的网站,使用Hugo生成它,并使用GitHub或Netlify进行部署。 使用...
Wowchemy Widget入门模板想要构建和发布尚不存在的小部件? 可以轻松轻松地免费创建一个漂亮的网站。 在Markdown,Jupyter或RStudio中编辑您的网站,使用Hugo生成它,并使用GitHub或Netlify进行部署。 使用窗口...
Wowchemy Widget入门模板 想要构建和发布尚不存在的小部件? 可以轻松轻松地免费创建一个漂亮的网站。 在Markdown,Jupyter或RStudio中编辑您的网站,使用Hugo生成它,并使用GitHub或Netlify进行部署。 使用...
- `Samsung_Mobile_Widget_Development_Guide_1.0.0.20090814.pdf`:这份文档是三星Widget的开发入门指导,详细介绍了如何构建和优化Widget,包括基本的编程语言、API使用、UI设计原则以及性能调优。开发者可以通过...
本教程将带你从零基础开始,一步步创建一个简单的天气预报Widget,虽然最终的界面可能略显朴素,但非常适合初学者作为入门实践。 首先,我们需要了解Android Widget的基本构成。一个Widget通常由一个`...