在本课中,将编写代码以创建并连接到 UltraLite Java 版数据库。
前提条件
本课假定您已完成前面的所有课程。 请参见第 1 课:设置新的 BlackBerry 项目。
上下文和注释
用于创建新数据库的代码在名为 [DataAccess] 的单个类中定义,并从 [HomeScreen] 构造函数中调用。使用单个类可确保每次仅打开一个数据库连接。而 UltraLiteJ API 支持多个连接,这是使用单个连接的常见设计模式。
修改 [HomeScreen] 类来实例化 [DataAccess] 对象。
以下为完整且经过更新的 [HomeScreen] 类代码列表:
import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; import java.util.*; class HomeScreen extends MainScreen { HomeScreen() { // Set the window title LabelField applicationTitle = new LabelField("Hello BlackBerry"); setTitle(applicationTitle); // Add a label to show application status _statusLabel = new LabelField("Status: Started"); add(_statusLabel); // Create database and connect try { _da = DataAccess.getDataAccess(true); _statusLabel.setText("Status: Connected"); } catch(Exception ex) { _statusLabel.setText("Exception: " + ex.toString()); } } private LabelField _statusLabel; private DataAccess _da; } |
Eclipse 可能会发出警告,指明无法解析 [DataAccess]。[DataAccess] 对象被保存为类级别变量,以便能够从代码的其它部分对其进行访问。在下一个步骤中将创建 [DataAccess] 类。
将 [DataAccess] 类添加到项目中。
在 [Package Explorer] 窗口中,展开 [HelloBlackBerry] 并单击 [src]。
单击 [File] » [New] » [Class]。
随即出现 [New Java Class] 窗口。
在 [Name] 字段中,键入 DataAccess。
单击 [Finish]。
DataAccess.java 文件将出现在 [Package Explorer] 窗口中项目的下方。
修改 [DataAccess] 类,使其包含 [getDataAccess] 方法,以确保单个数据库连接。
双击 [Package Explorer] 窗口中的 DataAccess.java,然后使用以下片段替换代码:
import com.ianywhere.ultralitej16.*; import net.rim.device.api.ui.component.*; import java.util.*; class DataAccess { DataAccess() { } public static synchronized DataAccess getDataAccess(boolean reset) throws Exception { if (_da == null) { _da = new DataAccess(); ConfigObjectStore config = DatabaseManager.createConfigurationObjectStore("HelloDB"); if (reset) { _conn = DatabaseManager.createDatabase(config); // _da.createDatabaseSchema(); } else { try { _conn = DatabaseManager.connect(config); } catch (ULjException uex1) { if (uex1.getErrorCode() != ULjException.SQLE_ULTRALITE_DATABASE_NOT_FOUND) { Dialog.alert("Exception: " + uex1.toString() + ". Recreating database..."); } _conn = DatabaseManager.createDatabase(config); // _da.createDatabaseSchema(); } } } return _da; } private static Connection _conn; private static DataAccess _da; } |
此类将从 UltraLiteJ16.jar 文件导入 [com.ianywhere.ultralitej16] 包。创建或连接到 UltraLite Java 版数据库需要以下步骤:
定义配置。在本教程中,配置对象由 [ConfigObjectStore] 接口定义,它允许配置一个驻留在 BlackBerry 对象存储库中的永久数据库。
尝试连接到数据库。在本教程中,当连接尝试失败时,会使用 [createDatabase] 方法创建数据库。此方法随后会返回一个开放的连接。
单击 [File] » [Save]。
运行模拟器。
在 [Package Explorer] 窗口中,单击 Application.java,然后单击 [Run] » [Run As] » [BlackBerry Simulator]。
如果在工作区打开了多个项目,可单击 [Run] » [Run Configurations],选择 [HelloBlackBerry],然后单击 [Run]。
[HelloBlackBerry] 项目开始编译,随后模拟器窗口出现。
选择 Eclipse 中的 [Problems] 选项卡,确保编译过程未出差错。
从模拟器菜单单击 [File] » [Load Java Program]。
浏览至 SQL Anywhere 安装目录 \UltraLite\UltraLiteJ\BlackBerry4.2\ 并打开 UltraLiteJ16.cod 文件。
可能需要将 UltraLiteJ16.cod 和 DBG 文件复制到模拟器的工作目录(例如,C:\Eclipse\plugins\net.rim.ejde.componentpack6.0.0_6.0.0.0.26\components\simulator\)以运行应用程序。在完成复制后,将不再需要从模拟器菜单装载 Java 程序。
从模拟器菜单单击 [Simulate] » [Set IT Policy]。
[Set IT Policy] 窗口出现。
在 [Policy] 字段中,单击 [Allow Third Party Apps to Use Persistent Store],然后单击 [>>]。
单击 [Set],然后单击 [Close]。
启动应用程序。
在模拟器窗口中,导航至 [Downloads],然后运行 [HelloBlackBerry] 应用程序。
会出现一个屏幕,显示 [Hello BlackBerry] 标题栏和 [Status: Connected] 文本,表示应用程序已成功连接到 UltraLite Java 版数据库。
停止模拟器。
在模拟器窗口中,单击 [File] » [Exit]。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |