专注于Blackberry

存档: 开发

SB应用(1) HTTP连接

前面已经写了一篇关于Service book的入门文章,请参看文章《每周一技: ServiceBook初探》 本文将介绍Service Book的第一个应用:HTTP连接,希望能够起到抛砖引用的功能。 大家都知道,用Blackberry上网是玩家必会的一个项目,但有时很难在cmnet,cmwap,wifi间选择。特别是WIFI,在当前的Internet环境里绝对是便利的,速度快,而且省流量。这里就引出一个问题,如何使用这些东东启动HTTP连接呢? 注,本文只讲解HTTP,如果您要使用HTTPS,Socket请参看其他,其实原理都是类似。 其实很简单,首先,需要判断您的Blackberry手机是否支持这些东西。 先看以下代码: public void makeHttp () { ServiceBook sb = ServiceBook.getSB(); ServiceRecord[] srs = sb.getRecords(); for(int index = srs.length – 1; index >= 0; –index) { String uid = srs[index].getUid().toLowerCase(); if( uid.equalsIgnoreCase( “wap2 tans” )) { //add your code here } else if( uid.equalsIgnoreCase(“s tcp_wfi”)) { //add your [...]

继续阅读本文 →

Taigoo发表于 August 6, 2009 10:37 pm | 留言(3) |每周一技 

每周一技:日志

因为工作的原因,发现日志是必不可少的,这在以后的使用中,对调试,对技术支持起到非常重要的作用。 因为Blackberry的特殊性,一般人不会选在设备上调试,大多数人都选择在模拟器上开发。所以开发的程序一旦部署在设备上时,已经很难知道运行的状态。这个时候,好的日志就变得那么重要,如果好的话,可以减少几个round。 那么,如何写日志呢? 首先,需要熟悉Blackberry的日志API。还记得alt+lglg吗?这是一个不错的选择。 其次,该记录那些内容呢?答案也很简单,记录一些有用的信息,一般来说包括: 记录程序执行的顺序 记录程序执行的环境 记录一些重要的条件 记录一些警告,错误等信息 好的,接下来就是实现了,我们现在介绍如何将日志写到Blackberry的日志平台上。 直接贴代码: /* 2 * BlackberryLogger.java 3 * 4 * Copyright (C) Taiguo Zhang 5 * 6 * Author: Taigoo Zhang 7 * Email: confach(#—)gmail.com 8 */ 9 10 11 12 import net.rim.device.api.system.EventLogger; 13 import java.io.UnsupportedEncodingException; 14 15 16 /** 17 * The BlackberryLoggerto log all [...]

继续阅读本文 →

Taigoo发表于 July 30, 2009 7:13 pm | 留言(3) |每周一技 

每周一技: 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 | 留言 |每周一技 

上一页