BlackBerry 应用程序开发者指南 第二卷:高级--第8章 存储持久数据 |
||||||||||||||||
| 作者:佚名 来源:本站整理 发布时间:2008-3-15 1:42:02 | ||||||||||||||||
|
private MenuItem getItem = new MenuItem( _resources.getString(MENUITEM_GET), 110, 11 ) { public void run() { synchronized(store) { String[] currentinfo = (String[])store.getContents(); if(currentinfo == null) { Dialog.alert(_resources.getString(APP_ERROR)); } else { currentusernamefield.setText(currentinfo[0]); currentpasswordfield.setText(currentinfo[1]); } } } }; public static void main(String[] args) { UserInfo app = new UserInfo(); app.enterEventDispatcher(); } public UserInfo() { MainScreen mainScreen = new MainScreen(); mainScreen.setTitle(new LabelField( _resources.getString(APPLICATION_TITLE))); usernamefield = new AutoTextEditField( _resources.getString(FIELD_NAME), ""); passwordfield = new PasswordEditField( _resources.getString(FIELD_PASSWORD),""); currentusernamefield = new AutoTextEditField( _resources.getString(FIELD_CURRENTNAME), ""); currentpasswordfield = new AutoTextEditField( _resources.getString(FIELD_CURRENTPASSWORD),""); SeparatorField separator = new SeparatorField(); mainScreen.add(usernamefield); mainScreen.add(passwordfield); mainScreen.add(separator); mainScreen.add(currentusernamefield); mainScreen.add(currentpasswordfield); mainScreen.addKeyListener(this); mainScreen.addTrackwheelListener(this); pushScreen(mainScreen); } public void makeMenu( Menu menu, int instance ) { menu.add(saveItem); menu.add(getItem); super.makeMenu(menu, 0); } public void onExit() { Dialog.alert(_resources.getString(APP_EXIT)); } } <!--[if !vml]--> 内存管理和持久化对象
在BlackBerry设备上有固定数量的持久化对象句柄以及对象句柄.
BlackBerry设备上的每个持久化对象都会要求一个持久化对象句柄以及一个对象句柄.例如,一个记录包含了10个String字段,那么它将要求11个对象句柄-一个为记录,一个为每个String.如果记录是持久化的,它将需要额外的11个持久化对象句柄. 使用下面的技术限制应用程序需要的持久化对象句柄数:
为获取更多信息,参看”BlackBerry JDE最佳内存实践”白皮书. 管理自定义对象
创建一个数据库
创建一个Vector对象存储多个对象.创建一个PersistentObject作为应用程序的根数据库.
持久存储数据
可以持久化实现了Persistable接口的对象. 下面的代码实例作为inner类实现Persistable接口.它定义了一个带有4个Object的数组来存储餐厅名,地址,电话号码,以及特色.并且定义了方法来获取和设置Object元素值.
创建扩展的对象
下面的方法允许你加入字段到对象中:
保存一个对象
定义一个对象 下面的代码实例创建一个RestaurantInfo对象,并且使用它的设置方法来定义他的组件.
将一个对象加到一个Vector 调用addElement().
|
||||||||||||||||
| [] [返回上一页] [打 印] | ||||||||||||||||
文章评论 |
||||||||||||||||
