AppWidget应用(一)---创建一个appWidget
appWidget是顯示的桌面上的小窗口程序,通過它可以達(dá)到用戶與程序之間的交互。
下面我們來看下創(chuàng)建一個(gè)appWidget的步驟
一、首先在layout文件夾下創(chuàng)建一個(gè)appWidget的布局文件appwidgetlayout.xml, 在這里你可以添加一些需要在appWidget上顯示的控件,如下:我只添加一個(gè)文本控件
?
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/txtapp"android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="#ffffff"android:text="@string/bnt_name" ></TextView></LinearLayout>?
二、創(chuàng)建一個(gè)xml文件配置appWidget的顯示屬性,在res目錄創(chuàng)建一個(gè)xml目錄,在下面創(chuàng)建一個(gè)appwidget.xml文件,其實(shí)也可以把這個(gè)文件放在layout目錄下,為了方便管理,我還是把它放在xml目錄下,在這個(gè)目錄下可以放置任何的xml文件。如下:
?
<?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"android:initialLayout="@layout/appwidgetlayout"android:minHeight="72dp"android:minWidth="294dp"android:updatePeriodMillis="86400000" ></appwidget-provider>?
三、在AndroidMainfest.xml下要聲明一個(gè)廣播接收器,如
?
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.appwidgetdemo"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.example.appwidgetdemo.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="com.example.appwidgetdemo.appWidgetActivity" ><intent-filter><action android:name="android.appwidget.action.APPWIDGET_UPDATE" ></action></intent-filter><meta-dataandroid:name="android.appwidget.provider"android:resource="@xml/appwidget" /></receiver></application></manifest>?
四、創(chuàng)建一個(gè)類繼承AppWidgetProvider
重載以下幾個(gè)函數(shù),根據(jù)需要進(jìn)行處理
1、public void onDeleted(Context context, int[] appWidgetIds) ? ? ? ?刪除一個(gè)AppWidget時(shí)調(diào)用
2、public void onDisabled(Context context) ? ??最后一個(gè)appWidget被刪除時(shí)調(diào)用
3、public void onEnabled(Context context) ? ??AppWidget的實(shí)例第一次被創(chuàng)建時(shí)調(diào)用
4、public void onReceive(Context context, Intent intent) ? ? ?接收廣播事件,可以接收系統(tǒng)的也可以接收自定義的
5、public void onUpdate(Context context, AppWidgetManager appWidgetManager,?int[] appWidgetIds) ? ??到達(dá)指定的更新時(shí)間或者當(dāng)用戶向桌面添加AppWidget時(shí)被調(diào)用
代碼如下:
?
package com.example.appwidgetdemo;import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent;public class appWidgetActivity extends AppWidgetProvider {/*** 刪除一個(gè)AppWidget時(shí)調(diào)用*/@Overridepublic void onDeleted(Context context, int[] appWidgetIds) {// TODO Auto-generated method stubsuper.onDeleted(context, appWidgetIds);System.out.println("----------------onDeleted");}/*** 最后一個(gè)appWidget被刪除時(shí)調(diào)用*/@Overridepublic void onDisabled(Context context) {// TODO Auto-generated method stubsuper.onDisabled(context);System.out.println("----------------onDisabled");}/*** AppWidget的實(shí)例第一次被創(chuàng)建時(shí)調(diào)用*/@Overridepublic void onEnabled(Context context) {// TODO Auto-generated method stubsuper.onEnabled(context);System.out.println("----------------onEnabled");}/*** 接受廣播事件*/@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubsuper.onReceive(context, intent);System.out.println("----------------onReceive");}/*** 到達(dá)指定的更新時(shí)間或者當(dāng)用戶向桌面添加AppWidget時(shí)被調(diào)用*/@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {System.out.println("----------------onUpdate");// TODO Auto-generated method stub}}
五、運(yùn)行程序
?
程序運(yùn)行后需要通過以下幾點(diǎn)才能把a(bǔ)ppWidget小程序顯示出來
1、如果是模擬器按鼠標(biāo)左鍵不動(dòng)會(huì)彈出如下窗口
2、點(diǎn)擊“窗口小部件”會(huì)彈出如下窗口,顯示出所有的appWidget窗口
3、選擇我們剛才安裝的部件,在主界面上顯示如下:
至此我們第一個(gè)appWidget程序已經(jīng)完成。
本例源碼可以到以下鏈接下載:
點(diǎn)擊打開鏈接
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/james1207/p/3285493.html
總結(jié)
以上是生活随笔為你收集整理的AppWidget应用(一)---创建一个appWidget的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赠汪伦鉴赏(赠汪伦赏析)
- 下一篇: 饥荒必要模组下载失败是为什么(饥荒必要模