黑莓开发学习入门系列,自己动手实现一个日历软件(二)

本文介绍如何在黑莓平台上创建并运行一个简单的Hello World程序,包括设置开发环境、创建项目、编写代码等步骤,并介绍了如何在模拟器中显示中文及自定义图标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建好开发环境后我们就要运行helloword了,
新建一个Project打开工程视图,选择BlackBerry Project
输入工程名,选择对应的BlackBerry JRE版本,本人刷的是4.2的OS,老型号的机器但是相当经典。

目录结构应该是这样的

新建两个类,一个用于主程序,一个用于屏幕显示,下来会解释缘由

HelloWorldMain主类,让它继承net.rim.device.api.ui.UiApplication,作为一个主应用程序的事件线程,显示和维护屏幕对象。HelloWorldScreen类,继承net.rim.device.api.ui.container.MainScreen,作为当前显示的应用程序屏幕,从字面意思也不难理解。 在HelloWorldScreen类的构造函数中直接显示一个Label 在主类中实例化屏幕类,并将此屏幕类的实例压入当前屏幕队列,调用enterEventDispatcher()启动主线程执行。完整的代理如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->package org.bulktree;

import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.MainScreen;

public class HelloWorldScreen extends MainScreen {

    
public HelloWorldScreen() {
        add(
new LabelField("Hello World!"));
    }
}
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->package org.bulktree;

import net.rim.device.api.ui.UiApplication;

public class HelloWorldMain extends UiApplication {

    
    
public HelloWorldMain() {
        HelloWorldScreen hws 
= new HelloWorldScreen();
        pushScreen(hws);
    }
    
    
public static void main(String[] args) {
        HelloWorldMain hw 
= new HelloWorldMain();
        hw.enterEventDispatcher();
    }
}

如何让你模拟器显示中文呢? components\simulator\8700.xml(或者8700-black.xml),在<Application>net.rim.blackberry.lang.en_GB</Application>后加入下面两行:<Application>net.rim.blackberry.lang.zh_CN_Pinyin</Application>
   <Application>net.rim.blackberry.lang.zh_CN.renderingSupport</Application>
完整的配置如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><SimulatorConfiguration version="1.0" hardwareid="0x84000B03" flashSize="32768" platformVersion="1.8.0.0" vendorID="0">
   
<ALXSources>.</ALXSources>
   
<Application>net.rim.java.tasks</Application>
   
<Application>net.rim.java.memopad</Application>
   
<Application>net.rim.medialoader.video</Application>
   
<Application>net.rim.java.docViewer</Application>
   
<Application>net.rim.java.passwordkeeper</Application>
   
<Application>net.rim.blackberry.lang.en_GB</Application>
   
<Application>net.rim.blackberry.lang.zh_CN_Pinyin</Application>
   
<Application>net.rim.blackberry.lang.zh_CN.renderingSupport</Application>
   
<Application>net.rim.blackberry.spellcheck</Application>
   
<Application>net.rim.platform.ecmascript</Application>
   
<Application>com.dataviz.dxtg</Application>
   
<Application>net.rim.java.phone</Application>
   
<Application>net.rim.java.browser</Application>
   
<Application>net.rim.java.browser.javascript</Application>
   
<ApplicationExclude>net.rim.BBXpEnabler</ApplicationExclude>
   
<ApplicationExclude>net.rim.java.batterylog</ApplicationExclude>
   
<ApplicationExclude>net.rim.java.quincy</ApplicationExclude>
   
<ApplicationExclude>net.rim.java.linktrack</ApplicationExclude>
   
<Application>net.rim.java.help</Application>
   
<Application>net.rim.java.maps</Application>
   
<Application>net.rim.java.blackberrymessenger</Application>
   
<Application>net.rim.sdk.simulator</Application>
</SimulatorConfiguration>
都OK了,后我们发现模拟器上应用程序图标是一个命令行窗口,如何实现一个我们自己的图标呢。在工程中产生一个res文件夹,我们可以把资源文件都放在此目录下。copy一个图标过来,可以去自带的components\samples 下找一个,也可以自己做一个,但是尺寸要把握好哦注意到工程下的此BlackBerry_App_Descriptor.xml文件了吗?这次派上用场了,
此时运行模拟器看看是不是变化了: 我取的是默认例子下的图标哦。
摘要:基本上将常用的软件可以在BB用的替代品都找到了,还是感觉自己想要的一些功能没有能实现,于是有了自己写一个程序的想法。初步看了一些开发的文章,BB的程序都是基于Java的,Java以前用过。有好的工具,充分的文档,写一个程序也许不是太大的困难。网上转转,才发现讲BB应用的资料多,探讨BB软件开发的少,好的内容基本都是E文的。将自己边学边用的过程记录下来,遇到的问题是怎么解决的,也许可以让更多的同学少走弯路,不要被一个无法编译通过的“HelloWorld”程序就沮丧得失去了热情。 购入BB8820有一段时间了,的确被其易用、高效所折服。以前也用过Nokia S60 S90的机器,用过基于Windows Mobile的iPaq,都未曾有这样的感觉。基本上将常用的软件可以在BB用的替代品都找到了,还是感觉自己想要的一些功能没有能实现,于是有了自己写一个程序的想法。 初步看了一些开发的文章,BB的程序都是基于Java的,Java以前用过。有好的工具,充分的文档,写一个程序也许不是太大的困难。网上转转,才发现讲BB应用的资料多,探讨BB软件开发的少,好的内容基本都是E文的。真正着手开始边学边用,才发现搭建一个流程的开发环境也不是易事。 我不是专业的Coder更算不上程序员,用过从C、PHP、Delphi、Powerbuilder、VB.Net、T-SQL等多个语言,在Unix、Windows、WM下都开发过程序。感觉就是语言总是相通的,熟悉一门语言,学习另一门语言就是规则的迁移而已。还有为学语言而学习,总是会半途而废,只有是为了解决工作的中的问题、找一个应手的工具,在遇到问题解决问题的过程中不断提高,对语言的理解和应用水平也就突飞猛进了。从工作实习时第一个用Foxpro写的代理行业务记录和统计程序开始,大大小小也写了很多软件或称为程序吧。可惜由于都是与工作相关,无法分享出来,但一个个岗位过来看到同事们能用我写的东东提高效率解决问题,也是挺开心的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值