BlackBerry Java客户端开发项目实例教程三

DemoApp20 移动商务应用项目技术点

·         基于5.0 SDK以上版本的客户端推送

 

实现推送关键的类包括:

 

PushApplication - 实现推送客户端的接口

PushApplicationDescriptor -根据应用属性创建和管理推送客户端,端口,URLApp ID等。

PushApplicationRegistry - 注册推送客户端

 

实现客户端推送有两个步骤:一是创建和实现推送客户端,二是注册推送客户端并启动侦听。

 

1.   创建和实现推送客户端,参考类DemoApp

 

 

 

public class DemoApp extends UiApplication implements PushApplication{

// 让程序入口DemoApp实现推送接口,DemoApp也成为推送客户端

 

public static void main(String[] args){

// 程序启动入口

}

 

    public void onMessage(PushInputStream input, StreamConnection arg1){

    // 当有推送数据达到客户端时,调用该接口。数据在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);

}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值