android 桌面插件 App Widget
2014-02-22 11:13
330 查看
App Widget :自定义的桌面插件,功能:当长时间触摸手机屏幕,可以添加控件,点击添加控件,可以显示出自己编写出的控件
如图,TextText-----------------桌面插件的生成。
下面是实现改功能的步骤
第一步:定义一个AppWidgetProviderInfo: 在res / xml文件夹中定义一个example_appwidget_info.xml的文件
第二步就是添加一个布局文件
第三步实现AppWidgetProvider
复写五个函数,
onUpdate: 添加App Widget时会调用该方法
onDeleted: 删除App Widget时会调用该方法
onEnabled: 第一个App Widget创建时会调用该方法
onDisabled: 最后一个App Widget 被删除时会调用该方法
onReveice: 接收广播事件,一般很少调用
新建一个类,继承 AppWidgetProvider,复写上面五个函数
第四步在Manifest.xml文件中添加<receiver>,这个<receiver>的名就是第三步新建的类,这个类就是AppWidgerProvider的子类,这里还有个<inter-filter>接收数据的一个过滤器。里面有个属性<action>这里面有一个安卓自带的。下面还有一个<meta-data>这是一个元数据
如图,TextText-----------------桌面插件的生成。
下面是实现改功能的步骤
第一步:定义一个AppWidgetProviderInfo: 在res / xml文件夹中定义一个example_appwidget_info.xml的文件
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:initialLayout="@layout/example_appwidge" android:minHeight="72dp" android:minWidth="294dp" android:updatePeriodMillis="86400000" > </appwidget-provider>
第二步就是添加一个布局文件
<?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/vidgetTextId" android:layout_width="80dp" android:layout_height="80dp" android:text="TextText--------------" android:background="#000000"/> </LinearLayout>
第三步实现AppWidgetProvider
复写五个函数,
onUpdate: 添加App Widget时会调用该方法
onDeleted: 删除App Widget时会调用该方法
onEnabled: 第一个App Widget创建时会调用该方法
onDisabled: 最后一个App Widget 被删除时会调用该方法
onReveice: 接收广播事件,一般很少调用
新建一个类,继承 AppWidgetProvider,复写上面五个函数
package com.example.acti_02_05_appwidge; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent; import android.os.Bundle; public class ExampleAppWodgetProvider extends AppWidgetProvider { @Override public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions) { // TODO Auto-generated method stub super.onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId, newOptions); } @Override public void onDeleted(Context context, int[] appWidgetIds) { // TODO Auto-generated method stub super.onDeleted(context, appWidgetIds); System.out.println("onDeleted"); } @Override public void onDisabled(Context context) { // TODO Auto-generated method stub super.onDisabled(context); System.out.println("onDisable"); } @Override public void onEnabled(Context context) { // TODO Auto-generated method stub super.onEnabled(context); System.out.println("onEnabled"); } @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub super.onReceive(context, intent); System.out.println("onReceive"); } @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // TODO Auto-generated method stub super.onUpdate(context, appWidgetManager, appWidgetIds); System.out.println("onUpdate"); } public ExampleAppWodgetProvider() { // TODO Auto-generated constructor stub } }
第四步在Manifest.xml文件中添加<receiver>,这个<receiver>的名就是第三步新建的类,这个类就是AppWidgerProvider的子类,这里还有个<inter-filter>接收数据的一个过滤器。里面有个属性<action>这里面有一个安卓自带的。下面还有一个<meta-data>这是一个元数据
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.acti_02_05_appwidge" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.acti_02_05_appwidge.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <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_appwidge_info" /> </receiver> </application> </manifest>
相关文章推荐
- Android桌面插件App Widget用法分析
- Android——AppWidget桌面插件学习
- Android中Appwidget桌面小控件的简单入手方式
- Android之桌面组件App Widget案例
- Android桌面组件App Widget用法入门教程
- android launcher桌面数字时钟及appwidget更新问题
- Android之AppWidget(桌面小部件)开发浅析
- Android Launcher开发(二)AppWidget(桌面小部件)解析
- Android 桌面组件【app widget】 进阶项目--心情记录器
- Android桌面小插件——Widget
- (4.1.27.1)Android之桌面组件App Widget案例之高仿墨迹天气桌面组件
- Android之桌面组件AppWidget
- Android桌面组件App Widget完整案例
- Android桌面小部件AppWidget(1)
- Android 桌面组件【app widget】 进阶项目--心情记录器
- android 桌面组件 App widget的使用
- Android桌面小插件——Widget
- Android:AppWidget放到桌面上
- android 桌面快捷方式、窗口小部件、文件夹、书签 launcher、appwidget、shortcut、folder、bookmark
- Android 桌面组件【app widget】 进阶项目--心情记录器