专注于Blackberry

每周一技:HyperLinkField

这是每周一技的第二篇了。
前一篇介绍了从BES读取contacts的技术以及遇到相关问题的解决方案(via 每周一技:从BES服务器上lookup联系人)。
本篇将介绍如何编写自定义的超级链接控件。
背景
在很多情况下,我们都会遇见超级连接的显示,遗憾的是在Blackberry没有提供类似于HyperLinkField的组件,这给我们增加了很多麻烦,如果能够解决该问题,将会是一个不错的选择。
分析
既然Blackberry API没有,我们自己可以写一个该Field,在这里,我们将之命名为HyperLinkField,以符合Blackberry API命名的规则。
实现
先看几张效果图:
图1,当focus在其他field时HyperLinkField的样式.

图2 当光标移到该field上时,颜色会变蓝,当然你也可以更改颜色。

图3,当点击该Field时,

图4,其菜单如下

该Get Page就会打开连接。
在编写代码需要注意一下几个地方:

参数的设置
Layout的处理
如何paint
菜单的处理
点击该field如何处理

下面给出部分重要的代码。
package com.taigoo.blackberry.weekskills.hyperlink;

import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.DrawStyle;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.MenuItem;
import net.rim.device.api.ui.ContextMenu;
import net.rim.device.api.ui.Font;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.XYRect;
import net.rim.device.api.system.Display;
import net.rim.blackberry.api.browser.*;

public class HyperLinkField extends Field {

private String _displayName ;
private String _url;
private Font _font;
private MenuItem _openMenuItem;

/**
[...]

继续阅读本文 →

  

Confach发表于 July 14, 2009 7:35 pm | 留言 |每周一技 

周日晚八点 20090712

要闻集锦

传电信引入Blackberry有进展

上周文章已经谈及RIM和中国电信就合作事宜正在洽谈(具体参看电信和RIM谈判),这周二又开始说有进展。就我个人而言,我觉得如果真要合作,可能有以下结果:Blackberry Tour 9630或Blackberry Storm 9530将是第一款引入的手机。极有可能先上BIS服务。资费会比现在移动的398低很多

尚邮推出尚邮商务精英版

尚邮(Shangmail)推出收费版是迟早的事情,2009年7月9号(原来高考结束的日子)正式推出。黑莓版58元/月,非黑莓38元/月,还有更高级的,分别为98元/月,138元/月,总感觉尚邮对价格遮遮掩掩的,看看官方网站上价格提及甚少。既然都发布了,那就甭不好意思啦。就我个人而言,希望能有一个好的开端啦。

联通引进iPhone 3G已成定局?

注意,上面有个问号,因为官方没有发布,就存在悬念,尤其是iPhone这个话题。但是据小道消息,差不多了,而且已经送到工信部测试了,其结果当然能通过啦。唯一令人觉得不爽的是WIFI阉割了,这在以前的文章通拥有iPhone就能成功吗早已提及。甚至煞有其事说价格在3K元左右。谁知道呢?

针对 BlackBerry 的 .tel 现已在 BlackBerry App World 推出

专注于通信领域的新顶级域名 (TLD) .tel 的注册运营商 Telnic Limited (http://telnic.org) 7月10号宣布,该公司用于管理 .tel 信息并将其直接整合进 BlackBerry(R) 地址簿的应用已通过 BlackBerry App World 推出。第一次听说tel顶级域名,于今年3月份推出。如果您有兴趣,请访问http://bb.apps.telnic.tel。

Blackberry将在新机型上引进TackPad,而代替轨迹球。

RIM股价
这周股价跌%4.42%,截止周五收盘66.63,市值378.1美元,没有什么特殊表现。

推荐软件

MindBerry,也能让Blackberry思维导图

思维导图,在手指尖随时记录想法。
技术文章

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

其他

每周将写一篇技术文章

继续阅读本文 →

  

Confach发表于 July 12, 2009 8:19 pm | 留言(2) |周日晚八点 

故技重施: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 »