基于Android平台的24点游戏设计与实现需求分析(7)

2019-03-22 13:02

=

AppWidget一启动就会启动ForcastTimeService这个后台服务,此服务设置了每隔20秒刷新一次时间,“显示页面”通过这个后台服务获取系统时间从而显示。核心代码如下:

AlarmManager

alarmManager

=

(AlarmManager)getSystemService(Context.ALARM_SERVICE);

alarmManager.set(AlarmManager.RTC_WAKEUP, now + updateMilis, pendingIntent);

至此,后台服务介绍完毕,最后还需要在AndroidManifest.xml文件中注册后台服务。

5.4 用户界面

在用户界面设计上,采用了AppWidget框架结构,提供直观的操作。整个用户界面风格简约、操作简便,用户体验将非常好。

5.4.1 程序入口类

程序运行需要以下四个步骤:

(1)定义Widget布局文件,此文件是res/layout/weather.xml,采用AbsoluteLayout方式进行布局需要注意的是在这个文件中所使用的组件必须是RemoteViews所支持的。

(2)定义Widget的基本属性文件,此文件是/res/xml/weatherwidget.xml。代码如下:

xmlns:android=http://schemas.android.com/apk/res/android android:initialLayout=\//Widget的布局文件

//在启动前首先要启动ConfigureActivity进行设置 android:configure=\ android:minWidth=\ //定义Widget组件的宽度

=

android:minHeight=\//定义Widget组件的高度 android:updatePeriodMillis=\> //更新的时间周期

(3)创建ForecastWidget.java类,此类继承自AppWidgetProvider,主要的功能有:获取需要更新的桌面小控件;启动获取天气预报信息的服务;启动时间信息的服务;更新桌面小控件显示内容;更新时间信息。核心代码如下:

public class ForecastWidget extends AppWidgetProvider {

@Override

void

onUpdate(Context

context,

AppWidgetManager

public

appWidgetManager,int[] appWidgetIds) {

super.onUpdate(context, appWidgetManager, appWidgetIds);

// 获取需要更新的桌面小控件

ForecastService.addWidgetIDs(appWidgetIds);

// 启动获取信息的服务

context.startService(new Intent(context, ForecastService.class));

// 启动时间信息的服务

context.startService(new Intent(context, ForecastTimeService.class));

}

//更新桌面小空间显示内容

public static RemoteViews updateViews(Context context, Uri uri) {

}

//更新时间信息

public static RemoteViews updateTime(Context context) {

}

(4)AppWidgetProvider对应一个receiver属性,需要更新AndroidManifest.xml。代码如下:

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: