zoukankan      html  css  js  c++  java
  • Android开发工程师文集-1 小时学会Widget小组件开发

    前言

    大家好,给大家带来Android开发工程师文集-1 小时学会Widget小组件开发的概述,希望你们喜欢

    学会用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小组件开发,如果您还有更好地理解,欢迎沟通
    • 定位:分享 Android&Java知识点,有兴趣可以继续关注
  • 相关阅读:
    <<浪潮之巅>>阅读笔记三
    <<浪潮之巅>>阅读笔记二
    <<浪潮之巅>>阅读笔记一
    《需求工程——软件建模与分析》阅读笔记三
    个人总结
    学习进度条(第十六周)
    人月神话阅读笔记03
    第十五周学习进度条
    人月神话阅读笔记02
    操作
  • 原文地址:https://www.cnblogs.com/dashucoding/p/9281309.html
Copyright © 2011-2022 走看看