桌面小部件AppWidgetProvider简单分析
1、一般桌面小部件涉及到的类
- AppWidgetProvider :BroadcastRecevier子类,用于接收更新,删除通知
- AppWidgetProvderInfo:AppWidget相关信息(大小,更新频率等),xml形式
- AppWidgetManger:AppWidget管理类,用于向provider发送消息
- RemoteViews:可以在其他进程中运行的类,用于向provider发送通知。
- RemoteViewsService : 是一个远程的服务适配器 可以请求RemoteViews,管理RemoteViews的服务.
- RemoteViewsFactory : 提供了RemoteViewsFactory用于填充远程集合视图。
2、RemoteViewsService分析:
- RemoteViewsService是一个抽象类,继承了Service,底层中有IRemoteViewsFactory.aidl,且发现该Service中的IBinder是通过AIDL实现的,类中定义了接口RemoteViewsFactory,接口中的方法通过AIDL与其进程进行通讯,即跨进程通信。当有多个RemoteViewsFactory时,存储在HashMap sRemoteViewFactories中便于统一管理
- 故当我们的widget中包含ListView,Gridview等集合视图的时候.我们就需要借助一个类RemoteViewsService,继承RemoteViewsService实现接口并复写onGetViewFactory 返回RemoteViewsFactory
3、RemoteViews分析:
- RemoteViews并没有继承系统View,只是实现了Parcelable(Android特有的方式)和Filter接口。故RemoteViews实现了序列化。
- 底层中RemoteViews.aidl,故也是通过AIDL与其他进程通讯的,即跨进程通信
4、AppWidgetProvider分析:
- AppWidgetProvider继承了BroadcastRecevier,生命周期也比较简单,可以参考demo:https://github.com/lelelongwang/TestApp 中的MyAppWidget中的log
5、AppWidgetManager分析:
- 是个AppWidget工具类,单例的方式实现。可以通过getInstance()获取实例。
桌面小部件AppWidgetProvider简单分析的更多相关文章
- Android开发中实现桌面小部件
详细信息请参考原文:Android开发中实现桌面小部件 在Android开发中,有时候我们的App设计的功能比较多的时候,需要根据需要更简洁的为用户提供清晰已用的某些功能的时候,用桌面小部件就是一个很 ...
- Android 桌面小部件
1. 添加AppWidgetProvider 实际上就是个带有界面的BroadcastReceiver public class SimpleWidgetProvider extends AppWid ...
- 解决 三星Note3 桌面小部件不实时更新/不刷新 的问题
机型及问题描述:我的是三星note3 (国行 SM-N9008V),已ROOT,安装了LBE安全大师.在桌面小部件中,有些不会实时更新.比如有 滴答清单(办过的事项无法勾选),百度云音乐(歌曲播放更新 ...
- 桌面小部件Wight父类AppWidgetProvider的三个方法
onUpdate()这个方法会在每次更新App Widget的时候调用,数据更新的逻辑都写在这个方法里边.而且要注意的是:在用户添加小部件的时候,会首先调用这个方法,应该在这个方法里进行初始化操作,比 ...
- 桌面小部件----LED电子时钟实现
桌面控件是通过 Broadcast 的形式来进行控制的,因此每个桌面控件都对应于一个BroadcastReceiver.为了简化桌面控件的开发,Android 系统提供了一个 AppWidgetPro ...
- Android Widget 小部件(一) 简单实现
在屏幕上加入Widget:或长按屏幕空白处,或找到WidgetPreview App选择. 原生系统4.0下面使用长按方式,4.0及以上 打开WIDGETS 创建Widget的一般步骤: 在menif ...
- Android 手机卫士14--Widget窗口小部件AppWidgetProvider
1.AndroidManifest.xml根据窗体小部件广播接受者关键字android.appwidget.action.APPWIDGET_UPDATE 搜索android:resource=&qu ...
- 优质Android小部件:索尼滚动相册
虽然骚尼手机卖的不怎么样,但是有些东西还是做的挺好的,工业设计就不用说了,索尼的相册的双指任意缩放功能也是尤其炫酷.其桌面小部件滚动相册我觉得也挺好的,比谷歌原生的相册墙功能好多了,网上搜了一下也没发 ...
- 【Android界面实现】AppWidght全面学习之电量监控小部件的实现具体解释
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/bz419927089/article/details/35791047 前几天翻看之前下载的各种资料 ...
随机推荐
- Python基础之:Python的数据结构
目录 简介 列表 列表作为栈使用 列表作为队列使用 列表推导式 del 元组 集合 字典 循环 简介 不管是做科学计算还是编写应用程序,都需要使用到一些基本的数据结构,比如列表,元组,字典等. 本文将 ...
- 1、SpringBoot整合之SpringBoot整合JSP
SpringBoot整合JSP 一.创建SpringBoot项目,仅选择Web模块即可 二.在POM文件中添加依赖 <!-- 添加servlet依赖模块 --> <dependenc ...
- oscp-缓冲区溢出(持续更新)
环境准备 Windows7虚拟机(我选了IE8,其实也没什么关系) 微软官方下载地址 These virtual machines expire after 90 days. We recommend ...
- AWS上创建EKS(K8S)集群
1.注意事项及准备工作 EKS分为EKS Master和EKS Node两种角色;EKS Master为全托管,EKS Node为CloudFormation创建 EKS Node若在NAT网络里,一 ...
- DDoS攻击的工具介绍
1.低轨道离子加农炮(LOIC) 1.1 什么是低轨道离子加农炮(LOIC)? 低轨道离子加农炮是通常用于发起DoS和DDoS攻击的工具.它最初是由Praetox Technology作为网络压力测试 ...
- 温故知新,.Net Core遇见JWT(JSON Web Token)授权机制方案
什么是JWT JWT (JSON Web Token) 是一个开放标准,它定义了一种以紧凑和自包含的方法,用于在双方之间安全地传输编码为JSON对象的信息. 因此,简单来说,它是JSON格式的加密字符 ...
- Java并发之ReentrantReadWriteLock源码解析(一)
ReentrantReadWriteLock 前情提要:在学习本章前,需要先了解笔者先前讲解过的ReentrantLock源码解析和Semaphore源码解析,这两章介绍了很多方法都是本章的铺垫.下面 ...
- 重新整理 .net core 实践篇————cookie 安全问题[三十八]
前言 简单整理一下cookie的跨站攻击,这个其实现在不常见,因为很多公司都明确声明不再用cookie存储重要信息,不过对于老站点还是有的. 正文 攻击原理: 这种攻击要达到3个条件: 用户访问了我们 ...
- SpringCloud 微服务最佳开发实践
Maven规范 所有项目必须要有一个统一的parent模块 所有微服务工程都依赖这个parent,parent用于管理依赖版本,maven仓库,jar版本的统一升级维护 在parent下层可以有 co ...
- 24 shell 管道命令与过滤器
1.管道命令的用法 2.使用管道命令的好处: 3.重定向和管道的区别 4.Linux管道实例 5.管道与重定向 1)管道与输入重定向 2)管道与输出重定向 6.过滤器 7.过滤器举栗 1.管道命令的用 ...