DemoApp20 移动商务应用项目技术点
· 基于5.0 SDK以上版本的客户端推送
实现推送关键的类包括:
PushApplication - 实现推送客户端的接口
PushApplicationDescriptor -根据应用属性创建和管理推送客户端,端口,URL,App ID等。
PushApplicationRegistry - 注册推送客户端
实现客户端推送有两个步骤:一是创建和实现推送客户端,二是注册推送客户端并启动侦听。
1. 创建和实现推送客户端,参考类DemoApp
public class DemoApp extends UiApplication implements PushApplication{
// 让程序入口DemoApp实现推送接口,DemoApp也成为推送客户端
public static void main(String[] args){
// 程序启动入口
}
public voidPushInputStream
// 当有推送数据达到客户端时,调用该接口。数据在input中。
}
public void onStatusChange(PushApplicationStatus arg0) {
// 当推送客户端状态改变时,调用该接口。
}
}
2. 注册并启动侦听,参考类OptionsScreen的构造函数
ButtonField listenButton = new ButtonField("开始侦听") {
protected boolean navigationClick(int status, int time) {
try {
int pushPort = OptionsData.getInstance().getPushPort();//侦听端口
PushApplicationDescriptor pad =
new PushApplicationDescriptor(pushPort);
PushApplicationRegistry.registerApplication(pad);//注册
Dialog.inform("侦听启动成功!");
} catch (Exception e) {
Logger.log("unable to start push listener" + e);
Dialog.inform("侦听启动失败!");
}
return true;
}
};
· BI报表图
BI报表模块目前支持三种商务报表,柱状图、饼状图、折线图。图2为三种商务报表在9800上的显示。
图2
报表通过JavaScript的调用实现。每一张报表都是一个HTML文件,HTML内嵌JavaScript来绘制报表。每个HTML文件通过规定的URL格式在控件BrowserField上显示。再将BrowserField 添加到Screen上展示给用户。实现流程如下:
1. BIDocumentScreen.displayMessage(Manager)调用BrowserField显示HTML报表:
该代码中的url指向HTML报表页面,例:doc.setURL
("local:///cn/blackberry/bi/web/sample/bar.html");请参考 BIDocumentManager.initSampleData()。
商务报表HTML文件在包 cn.blackberry.bi.web.sample内, bar.html, line.html, pie.html。每个报表HTML通过调用JavaScript 图形API来实现报表。这些JS图形API在包cn.blackberry.bi.web.js内。
if (doc.getContentType().equals(BIDocument.CONTENTTYPE_HTML)) {
String htmlContent = this.doc.getHtmlContent();
browserField.displayContent(htmlContent, "local:///");
} else if (doc.getContentType().equals(BIDocument.CONTENTTYPE_URL)) {
String url = this.doc.getURL();
browserField.requestContent(url);
}