第2章 编写BlackBerry Java应用程序
应用程序管理
编写一个例程
重用一般代码
使用BlackBerry IDE
使用命令行
使用蓝牙开发环境
使用Eclipse开发环境
编程指南
|
当BlackBerry设备启动时,VM加载应用程序管理器,它管理在BlackBerry设备上所有运行的程序。对于其他Java程序,应用程序管理器的功能类似操作系统事件的中心调度员一样。
提供用户界面的应用程序扩展了net.rim.device.api.ui.UiApplication类。这个类为应用程序提供方法来注册事件监听者,管理线程以及UI组件。
没有提供用户界面的应用程序扩展了net.rim.device.api.system.Application类。
BlackBerry应用程序开始于main()函数。当一个程序开始时,它的main()线程调用enterEventDispatcher()来开始处理事件。这个线程运行所有绘图以及事件处理的代码,以及登等待应用程序队列里地事件。
当应用程序管理器接收到一个事件时,它将这个事件拷贝到合适的队列里,这个队列可以允许应用程序管理器指挥消息到特定的程序中。例如,前台的应用程序仅接收用户输入的消息。
扩展UiApplication基类
每个提供用户接口的应用程序扩展了UiApplication基类,UiApplication类为应用程序定义了方法来建立一个事件线程,并且显示和维护Screen对象。
定义 main()
在main()中,为应用程序创建一个新的对象。调用enterEventDispatcher()使应用程序进入事件线程并且开始处理消息。
public static void main(String[] args) {
HelloWorld theApp = new HelloWorld();
theApp.enterEventDispatcher();
}
|
为你的应用程序定义缺省的构造子。缺省的构造子调用UiApplication.pushScreen()以显示当应用程序启动时出现的屏幕。在本例中,屏幕使一个新的HelloWorldScreen实例,它在下节的代码中定义:
public HelloWorld() {
pushScreen(new HelloWorldScreen());
}
|
定义main屏幕
为了定义应用程序UI的主屏幕,扩展MainScreen类。MainScreen类是Screen的子类,它实现了TrackwheelListener和KeyboardListener接口,这些接口接收和响应用户交互。如果你扩展Screen类或者其子类中的一个,你并不是必须实现TrackwheelListener 和KeyboardListener接口。
你的类至少应该重写2个MainScreen的方法:缺省的构造子和onClose().
在这个例子中,构造子调用了MainScreen的构造子。缺省地,MainScreen提供下列特性:
-
由一个Close菜单项的缺省菜单。
-
当你点击Close或者按Escape时,缺省的是关闭动作。为了提供客户定制行为,例如显示一个对话框提示,当用户点击Close菜单项或者按Escape按钮,重写onClose().
-
一个RichTextField 的实例,一个可以接收焦点的只读富文本域 为了得到更多关于增加UI组件到屏幕中的信息,参看40页的“提供屏幕导航”
-
一个Select菜单项的上下文菜单? 为了得到更多信息,参看60页的“创建定制的上下文菜单“
接下来的例子创建了一个屏幕,它包含了一个富文本域。当富文本域接收到焦点时,菜单保安一个Close菜单项和一个Select上下文菜单项。
例: HelloWorld.java
/**
* HelloWorld.java
* Copyright (C) 2001-2005 Research In Motion Limited. All rights reserved.
*/
package com.rim.samples.docs.helloworld;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.system.*;
import com.rim.samples.docs.resource.*;
public class HelloWorld extends UiApplication {
public static void main(String[] args) {
HelloWorld theApp = new HelloWorld();
theApp.enterEventDispatcher();
}
public HelloWorld() {
pushScreen(new HelloWorldScreen());
}
}
final class HelloWorldScreen extends MainScreen {
public HelloWorldScreen() {
super();
LabelField title = new LabelField(“HelloWorld Sample”, LabelField.ELLIPSIS
| LabelField.USE_ALL_WIDTH);
setTitle(title);
add(new RichTextField(“Hello World!”));
}
public boolean onClose() {
Dialog.alert(“Goodbye!”);
System.exit(0);
return true;
}
}
抽象基类可以使你跨越多个类实现和重用一般功能。每个应用程序可以扩展单个基类。在BlackBerry IDE,加入基类到一个库项目中。为每个应用程序创建一个独立的项目,定义库项目的依赖。
本指南的例程扩展了BaseApp类,它实现下面的功能:
-
扩展UiApplication类
-
实现KeyListener和TrackwheelListener接口
- 定义变量,例如一般的菜单项
- 定义一个方法创建应用程序菜单。
- 为菜单选择定义一个方法
- 定义一个抽象方法退出程序
例: BaseApp.java
/*
* * BaseApp.java
* * Copyright (C) 2001-2005 Research In Motion Limited. All rights reserved.
* */
package com.rim.samples.docs.baseapp;
import net.rim.device.api.i18n.*;
import net.rim.device.api.system.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import com.rim.samples.docs.resource.*;
public abstract; padding
分享到:
相关推荐
BlackBerry(黑莓)应用程序开发者指南是一份详细的教学资料,旨在帮助开发者们利用Java技术创建在BlackBerry设备上运行的应用程序。这份指南分为基础和高级两部分,涵盖了从入门到进阶的所有关键知识点,旨在让...
"BlackBerry应用程序开发者指南.pdf" 这个文件很可能是官方或第三方编写的关于BlackBerry应用程序开发的详细指南,涵盖从基础概念到高级特性的全面教程。开发者可以从中学习如何创建、测试和发布BlackBerry应用,...
2. **JDE(Java Development Environment)**:这是黑莓提供的集成开发环境,用于编写、调试和测试黑莓应用。通过JDE,你可以创建新项目,编辑代码,设置断点,查看日志,以及在模拟器上运行和测试应用。 3. **...
1. **编写和编译应用程序**:使用BlackBerry Java SDK或相关IDE(如Eclipse插件),开发者编写黑莓应用程序的源代码,然后进行编译生成COD文件。 2. **生成ALX文件**:利用"黑莓COD文件ALX生成器",输入必要的应用...
- **实例教学**:通过实际案例讲解如何使用Java语言编写BlackBerry应用程序,帮助读者快速掌握关键技术和开发技巧。 - **最佳实践**:书中总结了许多在实际开发过程中积累的最佳实践,帮助开发者避免常见的错误,...
BlackBerry OS原生支持JavaME,因此开发者通常使用Java编写BlackBerry应用。 2. **代码转换**:由于BlackBerry的COD格式与标准Java字节码不同,因此需要特定的工具(如本例中的“java转黑霉专用软件”)来将Java源...
#### 三、开发第一个 BlackBerry 应用 **3.1 创建 BlackBerry 项目** 1. **打开 Eclipse**:确保 Eclipse 已经成功安装,并且 BlackBerry JDE Plug-In for Eclipse 已经正确安装。 2. **新建 BlackBerry 项目**:...
通过本教程,您将学会如何配置Eclipse与黑莓Java开发环境(BlackBerry JDE),为开发黑莓平台的应用程序打下坚实的基础。 #### 二、准备工作 在正式开始环境搭建之前,我们需要准备以下工具: 1. **JDK 1.6.0_03**:...
第2章回过头来介绍Android的基本概念和原理。第3章探讨用户界面,也就是大多数Android程序中最重要的部分。 致谢 我要感谢为本书成功出版做出贡献的许多人,包括审稿人Anthony Stevens、Gabor Paller、Fred ...
它的操作系统支持Java应用,开发者可以利用Blackberry SDK和RIM(Research In Motion,Blackberry制造商)提供的工具来构建应用程序。 【压缩包子文件的文件名称列表】: sPlan7.0 这个文件名可能是项目的主程序或者...
2. 开发环境:期刊可能介绍了当时的BlackBerry JDE(Java Development Environment),这是一个用于创建黑莓应用程序的集成开发环境。开发者可以使用Java ME(Micro Edition)语言编写应用程序,并通过JDE进行编译、...
本文主要面向对黑莓应用程序开发感兴趣的初学者,特别是那些有一定编程基础,希望利用Java语言来构建黑莓应用的人。 黑莓应用开发主要基于Java平台,因为BlackBerry JDE(Java Development Environment)提供了开发...
这是一个集成开发环境,包含了编写、调试和打包Java应用程序所需的所有工具。 2. **Java编程语言**:BlackBerry应用主要基于JavaME(Micro Edition),这是一个为嵌入式设备设计的Java平台。开发者需要熟悉Java语言...
该文档最后修改时间为2006年2月1日,基于黑莓Java开发环境版本4.1编写,文档编号为SWD_X_JDE(EN)-019.002。此文档由Research In Motion Limited版权所有,并明确指出仅供学习交流使用,不得用于商业目的。文档还提供...
- Eclipse IDE提供了一个集成开发环境(IDE),用于Java应用开发,包括BlackBerry应用。 3. **BlackBerry JDE Plunge for Eclipse**:`eJDE-Beta2_With_4_5.zip` - BlackBerry JDE Plunge插件使Eclipse能够支持...
在本篇中,我们将深入探讨“端到端现实世界BlackBerry应用程序”的第五部分。这个系列教程专注于使用Java和C#语言开发BlackBerry移动应用的实践技巧。在这一部分,我们将继续学习如何构建功能完备、适应性强且用户...
1. **跨平台性**:Java的“一次编写,到处运行”特性使得Java游戏可以在多个操作系统和设备上运行,包括Android、Symbian、BlackBerry等。 2. **丰富的类库**:Java拥有强大的标准库,如JavaFX和Java游戏开发库(如...