安卓程序开发——widget组件开发Widget就是可以放在桌面上的组件,包括像天气、便签、等。AppWidget 框架类练习Widget组件的基础应用、widget的配置、widget与服务结合实现

这篇具有很好参考价值的文章主要介绍了安卓程序开发——widget组件开发Widget就是可以放在桌面上的组件,包括像天气、便签、等。AppWidget 框架类练习Widget组件的基础应用、widget的配置、widget与服务结合实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 widget组件开发

1.1 实验目的

   掌握Android  widget组件的应用,练习Widget组件的基础应用、widget的配置、widget与服务结合实现时间倒计时

1.2 实验步骤

1.创建一个Android 应用,练习widget的基础用法。

2.在布局文件添加TextView ImageButton两个控件

3.在res下创建xml文件夹,再创建widget_template.xml元数据

4.添加WidgetProvider.java文件

5.练习widget配置,新增一个Activity(ConfigActivity.java)

6.新增ConfigActivity.java对应的widget_config.xml布局文件

7.在元数据文件widget_template.xml添加配置代码

8.在WidgetProvider.java文件中添加updateTextColor

9.在AndroidManifest.xml注册ConfigActivity.java

10.练习widget与服务,添加TRandomService.java

11.AndroidManifest.xml中注册TRandomService.java

12.修改WidgetProvider.java文件

1.3 实验代码

1、创建工程

2、Widget基础应用(SimpleWidget)

2.1 将activity_main.xml的名字修改为widget_layout.xml,将MainActivity.java删除、并将AndroidManifest.xml中的注册代码删除。
android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studioandroid widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio2.2 在res下创建xml文件夹,再创建widget_template.xml元数据
android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio2.3 添加WidgetProvider.java文件android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

3 练习Widget配置

3.1 新增一个Activity(ConfigActivity.java)
android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studioandroid widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio
3.2 新增ConfigActivity.java对应的widget_config.xml布局文件

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

3.3 在widget_template.xml添加配置代码

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

3.4 在WidgetProvider.java文件中添加
android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio3.5在AndroidManifest.xml注册ConfigActivity.java

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

4 Widget与服务(ServiceWidget)

4.1 添加TRandomService.java

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

4.2 AndroidManifest.xml中注册TRandomService.java

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

4.3 修改WidgetProvider.java文件

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

实验效果

android widget开发,Android开发基于Android studio平台,android,前端,android-studio,android studio

1.4 实验总结

1.Widget
Widget就是可以放在桌面上的组件,包括像天气、便签、日历、流量控制等

2.AppWidget 框架类

(1)AppWidgetProvider :

继承自 BroadcastRecevier , 在AppWidget 应用 update、enable、disable 和 delete 时接收通知。其中,onUpdate、onReceive 是最常用到的方法,它们接收更新通知。

(2) AppWidgetProvderInfo:

描述 AppWidget 的大小、更新频率和初始界面等信息,以XML 文件形式存在于应用的 res/xml/目录下。

(3)AppWidgetManger :

负责管理 AppWidget ,向 AppwidgetProvider 发送通知。

(4)RemoteViews :

一个可以在其他应用进程中运行的类,向AppWidgetProvider 发送通知。

3.minWidth: 定义Wdiget组件的宽度

minHeight: 定义Wdiget组件的高度

updatePeriodMillis: 更新的时间周期

initialLayout: Widget的布局文件

4.AppWidgetProvider:

实际上就是一个BroadcastReceiver,里面提供了以下函数:

onReceive(Context, Intent)

onUpdate(Context , AppWidgetManager, int[] appWidgetIds)

onEnabled(Context)

onDeleted(Context, int[] appWidgetIds)

onDisabled(Context)

可通过重写以上函数来监听Widget状态的变化并进行相应的处理。文章来源地址https://www.toymoban.com/news/detail-828809.html

到了这里,关于安卓程序开发——widget组件开发Widget就是可以放在桌面上的组件,包括像天气、便签、等。AppWidget 框架类练习Widget组件的基础应用、widget的配置、widget与服务结合实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智能小程序小部件(Widget)媒体组件属性说明和示例代码汇总

    基础库 2.2.0 开始支持, 低版本需做兼容处理。 系统相机。相关 API:ty.createCameraContext。这是基于异层渲染的原生组件, 请注意原生组件使用限制。 属性说明 属性名 类型 默认值 必填 说明 mode string normal 否 应用模式,只在初始化时有效,不能动态变更 resolution string medium 否 分

    2024年01月17日
    浏览(37)
  • 12-1_Qt 5.9 C++开发指南_自定义插件和库-自定义Widget组件(提升法(promotion)创建自定义定制化组件)

    当UI设计器提供的界面组件不满足实际设计需求时,可以从 QWidget 继承自定义界面组件。 有两种方法使用自定义界面组件: 一种是 提升法(promotion) ,例如在8.3 节将一个QGraphicsView组件提升为自定义的 QWGraphicsView 类,提升法用于界面可视化设计时不够直观,不能在界面上即刻

    2024年02月15日
    浏览(49)
  • iOS14 Widget 小组件调研

    桌面小组件是iOS14推出的一种新的桌面内容展现形式。 根据苹果的统计数据,“一般用户每天进入主屏幕的次数超过90次”,如果有一个我们应用的小组件在桌面,每天都有超过90次曝光在用户眼前的机会,这绝对是一个顶级的流量入口。 “但停留的总时长不过几分钟”,通

    2024年01月25日
    浏览(39)
  • Flutter Widget Life Cycle 组件生命周期

    了解 widget 生命周期,对我们开发组件还是很重要的。 今天会把无状态、有状态组件的几个生命周期函数一起过下。 原文 https://ducafecat.com/blog/flutter-widget-life-cycle https://api.flutter.dev/flutter/widgets/StatelessWidget-class.html https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html 无状态组件

    2024年02月15日
    浏览(41)
  • Android- Widget (应用微件/小组件/插件) 使用介绍

    App Widget 即叫 应用微件 或者 小组件/插件. 是可以 嵌入其他应用 (如主屏幕)并 接收定期更新 的 微型应用视图 。 这些视图称为界面中的微件. 例如,添加到桌面上的音乐Widget: app_widget_music_sample.PNG 能够容纳其他应用微件的应用组件称为 AppWidgetHost (应用微件托管应用) 。

    2023年04月08日
    浏览(82)
  • 12-2_Qt 5.9 C++开发指南_自定义Qt Designer 插件(UI 设计器自定义界面组件的 Widget 插件,直接安装到 UI设计器组件面板里,如同 Qt 自带的界面设计组件一样)

    上篇使用提升法(promotion)来创建自定义组件,本篇为 UI 设计器设计自定义界面组件的 Widget 插件,直接安装到 UI设计器的组件面板里,如同 Qt 自带的界面设计组件一样使用,在设计时就能看到组件的实际显示效果,只是编译和运行时需要使用到插件的动态链接库 (Windows 平台上

    2024年02月05日
    浏览(55)
  • Android车载Launcher开发(1) - 显示Widget

    Launcher是安卓系统中的桌面启动器,安卓系统的桌面UI统称为Launcher。Launcher是安卓系统中的主要程序组件之一,安卓系统中如果没有Launcher就无法启动安卓桌面。作为车机开机后用户接触到的第一个带有界面的系统级APP,和普通APP一样,它的界面也是在Activity上绘制出来的。

    2024年02月11日
    浏览(33)
  • flutter开发实战-RepaintBoundary实现Widget截图功能

    flutter开发实战-RepaintBoundary实现Widget截图功能 在开发中,遇到需要使用截图,像iOS可以截图UIView获取到UIImage,在flutter中可以使用RepaintBoundary实现截图功能 相机拍摄的图片: RepaintBoundary截图后的图片 RepaintBoundary是绘制边界。 如果CustomPaint有子节点,为了避免子节点不必要的

    2024年02月15日
    浏览(45)
  • flutter开发实战-获取Widget的大小及位置

    flutter开发实战-获取Widget的大小及位置 最近开发过程中需要获取Widget的大小及位置,这时候就需要使用到了GlobalKey了和WidgetsBinding.instance.addPostFrameCallback了 该函数的作用: flutter中的界面组件Widget每一帧渲染在界面上,addPostFrameCallback功能是在每一帧绘制完成后再回调执行自定

    2024年02月13日
    浏览(47)
  • Flutter学习四:Flutter开发基础(一)Widget

    目录 0 引言 1 Widget 简介 1.1 Widget 概念 1.2 Widget 接口 1.3 Flutter中的四棵树 1.4 StatelessWidget 1.4.1 简介 1.4.2 Context上下文 1.5 StatefulWidget 1.6  State 1.6.1 简介 1.6.2 State生命周期 1.7  在 widget 树中获取State对象 1.7.1 通过Context获取 1.7.2 通过GlobalKey获取 1.8 通过 RenderObject 自定义 Wid

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包