文档章节

Widget小结

孤峰无悔
 孤峰无悔
发布于 2016/11/13 00:30
字数 340
阅读 3
收藏 0

public class AppWidgetProvider extends BroadcastReceiver

查看源码可知 Widget 其实是一个特殊的广播接受者

1.创建一个类继承AppWidgetProvider

public class MyWidget extends AppWidgetProvider {

}

2.Widget就是一个广播接收者,所以在清单文件中进行配置

<receiver android:name="com.itheima.widget.MyWidget" >
     <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
     </intent-filter>

    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/example_appwidget_info" />
</receiver>

android:name 处配置全类名

android:resource 处配置一个Widget的描述文件

3.描述文件

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/test" //布局文件
    android:minHeight="40dp"                
    android:minWidth="40dp"
    android:updatePeriodMillis="86400000" >
</appwidget-provider>

4.生命周期

1.onEnable():第一次widget被创建,初始化工作

2.onDisable():最后一个widget被销毁的时候,擦屁股工作

3.onUpdate():每当widget被创建的时候,以及updatePeriodMillis时间到的时候

4.onDelete():每当widget被删除的时候调用

5.onAppWidgetOptionsChanged():当widget被改变大小

6.onReceive():其他是声明周期事件都是通过onReceive分发的

5.Widget的点击事件

PendingIntent:延期的意图,是让另外一个应用程序帮我们执行的意图,相当于一个回调。当满足某些条件后,可以通过PendingIntent打开Activity、Service或者发送广播

//自定义的广播消息。
Intent intent = new Intent();
intent.setAction("com.liangfeng.mobilesafe.killall");
PendingIntent pendingIntent = PendingIntent.getBroadcast(
        UpdateWidgetService.this, 0, intent,
        PendingIntent.FLAG_UPDATE_CURRENT);
//给按钮注册一个点击事件,事件是一个延期的意图
views.setOnClickPendingIntent(R.id.btn_clear, pendingIntent);

© 著作权归作者所有

共有 人打赏支持
上一篇: Activity小结1
下一篇: 版本控制小结
孤峰无悔
粉丝 1
博文 22
码字总数 8266
作品 0
武汉
私信 提问
从零开始学虚幻4游戏开发系列18

在本课的内容中,我们将使用另一个名为binding的方法来更新TimerText widget的内容。 Bindings 使用binding,可以自动更新特定的widget属性。但在此之前,widget的相关属性必须有Bind下拉列表...

王寒
2018/01/11
0
0
Ubuntu 安装 Qt 开发环境 简单实现

Ubuntu 安装 Qt 开发环境 简单实现是本文要介绍的内容,内容很短,取其精华,详细介绍Qt 类库的说明,先来看内容。 一、Ubuntu下安装Qt $ sudo apt-get install qt4-dev-tools qt4-doc qt4-q...

mickelfeng
2012/12/21
0
0
Qt 之 show,hide,setVisible,setHidden,close 等小结

不知道标题该怎么取了,文中就简单整理一下下面几个函数吧。因为不断有网友问到此类问题(包括相关问题),所以,自己整理一下,也算学习小结了。 这些函数分两类,一类是用来删除对象的(从内...

晨曦之光
2012/05/08
566
0
开源中国2010年图书赠送活动《Android应用开发揭秘》

活动内容: 参与活动者请从现在开始,到2010年3月1日这段时间内,对Oschina独家发布的《Android应用开发揭秘》一书内容章节进行客观点评,及大家可以就该技术的趋势和定位提出一些看法,只要...

红薯
2010/01/25
5.9K
203
在win和android上同时进行OpenCV程序设计

基于qt进行Android图像处理项目设计的时候,初期可以首先在windows上进行调试,等到比较成熟后将代码转换到adnroid上。 这里仅以widget为例,如果使用qtquick是一样的。具体以下几步: 1、项...

禾路
2018/02/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TiDB 3.0 Beta Release Notes

2019 年 1 月 19 日,TiDB 发布 3.0 Beta 版,对应 master branch 的 TiDB-Ansible。相比 2.1 版本,该版本对系统稳定性、优化器、统计信息以及执行引擎做了很多改进。 TiDB 新特性 支持 Vi...

TiDB
8分钟前
1
0
从拼多多优惠券事件看到的一些反思

本文由云+社区发表 作者:颜国平 摘要:最近几年,电商行业飞速发展,各种创业公司犹如雨后春笋大量涌现,商家通过各种活动形式的补贴来获取用户、培养用户的消费习惯,即将到来的“ 购物狂欢...

腾讯云加社区
8分钟前
2
0
记录一次BUG

1: 请求注册页面时生成一个UUID, 并且将UUID隐藏在页面中并且添加到session中去。 2: 发送短信时获取手机号和UUID,将两者发送至服务器 3: 先判断UUID和session中UUID是否一致。 不一致就...

专业写BUG的程序员
14分钟前
0
0
阿里云漏洞提示:phpMyAdmin <=4.8.1 checkPageValidity函数缺陷可导致GETSHELL

如题: phpMyAdmin <=4.8.1 后台checkPageValidity函数缺陷可导致GETSHELL 即:checkPageValidity函数对外部输入过滤不严,可导致本地包含任意文件。进一步地攻击者可通过注入代码到特定文件...

408582708
14分钟前
1
0
PyTorch可视化理解卷积神经网络

摘要: 神经网络工具像一个黑匣子,无法知道它的中间是如何处理的。本文使用图片加代码的形式讲解CNN网络,并对每层的输出进行可视化,便于初学者理解,可以动手实践下哦! 如今,机器已经能...

阿里云官方博客
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部