专注于Blackberry

每周一技: ServiceBook初探

关于Service Book,已经不止一次在本站讨论了。在这里还是简单概括一下:服务的配置。例如,上网,需要有GPRS和WAP的配置,对WIFI,有WIFI的配置。
本文是Service Book的初探,有必要的话或需求的话,我会更深一步讲解。
首先介绍如何访问机器上的Service Book,要实现这个功能,我们可以参考一下API,API已经提供了相关的接口了。代码如下:
ServiceBook sb = ServiceBook.getSB();
ServiceRecord[] srs = sb.getRecords();
通过ServiceRecord,我们可以得到什么内容呢?

CID,比如邮件的CID为CMIME,可以通过srs[i].getCid得到相关内容
APN,既然访问网络,APN也必须得到,这对于一些网络编程非常有帮助
网络地址,和网络类型
其他

我建议看看ServiceRecord 该类的文档,说不定有意想不到的收获。
现在给出一个完整的例子:
public void listServiceBook()
{
ServiceBook sb = ServiceBook.getSB();
ServiceRecord[] srs = sb.getRecords();

for(int index [...]

继续阅读本文 →

  

Confach发表于 July 23, 2009 6:09 pm | 留言(4) |每周一技 

每周一技:从BES服务器上lookup联系人

本文将讨论如何从BES上远程查找联系人。
背景
如果你的Blackberry能够使用BES,或者已经激活,那么在地址簿里会多一个菜单,即lookup,如下图
这个lookup和Find是有区别的。区别在于Find是从本地查找,而lookup则是远程查找,即从BES服务器上查找联系人。
BES上的联系人是什么样的?其实就是已经在BES上注册过的联系人,这对于一些企业是非常有帮助的。
概念
Blackberry的概念里,对以上的功能有一个定义,叫GAL,全称为Global Address Lookup。
实现原理
有个问题是,我们如何通过编程的方式去实现呢,幸运的是,Blackberry已经提供相关的API。请参看BlackberryContactList.lookup.原型为:
public void lookup(Contact matching,
RemoteLookupListener listener)
throws IllegalArgumentException
public void lookup(String matching,
[...]

继续阅读本文 →

  

Confach发表于 July 8, 2009 8:29 pm | 留言(1) |每周一技 

故技重施:Blackberry Push API

大概是6月初,RIM以很强的声势推出一个新服务,名曰Blackberry Push API。在没有看文档前,我非常憧憬RIM能给我们带来惊喜。但是我看完之后,发现RIM仅仅把原来的技术重新包装了一遍。
从商业的角度讲,我非常赞成RIM的这种做法,现在的很多新概念有很多都是把N年以前的东西拿出来翻新一下,例如AJax,SaaS等,都取得了不错的效果。
但是从技术角度上讲,也确实没什么。
我将该服务总结为一句话,即将Blackberry最具特色的PUSH功能应用到客户的需求上。
即便如此,我还是将我N年以前使用过的技术重温一下,顺便也说说PUSH API 的应用。
应用背景:
先举个例子,未必是真实的。假如上海有家出租车公司小众(不是大众),要通知司机小张,有个客户在人民广场的来福士广场有个客户于14:00需要车,那么小众通过何种方式将这个信息传给小张呢?假如小众公司正在使用Blackberry的服务,那么可以通过Alert的方式来实现。
现在总结一下:

alert
新闻
财经
定单
文档
体育

服务不仅仅限于上面。
原理:
先看张图

简要解释一下:
先解释身份角色:
Push Initiator:相当于小众公司,后面见车简称PI
Blackberry Push Data Server:相当于部署在小众公司的Blackberry服务基础架构,后面简称BPIS
Mobile Client:司机小张的Blackberry终端,简称,MC
再解释一下流程:

PI发送一个push请求,即客户信息
BPIS给出一个返回给PI
BPIS就请求push给MC
MC收到后给出一个ACKnowledge,确认
BPIS给PI一个通知
PI收到后给BPIS一个返回

类似的机制和互联网的三次握手类似,就是Request/ACK/Response.目的就是为了保证大家都收到。
优点
很显然,省电,能够及时送达,安全,包括传送,以及安全送达。
实现

PAP
XML HTTP 请求
几种push,例如submit,cancel,query等,具体技术细节不讲,因为这些又可以单独拿出来了。

综合上述,如果您熟悉PUSH,是不是觉得似曾相识呢。
不管怎么说,从中,我们可以进一步,也更清晰了解Blackberry PUSH这个概念。这在以后的解决方案中提供不少思路。

继续阅读本文 →

  

Confach发表于 June 29, 2009 7:46 pm | 留言(2) |开发 

上一页 Next Page »