前言

大家好,给大家带来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知识点,有兴趣可以继续关注

Android开发工程师文集-1 小时学会Widget小组件开发的更多相关文章

  1. Android开发工程师文集-1 小时学会各种Drawable

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会各种Drawable的概述,希望你们喜欢 Drawable介绍 Drawable为抽象类,drawable与view有区别的地方,主要 ...

  2. Android开发工程师文集-1 小时学会SQLite

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会SQLite的概述,希望你们喜欢 内容 什么是Sqlite: 效率高,开源,小型,程序驱动,支持事务操作,无数据类型,可嵌入的关系型数 ...

  3. Android Widget小组件开发(一)——Android实现时钟Widget组件的步骤开发,这些知识也是必不可少的!

    Android Widget小组件开发(一)--Android实现时钟Widget组件的步骤开发,这些知识也是必不可少的! PS:学习自某网站(不打广告) 这个小组件相信大家都很熟悉吧,以前的墨迹天气 ...

  4. Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...

  5. Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

    前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...

  6. Android开发工程师文集-相关控件的讲解,五大布局

    前言 大家好,给大家带来Android开发工程师文集-相关控件的讲解,五大布局的概述,希望你们喜欢 TextView控件 TextView控件有哪些属性: android:id->控件的id a ...

  7. Android开发工程师文集-layout_weight讲解

    前言 大家好,给大家带来Android开发工程师文集-layout_weight讲解的概述,希望你们喜欢 Layout_weight的相关代码展示 <TextView android:layou ...

  8. Android开发工程师文集-Android知识点讲解

    前言 大家好,给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢 WebView讲解 一般通过Intent调用系统的浏览器: Uri uri = Uri.parse( ...

  9. Widget小组件

    一.使用步骤: 1.建立Widget的样式布局文件widght,布局只支持几种,比如,相对布局,线性布局,帧布局,布局里支持的控件也是有限的. 2.在res下建立一个新的文件夹我的命名为xml 3.在 ...

随机推荐

  1. python 优先队列

    python 优先队列 from queue import PriorityQueue q = PriorityQueue() q.put((2, 'code')) q.put((1, 'eat')) ...

  2. 使用ContentProvider实现多应用的数据共享

    ContentProvider: 实现一组通用的数据和方法的储存和共享,通常是通过getContentResolver()方法来获得Activity或其他应用程序组件中的ContentProvider ...

  3. 2017-11-03 Fr OCT 球体积的导数为球表面积

    上学期学立体几何时注意到这一点.去问林老师,没听明白(写完笔记后发现林老师讲得是对的,惭愧).今天下午考历史的时候突然想起来. 除了球体积的导数为球表面积外,还注意到圆体积的导数为圆周长.今天中午看w ...

  4. 在阿里云Ubuntu 14.04 Linux服务器上安装docker

    参考 How To Install and Use Docker: Getting Started 这篇最靠谱的文档在阿里云 Ubuntu  14.04 服务器上成功安装 docker . ---- ...

  5. Python常用字符编码

    字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一 ...

  6. 微软BI 之SSIS 系列 - 数据仓库中实现 Slowly Changing Dimension 缓慢渐变维度的三种方式

    开篇介绍 关于 Slowly Changing Dimension 缓慢渐变维度的理论概念请参看 数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型 ...

  7. 大数据入门到精通9-真正得wordcount

    本章节实现一个真正得wordcount 得spark程序. 一.从本地获得一个数据集 val speechRdd= sc.parallelize(scala.io.Source.fromFile(&q ...

  8. react项目请求数据的fetch的使用

    准备三个文件(封装请求函数),然后测试一下,能不能调用数据 第一个文件  request.js import 'whatwg-fetch'; /** * Parses the JSON returne ...

  9. Linux知识扩展二:lsof命令

    转:https://www.cnblogs.com/the-study-of-linux/p/5501593.html 1. lsof :list open file 显示linux下打开的文件信息. ...

  10. jquery判断是否是空对象 不含任何属性

    code function isEmptyObject(e) { var t; for (t in e) return !1; return !0 }