天气预报--桌面插件功能

本文介绍如何创建一个桌面插件,包括一个时钟组件和显示天气信息的部分。插件实现通过继承AppWidgetProvider,重写onUpdate()方法。在布局文件中定义appwidget-provider,并指定初始布局。时钟部分利用ImageView显示时间,动态加载数字图片。同时,通过BroadcastReceiver更新UI,展示当前城市的天气、温度和图标。
摘要由CSDN通过智能技术生成

我的桌面插件大概分了两块,一块为一个小的桌面时钟,根据系统时间变化来设定时间。第二个是几个Textview和一个imageView来显示当前城市的天气,温度,还有一个小的天气图标。

小插件的实现要自己重写一个类继承AppWidgetProvider这个父类,并重写onUpdate()方法(并不规定一定要重写,但是这样的话这个插件就没有实际的意义)。AppWidget和Activity.Service等一样需要在Mainfest文件中注册才能使用。要实现AppWidget同样需要两个xml文件,一个xml文件定义了一个appwidget-provider控件的各种属性:

<?xml version="1.0" encoding="UTF-8"?>  
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"    
    android:minWidth="300dip" android:minHeight="50dp"    
    android:updatePeriodMillis="1000"   
    android:initialLayout="@layout/widget_layout"    
    >    
</appwidget-provider>    

高度宽度就不说了,android:updatePeriodMillis规定了这个插件的更新的频率,个人理解是一旦到了这个频率就执行onUpdate里面的代码,但是我现在写的1000实际上是没有意义的,现在的安卓系统为了不让插件太占用系统电量和内存,规定android:updatePeriodMillis这个值不能低于30分钟,也就是 1800000毫秒,低于这个值的会自动默认为30分钟,那么我们要实现每分钟更新一次系统时间就得自己调用Service或者广播来实现,我这里是调用handler机制实现的。

还有就是android:initialLayout这个表示插件的布局文件,用@layout引用。

因为我的时钟并不是textv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值