Android开发工程师文集-1小时学会Widget小组件开发

Web Widget,中文译名被称作是微件,是一小块可以在任意一个基于HTML的Web页面上执行的代码,它的表现形式可能是视频,地图,新闻,小游戏等等。它的根本思想来源于代码复用,通常情况下,Widget的代码形式包含了DHTML,JavaScript以及Adobe Flash。

前言

学会用Widget (小组件)

Widget小组件很方便,很快捷,可以个性化,自己定制,相关功能,可以实时更新最新内容。

  • Widget布局,Widget配置,AppWidgetProvider与Configuration Activity
  • Android Widget
  • xml布局类型:AppWidget Provider
    <appwidget-provider 
    xmlns:android="http://schemas.android.com/apk/res/android"
    //引用的布局文件
    android:initialLayout="@layout/widget"
    android:minHeight="50dp"
    android:minWidth="100dp"
    //设置更新时间
    android:updatePerioMillis="66666666">
    </appwidget-provide>
    public class WidgetProvider extends AppWidgetProvider {
    @Override
    public void onDeleted(Context context,int[] appWidgetIds){
    super.onDeleted(context,appWidgetIds);
    }
    @Override
    public void onDisabled(Context context){
    super.onDisabled(context);
    }
    @Override
    public void onEnabled(Context context){
    super.onEnabled(context);
    }
    @Override
    public void onReceive(Context context,Intent intent){
    super.onReceive(context,intent);
    }
    @Override
    public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){
    super.onUpdate(context,appWidgetManager,appWidgetIds);
    }
    }
    //TimerService extends Service
    Timer timer=new Timer();
    timer.shedule(new TimerTask(){
    @Override
    public void run(){
     updateTime();
    }
    },0,1000);
    }
    //onDestroy
    public void onDestroy(){
    super.onDestroy();
    timer=null;
    }
    //updateTime();
    private void updateTime(){
    String time = simpletime.format(new Date());
    }
    Widget就是个桌面小组件,有了Widget,我们可以直接在桌面上进行各种操作。

Widget使用

  • AndroidManifest中声明AppWidget
  • xml中定义AppWidget配置文件
  • layout中定义Widget布局文件
  • 创建类继承AppWidgetProvider类
//清单文件中
<meta-data
   android:name="android.appwidget.provider"
   android:resource="@layout/widget_setting"/>
//onUpdate()重点
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
 super.onUpdate(context, appWidgetManager, appWidgetIds);
 RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.layout_widget);
 //Intent intent = new Intent();
 Intent intent = new Intent();
 intent.setClass(context, TestWidget.class); 
 intent.setAction(WIDGET_BTN_ACTION);
 PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
 remoteViews.setOnClickPendingIntent(R.id.widget_btn, pendingIntent);
 appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); 
} 
//清单文件
 <intent-filter>      
   <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />      
   </intent-filter>      
   <meta-data android:name="android.appwidget.provider"      
      android:resource="@xml/widget_provider"/>      

总结

  • 本文讲了Android开发工程师文集-1 小时学会Widget小组件开发,如果您还有更好地理解,欢迎沟通

文章作者: Jeskson
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jeskson !
评论
 上一篇
Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解 Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解
作为一个Activity,就是一个界面,当我们在手机上打开一个APP时,你看到的页面就是基于Activity生成的。 前言Activity是什么作为一个Activity,就是一个界面,当我们在手机上打开一个APP时,你看到的页面就是基于A
下一篇 
AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码 AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码
学习目标 掌握修改密码功能的开发,和实现用户密码的修改; 掌握设置密保的功能开发,通过密保我们可以找回用户的密码,来保证用户的安全。 具体布局将不在展示,只说明一些功能模块的实现。 前言大家好,今天给大家带来AndroidStudio制作“
  目录