每周一技: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) |开发
最新留言
- 高超:还有我按照http://www.52blackberry.com/thread-291671-1-1.html这个网站的方法实验过,还是不可以,不知道哪里做的不对
- 高超:说实话我没有看懂说的是什么,但是我很想像楼主那样使用SB的应用,我想楼主详细的告诉我应该怎么操作才能使用。谢谢 另:我没有使用移动的SB,那又点贵,不知道楼主的方法是不是需要移动推入,我使用的是blackberry的8520,支持WIFI 等待回复谢谢
- nio:ESS和MDS设置完毕之后,还是无法接收邮件,请较如下: MDS设置中的 Email.userId是写邮箱登陆用户名? Email.address需要修改么? Email.personal需要修改么? ESS设置中的 Email.personal跟MDS中的Email.personal有关系吗? Email.address跟MDS中的Email.address有关系吗? 以上两项应该设置成什么? ps:我用的是126的邮箱,用本地的outlook没有问题~
- 涂鸦:姜还是老的辣。
- Kirsten30MG:A lot of professors demand to examine the writing technique, hence, people have to choose dissertation service to buy free dissertation. In such way people show academic level. And as well you should get thesis.
