Android入门——AppWidget及Broadcast的使用

Android入门——AppWidget及Broadcast的使用

实验说明

  • 实验平台:Android Studio 2.0
  • 测试平台:Android 4.2

实验内容

  • 生成安卓APK并成功安装在手机端,运行结果与实验要求一致。
  • 实现静态注册和动态注册。
  • 动态注册要求:
    • 可以编辑广播的信息,点击Send 按钮发送广播。
    • 设置一个按钮进行广播接收器的注册与注销。
    • 广播接收器若已被注册,发送出的广播信息能够及时更新桌面上 Widget 上文字内 容及更新为默认dynamic 图片。
    • 点击Widget 可以跳转回主界面。
  • 结果如下所示:
    这里写图片描述
    这里写图片描述
    Fig.1:进入APP后的第一界面,静态注册和动态注册按钮。
    • Fig.2:任意点击一个列表项后,回到主屏幕;
    • Fig.3:在主屏幕Widget,可以看到图标显示正常并出现水果名字
    • Fig.4点击动态注册后跳转到该页面,输入要广播内容为“123”,点击“Register Broadcast”,再次点击“send”;
    • Fig.5:在主屏幕Widget可以看到出现了图标,并输出之前输入的文字内容;

实验步骤及关键代码

此次实验是在该实验的基础上进行,大部分代码都没有变化,只是新加入了widget类并重写了相关的函数,在关键代码中就只给出了新添加的内容,与实验四相同的代码及内容不再赘述。

  • 首先新建widget的java类,该部分在通过Android studio自带的生成时,会有相应的xml 文件生成,实验时用到了软件自动生成的java类并重写了相关方法,具体代码如下:
    这里写图片描述
    • 首先需要重写onUpdate函数,该函数中用到了PendingIntent,并使用了静态方法 getActivity,该方法可以使得Intent跳转到另一个activity组件;
    • RemoteViews函数用亍允 许用户程序修改主屏幕的View,实验中的结果是:当我们点击静态注册的某项内容时,会在主 屏幕的widget更新刚刚被点击的内容并显示 。
    • 在最后,需要对主屏幕的widget设置图片点击监听事件,当点击图片时,可以返回应用程序的 主页面;在每次点击相关的注册内容后,需要调用appWidgetManager对widget的内容进行更 新。
  • 接下来还需要重写onReceive函数,具体代码如下:
    这里写图片描述
    • 实验里依旧使用bundle来传送相关数据,并且为静态注册设置动作为“STATICATION”这里用 到了setTextViewText和setImageViewResource函数,函数中将相应的水果图片和名字获得后 利用Widget布局文件中的id,传送过去,使得主屏幕Widget和应用程序能够时时保持数据的同 步;最后设置相应图片的点击事件并能够返回主屏幕。
  • 动态注册重写onReceive函数,内容不静态的相似,函数使用方法也相同,代码中给出了注 释,在此就不赘述,只给出相应的实现代码:
    这里写图片描述
  • 最后需要对设置的静态和动态事件进行注册:
    这里写图片描述
  • 最后给出软件自动生成布局文件:
    这里写图片描述

工程具体代码请戳Lab5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值