专注于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 = srs.length – 1; index >= 0; –index) { //identify the service record associated with a mail message service [...]

继续阅读本文 →

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

每周一技: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 [...]

继续阅读本文 →

Taigoo发表于 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联系人 其他 每周将写一篇技术文章

继续阅读本文 →

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

每周一技:从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, RemoteLookupListener listener) throws IllegalArgumentException 很明显,我们会用后者。查找一个字符串,其结果将在RemoteLookupListener 的items方法里处理。 具体实现 很明显,我们必须定义RemoteLookupListener接口,该如何实现呢? 我们可以这样: public final class ContactListScreen implements RemoteLookupListener { private Vector _vecLookupContacts ; public ContactListScreen(){ _vecLookupContacts = new Vector(); } /** * Override. */ public void items(Enumeration results) { [...]

继续阅读本文 →

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

上一页