美文网首页
Android入门——AppWidget及Broadcast的使

Android入门——AppWidget及Broadcast的使

作者: alone_cat | 来源:发表于2016-11-16 20:48 被阅读0次

实验说明##

  • 实验平台: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

相关文章

网友评论

      本文标题:Android入门——AppWidget及Broadcast的使

      本文链接:https://www.haomeiwen.com/subject/shgrpttx.html