中华万年历插件开发说明书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中华万年历插件开发说明书江苏华易科技有限公司

文件变更记录

目录

1.概述 (3)

2.请求接口 (3)

2.1请求农历: (3)

2.2请求提醒: (4)

2.3请求天气 (4)

2.4请求自定义程序 (5)

3.插件开发 (5)

3.1定义广播 (5)

3.2注册广播 (6)

3.3创建布局文件 (7)

3.4绑定布局 (7)

3.5时间更新 (7)

1.概述

本文档适用于中华万年历桌面插件的开发,该文档为客户端功能开发提供依据和参考。客户端端需按照本文档注明的功能点进行开发,并确保功能的可使用性。本文档以最新版为主,新版发布后旧版自动作废。

2.请求接口

请求前提:已安装中华万年历。

2.1请求农历:

Cursor

cur=ctx.getContentResolver().query(Uri.parse("content://cn.etouch.eca lendar.provider/nongli/"+todayString), null, null, null, null);

i f(cur!=null){

Bundle bundle=cur.getExtras();

if(bundle!=null){

widgetBean.year_n=bundle.getString("nong_year");

widgetBean.month_n=bundle.getString("nong_month");

widgetBean.date_n=bundle.getString("nong_date");

widgetBean.year_gz=bundle.getString("nong_year_gz")+"年";

widgetBean.month_gz=bundle.getString("nong_month_gz")+"月";

widgetBean.date_gz=bundle.getString("nong_date_gz")+"日";

}

cur.close();

}

参数描述:

/nongli/:代表请求的是农历信息。

todayString:必须为8位代表当前日期的数字,如:20100201。

参数对应数据:

nong_year:农历年

nong_month:农历月

nong_date:农历日

nong_year_gz:农历年干支

nong_month_gz:农历月干支

nong_date_gz:农历日干支

2.2请求提醒:

Cursor

cur=ctx.getContentResolver().query(Uri.parse("content://cn.etouch.eca lendar.provider/tixing/"+todayString), null, null, null, null);

i f(cur!=null){

Bundle bundle=cur.getExtras();

if(bundle!=null){

widgetBean.tixing=bundle.getString("tixing");

}

cur.close();

}

参数描述:

/tixing/:代表请求的是提醒信息。

todayString:必须为8位代表当前日期的数字,如:20100201。

参数对应数据:

Tixing:包括日程、节日等信息。

2.3请求天气

Cursor

cur=ctx.getContentResolver().query(Uri.parse("content://cn.etouch.eca lendar.provider/weather/"+todayString+"/"+actionType), null, null, null, null);

if(cur!=null){

B undle bundle=cur.getExtras();

i f(bundle!=null){

String resultCode=bundle.getString("resultCode");

if(resultCode.equals("1000")){

widgetBean.city=bundle.getString("city");

widgetBean.nowTemp=bundle.getString("nowTemp");

}else if(resultCode.equals("1001")){

//暂无数据

}else if(resultCode.equals("1003")){

//当前只有一个城市

}else{

//更新失败

}

}

c ur.close();

参数描述:

/weather/:代表请求的是天气信息。

todayString:必须为8位代表当前日期的数字,如:20100201。

actionType:1代表获取当前城市天气,2代表刷新当前城市天气,3代表切换到下一个城市。参数对应数据:

resultCode:返回参数,1000表示成功,1001表示暂无数据,1002表示当前只有一个城市,其他值表示更新失败。

city:城市

nowTemp:当前温度

weather:天气信息

2.4请求自定义程序

Cursor

cur=ctx.getContentResolver().query(Uri.parse("content://cn.etouch.eca lendar.provider/widgetSettings"), null, null, null, null);

if(cur!=null){

Bundle bundle=cur.getExtras();

if(bundle!=null){

startApplicationByPackageName(ctx,

bundle.getString("packageName"), null);

MyPreferences.getInstance(ctx).setIsWidgetUse24Hours(bundle.getBoolea n("IsWidgetUse24Hours"));

}

cur.close();

}else{

startApplicationByPackageName(ctx,"default", null);

}

参数描述:

/widgetSettings:代表请求的是用户自定义信息。

参数对应数据:

packageName:插件自定义区域点击事件包名。

IsWidgetUse24Hours:是否以24小时制显示时间。

3.插件开发

注:为了避免在Launcher中出现插件对应的程序,需把AndroidManifest.xml中Activity对应的UNCHER属性去掉。

3.1定义广播

相关文档
最新文档