什么是appwidget? 即application widget。 应用程序控件,就是在桌面显示的控件。AppWidget就是我们平常在桌面上见到的那种一个个的小控件,利用这个小控件可以给用户提供一些方便快捷的操作。
本次创建一个简单的appwidget。
相关概念:
1、AppWidgetProviderInfo对象:它是一个xml文件,为appWidget提供元数据,包括布局,更新频率等数据。这个对象定义在xml中。
2、AppWidgetProvider: 定义了appwidget的基本生命周期函数。
不多说,一切尽在代码:
1、在layout中新建一个appwidgetlayout.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout
没什么多说的,只是一个textview。这个是我们的应用程序在桌面的控件。
2、在res中新建一个xml包,在这个包中新建一个appwidget_info.xml文件。
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/appwidgetlayout"
/>
这个xml为appwidget提供元数据,这个是在桌面的布局,而这个layout(appwidgetlayout)为在appwidget中控件的布局。
3、在包下新建我们的provider,他继承了AppWidgetProvider,我们只需要对它的生命周期进行处理就行了。
public class AppWidgetprovider extends AppWidgetProvider {
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
// TODO Auto-generated method stub
System.out.println("onDeleted");
super.onDeleted(context, appWidgetIds);
}
@Override
public void onDisabled(Context context) {
// TODO Auto-generated method stub
System.out.println("onDisable");
super.onDisabled(context);
}
@Override
public void onEnabled(Context context) {
// TODO Auto-generated method stub
System.out.println("onEnable");
super.onEnabled(context);
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
System.out.println("onreceive");
super.onReceive(context, intent);
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
System.out.println("onUpdate");
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
}
4、在AndroidManifest.xml中进行配置,由于这个appwidget使用的是广播机制,我们需要在AndroidManifest.xml中进行如下配置:
<receiver android:name="AppWidgetprovider">
<intent-filter >
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidget_info"
/>
</receiver>
通过过滤器我们截取APPWIDGET_UPDATE这个action,然后对provider进行资源配置,对应的刚刚那个xml中的文件。
现在我们先把它给跑起来,然后慢慢调试,观察对它操作的事件对应的周期函数。。。
他的周期函数我们讲在下次课讲。
打完收工!
分享到:
相关推荐
在Android平台上,AppWidget是能够将小部件添加到用户主屏幕上的迷你应用程序,它们提供了一种无需打开完整应用即可展示信息或执行简单操作的方式。本文将深入探讨Android AppWidget的第四部分,主要关注如何更新App...
在Android开发中,AppWidget是桌面小部件,它允许用户在主屏幕上与应用程序进行交互,而无需实际打开应用。在本篇博文中,我们将深入探讨如何在AppWidget中启动一个新的Activity,这通常是为了提供更丰富的用户体验...
在Android开发中,`appWidget` 是一种可以在用户主屏幕上显示的小部件,它提供了一种无需打开应用程序就能与用户交互的方式。本篇文章将深入探讨如何使用`appWidget`来启动一个`Activity`。 首先,我们需要了解`app...
**Android之AppWidget详解** AppWidget是Android操作系统提供的一种组件,允许开发者在用户主屏幕上创建小型应用程序,这些小部件无需用户直接启动应用就能显示和交互。AppWidget为用户提供了一种快速访问应用功能...
在Android平台上,AppWidget是Android系统提供的一种小部件功能,允许开发者创建可以在用户主屏幕上显示的小应用程序。AppWidgets虽然小巧,但能为用户提供便捷的功能访问,例如天气预报、音乐播放控制等。本教程将...
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> android:name="android.appwidget.provider" android:resource="@xml/app_widget_info" /> <service android:name="....
Android AppWidget是Android系统提供的一种轻量级组件,允许开发者在用户的主屏幕上创建小型应用程序,通常称为小部件或快捷方式。这些小部件不需要用户启动应用,就能直接在主屏幕上显示和交互,为用户提供便捷的...
在Android开发中,AppWidget是桌面小部件,它允许开发者将应用程序的功能直接集成到用户的主屏幕上,无需打开应用。在本案例中,我们探讨的是如何在AppWidget中使用ListView,这是一个增强用户交互的方式,使小部件...
AppWidget,即桌面小部件,是Android系统提供的一种允许应用程序在主屏幕放置动态更新的组件,用户无需打开完整应用即可查看信息或进行简单交互。本文将全面解析AppWidget的工作原理、生命周期、启动运行过程以及...
AppWidget 是Android 系统应用开发层面的一部分,有着特殊用途,使用得当的化,的确会为app 增色不少,它的工作原理是把一个进程的控件嵌入到别外一个进程的窗口里的一种方法。长按桌面空白处,会出现一个 AppWidget...
在"appwidget"这个压缩包文件中,可能包含了示例代码和资源文件,供开发者学习如何实现上述功能。通过研究这些文件,你可以更好地理解App Widget的工作原理和实现细节,从而在自己的项目中创建出富有特色的桌面小...
在Android开发中,AppWidget是桌面小部件,它允许开发者扩展Android主屏幕的功能,提供一种在用户主屏幕上显示实时信息和交互式控件的方式。本文将深入探讨如何在AppWidget中自定义Action广播,以便更好地控制和扩展...
在Android系统中,AppWidget是桌面小部件的实现,它允许开发者将应用程序的功能和信息集成到用户的主屏幕上,用户无需打开应用即可与之交互。这个压缩包“Android -- AppWidget源码.zip”很可能是包含了Android App...
Android 桌面控件(AppWidget)是Android操作系统提供的一种独特功能,允许开发者创建可以在用户主屏幕上显示的小型应用程序组件。这些控件通常提供快速访问应用的核心功能或展示实时信息,如天气预报、日历事件或...
Android AppWidget是Android系统提供的一种桌面小部件功能,允许开发者创建可以放置在用户主屏幕上的小型应用程序。这些小部件不需要用户直接启动,而是持续显示在屏幕上,为用户提供快速访问或控制应用的功能。在这...
总的来说,"android appWidget每日一句"项目为我们提供了一个学习AppWidget开发的实例,通过阅读和理解源码,我们可以深入掌握AppWidget的工作原理和设计模式,这对于提升Android开发技能非常有帮助。
这个压缩包“Android应用源码之Android小部件AppWidget.zip”包含了一个用于展示如何创建和实现Android小部件的源代码示例。 在Android开发中,AppWidget是桌面小插件,它并不像普通的应用程序那样通过用户点击图标...
App Widget 的概念 一个简单的App Widget例子 PendingIntent的使用 RemoteViews的使用 接收来自App Widget的广播 更新App Widget的控件状态
在Android平台上,AppWidget是小部件的简称,它允许开发者创建可以放置在用户主屏幕上的小型应用程序。在本例中,我们关注的是一个特定类型的AppWidget,它显示时间并每秒更新一次。创建这样一个实时更新的时钟App...