关于android Widgets桌面小插件的开发大概流程

首先开发一个Widgets需要一个服务,和一个继承AppWidgetProvider的类。话不多说
第一步:再res资源文件中,建立xml文件夹,在建立一个配置文件,配置文件内容如下

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="200dp" --这里是设置桌面部件的最小部件宽度-->   
    android:minHeight="100dp"     
    android:updatePeriodMillis="86400000"   
    android:initialLayout="@layout/example_appwidget"    
    >   
appwidget-provider>

第二步:通过第一步可以说明,这里当然是写桌面空间的布局文件,在layout文件中写,这里也就不多加展示。
第三步:创建一个类,该类继承于AppWidgetProvider。这里主要关注于该类的一些方法,
onDeleted()//当桌面插件从桌面移除时执行
onEnabled()//当桌面插件第一个移到桌面(因为插件可以同时多个存在桌面嘛)一般我在这启动服务
onDisabled()//当桌面插件最后一个移出桌面,一般我在这停止服务
onUpdate()//更新桌面的操作。
第四步:也就是写一个服务类。继承servlet类,重写他的oncreat()方法

public void onCreate(){
    /**这里写你所需要的操作,可以是写一个计时器Timeer隔多少秒进行什么操作,具体看个人需求
    **/
    //这里就是重点,第一步创建一个RemoteViews对象,第一个参数是包名,第二个是布局文件ID
    RemoteViews rv=new RemoteViews(getPackName(),R.layout.wedget);
    rv.setTextviewText(R.id.text,"啊啊")//1.为控件的ID,2.想为控件赋的内容
    //创建AppWidgetManager传递到updata方法
    AppWidgetManager awm=AppWidgetManager.getInstance(getApplicationContext);
    ComponentName cn=new ComponentName(getApplicationContext,Widgetprovide)//第二个参数为刚才第二步创建的类
    awm.updateAppWidget(cn,rv);
}

最后一步:在主文件中,配置刚才创建的服务和广播类,服务类就像平常一样,在这里说一下广播类吧

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

这样一个Andorid的桌面小插件就可以了

你可能感兴趣的:(安卓)