在本课中,您将编写代码来创建并连接 UltraLiteJ 数据库。用于创建新数据库的代码在名为 DataAccess 的单个类中定义,并从 HomeScreen 构造函数中调用。使用单个类可确保每次仅打开一个数据库连接。而 UltraLiteJ 支持多个连接,它是使用单个连接的常见设计模式。
修改 HomeScreen 构造函数以实例化 DataAccess 对象。
下面是已完全更新的 HomeScreen 类。将 DataAccess 对象保存为类级别变量,以便从代码的其它部分对其进行访问。
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(false); _statusLabel.setText("Status: Connected"); } catch( Exception ex) { _statusLabel.setText("Exception: " + ex.toString() ); } } private LabelField _statusLabel; private DataAccess _da; } |
在 HelloBlackBerry 项目中创建名为 myapp\DataAccess.java 的文件。
提供确保单个数据库连接的方法 getDataAccess。
package myapp; import ianywhere.ultralitej.*; import java.util.*; import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; 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 ); } else { try{ _conn = DatabaseManager.connect( _config ); } catch( ULjException uex1) { if( uex1.getErrorCode() != ULjException.SQLE_ULTRALITE_DATABASE_NOT_FOUND ) { System.out.println( "Exception: " + uex1.toString() ); Dialog.alert( "Exception: " + uex1.toString() + ". Recreating database..." ); } _conn = DatabaseManager.createDatabase( _config ); } } // _da.createDatabaseSchema(); } return _da; } private static Connection _conn; private static DataAccess _da; } |
此类从 UltraLiteJ.jar 文件导入 ianywhere.ultralitej 包。创建或连接到数据库的步骤如下:
定义配置。在本示例中,配置为 ConfigObjectStore 配置对象,这意味着 UltraLiteJ 数据库保存在 BlackBerry 对象存储库中。
尝试连接到数据库。
如果连接尝试失败,则创建数据库。createDatabase 方法随后返回一个已打开的连接。
按下 F5 构建应用程序并将其部署到设备模拟器。
从 [File] 菜单中选择 [Load Java Program]。
浏览至 UltraLiteJ 安装目录的 J2meRim11 文件夹,然后打开 UltraLiteJ.cod 文件。
从模拟器运行程序。
您应该会看到一条状态消息,它指示应用程序已成功连接到数据库。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |