《Android高手进阶教程八之AndroidWidget开发案例世界杯倒计时!》由会员分享,可在线阅读,更多相关《Android高手进阶教程八之AndroidWidget开发案例世界杯倒计时!(8页珍藏版)》请在金锄头文库上搜索。
1、今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图: 下面是Demo的详细步骤:一、新建一个Android工程命名为:WidgetDemo. 二、准备素材,一个是Widget的图标,一个是Widget的背景。存放目录如下图: 三、修改string.xml文件如下:1 view plaincopy to clipboardprint? 2 3 4 Hello World, WidetDemo! 5 DaysToWorldCup 6 7 8 9 Hello World, WidetDemo! 10 DaysToWorldCup 1
2、1 四、建立Widget内容提供者文件,我们在res下建立xml文件夹,并且新建一个widget_provider.xml代码入下:12 view plaincopy to clipboardprint? 13 14 20 21 五、修改main.xml布局,代码如下:27 view plaincopy to clipboardprint? 28 29 35 43 44 45 51 59 60 61 六、修改WidgetDemo.java代码如下: 62 view plaincopy to clipboardprint? 63 package com.android.tutor; 64 imp
3、ort java.util.Calendar; 65 import java.util.Date; 66 import java.util.GregorianCalendar; 67 import java.util.Timer; 68 import java.util.TimerTask; 69 import android.appwidget.AppWidgetManager; 70 import android.appwidget.AppWidgetProvider; 71 import android.content.ComponentName; 72 import android.c
4、ontent.Context; 73 import android.widget.RemoteViews; 74 public class WidetDemo extends AppWidgetProvider 75 /* Called when the activity is first created. */ 76 77 Override 78 public void onUpdate(Context context, AppWidgetManager appWidgetManager, 79 int appWidgetIds) 80 81 Timer timer = new Timer(
5、); 82 timer.scheduleAtFixedRate(new MyTime(context,appWidgetManager), 1, 60000); 83 super.onUpdate(context, appWidgetManager, appWidgetIds); 84 85 86 87 private class MyTime extends TimerTask 88 RemoteViews remoteViews; 89 AppWidgetManager appWidgetManager; 90 ComponentName thisWidget; 91 92 public
6、MyTime(Context context,AppWidgetManager appWidgetManager) 93 this.appWidgetManager = appWidgetManager; 94 remoteViews = new RemoteViews(context.getPackageName(),R.layout.main); 95 96 thisWidget = new ComponentName(context,WidetDemo.class); 97 98 public void run() 99 100 Date date = new Date(); 101 C
7、alendar calendar = new GregorianCalendar(2010,06,11); 102 long days = (calendar.getTimeInMillis()-date.getTime()/1000)/86400; 103 remoteViews.setTextViewText(R.id.wordcup, 距离南非世界杯还有 + days+天); 104 appWidgetManager.updateAppWidget(thisWidget, remoteViews); 105 106 107 108 109 110 111 package com.android.tutor; 112 import java.util.Calendar; 113 import java.util.Date; 114 import java.util.GregorianCalendar; 115