J2ME游戏:创建RecordStore对象
2010-05-16 20:22
225 查看
记录存储系统类在javax.microedition.rms包里,RecordStore类中包含相关应用方法。原则上在一个MIDlet中可以放置多个RecordStore,它的诸多特性如下:
RecordStore由多条记录(Record)所组成。
在MIDlet suite中每一个RecordStore的名称是唯一的,不能重复,而不同的MIDlet suite可以使用同名的RecordStore。
创建RecordStore名称时,字母是区分大小写的,且名称字符串不能超过32个字符。
同一个MIDlet suite中可以共享同一个RecordStore进行存取,不同的MIDlet suite不能存取同一个MIDlet suite。
创建RecordStore对象
创建RecordStore对象,有以下几个方法:
l public static RecordStore
openRecordStore
(String recordStoreName,
boolean createIfNecessary)
throws RecordStoreException,
RecordStoreFullException,
RecordStoreNotFoundException
打开一个名称为 recordStoreName的RecordStore,如果指定的RecordStore不存在,则跟据createIfNecessary来判断是否要创建一个新的RecordStore, createIfNecessary值若为true,则需要创建一个新的RecordStore。注意名称长度不能超过32个字符。
l public void closeRecordStore()
throws RecordStoreNotOpenException,
RecordStoreException
MIDlet要求关闭RecordStore时,直接调用本方法。
l public static String[] listRecordStores()
返回当前MIDlet suite所有RecordStore的名称。
l public static void deleteRecordStore
(String recordStoreName)
throws RecordStoreException,
RecordStoreNotFoundException
删除指定名称的RecordStore记录存储。
有关MIDlet RecordStore记录存储的创建、删除或RecordStore记录存储对象的取得,可以参考下列应用,通过示例7-1来了解如何去应用记录存储的打开或关闭。
示例7-1
/×
基本的记录存储应用方法
×/
import javax.microedition.midlet.×;
import javax.microedition.lcdui.×;
// 需要import的MIDlet的数据库记录应用的包
import javax.microedition.rms.×;
public class recordData1 extends MIDlet implements CommandListener
{
Display display;
List list;
Command okCommand;
Command exitCommand;
//创建记录存储对象
RecordStore[ ] rs;
Alert alert;
public recordData1()
{
alert=new Alert("记录存储操作结果");
display=Display.getDisplay(this);
list=new List("开关记录存储列表", List.EXCLUSIVE);
okCommand = new Command("确认", Command.OK, 2);
exitCommand = new Command("离开", Command.EXIT, 2);
list.append("创建RecordA", null);
list.append("创建RecordB",null);
list.append("查看全部记录存储",null);
list.append("删除RecordA",null);
list.append("删除RecordB",null);
list.addCommand(okCommand);
list.addCommand(exitCommand);
list.setCommandListener(this);
rs=new RecordStore[2];
}
public void startApp()
{
display.setCurrent(list);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void commandAction(Command cmd, Displayable disp)
{
if (cmd == okCommand)
{
String recordname="";
String[] name=new String[num];
//取得当前MIDlet打开的全部记录存储的名称
name=rs[0].listRecordStores();
for(int i=0;i
recordname=recordname+name[i]+" ";
switch(list.getSelectedIndex()){
case 0:
//要求建立第一个记录存储
try{
rs[0]=RecordStore.openRecordStore("RecordA",true);
if(num<2 && !(recordname.indexOf("RecordA")!=-1?true:false))
num++;
}catch(Exception ex){}
alert.setString("RecordA创建完成");
break;
case 1:
//要求建立第二个记录存储
try{
rs[1]=RecordStore.openRecordStore("RecordB",true);
if(num<2 && !(recordname.indexOf("RecordB")!=-1?true:false))
num++;
}catch(Exception ex){}
alert.setString("RecordB创建完成");
break;
case 2:
alert.setString("查看当前所有记录存储:"+recordname);
break;
case 3:
/×
删除第一个记录存储,
注意删除时一定要先将记录存储关闭
×/
try{
rs[0].closeRecordStore();
RecordStore.deleteRecordStore("RecordA");
num--;
}catch(Exception ex){}
alert.setString("RecordA删除完成");
break;
case 4:
//进行删除第二个记录存储
try{
rs[1].closeRecordStore();
RecordStore.deleteRecordStore("RecordB");
num--;
}catch(Exception ex){}
alert.setString("RecordB删除完成");
break;
}
alert.setTimeout(2000);
display.setCurrent(alert, list);
}
else if(cmd == exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
}
运行结果如图7-3所示。
图7-3
【说明】
有关RecordStore记录存储的打开和关闭,这个示例中主要说明当MIDlet程序中已经开启RecordStore后,不管重复开启几次相同的记录存储,还是只能开一个,删除也是一样。不过在删除RecordStore时,要注意必须先将RecordStore关闭,才可以进行删除操作。
RecordStore由多条记录(Record)所组成。
在MIDlet suite中每一个RecordStore的名称是唯一的,不能重复,而不同的MIDlet suite可以使用同名的RecordStore。
创建RecordStore名称时,字母是区分大小写的,且名称字符串不能超过32个字符。
同一个MIDlet suite中可以共享同一个RecordStore进行存取,不同的MIDlet suite不能存取同一个MIDlet suite。
创建RecordStore对象
创建RecordStore对象,有以下几个方法:
l public static RecordStore
openRecordStore
(String recordStoreName,
boolean createIfNecessary)
throws RecordStoreException,
RecordStoreFullException,
RecordStoreNotFoundException
打开一个名称为 recordStoreName的RecordStore,如果指定的RecordStore不存在,则跟据createIfNecessary来判断是否要创建一个新的RecordStore, createIfNecessary值若为true,则需要创建一个新的RecordStore。注意名称长度不能超过32个字符。
l public void closeRecordStore()
throws RecordStoreNotOpenException,
RecordStoreException
MIDlet要求关闭RecordStore时,直接调用本方法。
l public static String[] listRecordStores()
返回当前MIDlet suite所有RecordStore的名称。
l public static void deleteRecordStore
(String recordStoreName)
throws RecordStoreException,
RecordStoreNotFoundException
删除指定名称的RecordStore记录存储。
有关MIDlet RecordStore记录存储的创建、删除或RecordStore记录存储对象的取得,可以参考下列应用,通过示例7-1来了解如何去应用记录存储的打开或关闭。
示例7-1
/×
基本的记录存储应用方法
×/
import javax.microedition.midlet.×;
import javax.microedition.lcdui.×;
// 需要import的MIDlet的数据库记录应用的包
import javax.microedition.rms.×;
public class recordData1 extends MIDlet implements CommandListener
{
Display display;
List list;
Command okCommand;
Command exitCommand;
//创建记录存储对象
RecordStore[ ] rs;
Alert alert;
public recordData1()
{
alert=new Alert("记录存储操作结果");
display=Display.getDisplay(this);
list=new List("开关记录存储列表", List.EXCLUSIVE);
okCommand = new Command("确认", Command.OK, 2);
exitCommand = new Command("离开", Command.EXIT, 2);
list.append("创建RecordA", null);
list.append("创建RecordB",null);
list.append("查看全部记录存储",null);
list.append("删除RecordA",null);
list.append("删除RecordB",null);
list.addCommand(okCommand);
list.addCommand(exitCommand);
list.setCommandListener(this);
rs=new RecordStore[2];
}
public void startApp()
{
display.setCurrent(list);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void commandAction(Command cmd, Displayable disp)
{
if (cmd == okCommand)
{
String recordname="";
String[] name=new String[num];
//取得当前MIDlet打开的全部记录存储的名称
name=rs[0].listRecordStores();
for(int i=0;i
recordname=recordname+name[i]+" ";
switch(list.getSelectedIndex()){
case 0:
//要求建立第一个记录存储
try{
rs[0]=RecordStore.openRecordStore("RecordA",true);
if(num<2 && !(recordname.indexOf("RecordA")!=-1?true:false))
num++;
}catch(Exception ex){}
alert.setString("RecordA创建完成");
break;
case 1:
//要求建立第二个记录存储
try{
rs[1]=RecordStore.openRecordStore("RecordB",true);
if(num<2 && !(recordname.indexOf("RecordB")!=-1?true:false))
num++;
}catch(Exception ex){}
alert.setString("RecordB创建完成");
break;
case 2:
alert.setString("查看当前所有记录存储:"+recordname);
break;
case 3:
/×
删除第一个记录存储,
注意删除时一定要先将记录存储关闭
×/
try{
rs[0].closeRecordStore();
RecordStore.deleteRecordStore("RecordA");
num--;
}catch(Exception ex){}
alert.setString("RecordA删除完成");
break;
case 4:
//进行删除第二个记录存储
try{
rs[1].closeRecordStore();
RecordStore.deleteRecordStore("RecordB");
num--;
}catch(Exception ex){}
alert.setString("RecordB删除完成");
break;
}
alert.setTimeout(2000);
display.setCurrent(alert, list);
}
else if(cmd == exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
}
运行结果如图7-3所示。
图7-3
【说明】
有关RecordStore记录存储的打开和关闭,这个示例中主要说明当MIDlet程序中已经开启RecordStore后,不管重复开启几次相同的记录存储,还是只能开一个,删除也是一样。不过在删除RecordStore时,要注意必须先将RecordStore关闭,才可以进行删除操作。
相关文章推荐
- 建造者模式-Builder Pattern 复杂对象的组装与创建——建造者模式(二):游戏角色设计的建造者模式解决方案
- 用Eclipse开发J2ME手机游戏 第四讲 创建经典的HelloWorld程序
- (1-1)Unity3D/2D:创建Sprite游戏对象
- Unity3D 入门小技巧——克隆游戏对象与创建预制
- unity3d通过代码动态创建销毁游戏对象
- vision引擎 游戏对象创建预建体
- 创建游戏对象
- Lua_ULua创建基本的游戏对象
- cocos2dx-深度解析plist文件(一)(游戏对象的数据如何从plist创建获取)
- 【Unity】6.3 通过 C# 脚本创建和访问游戏对象
- 优化C++游戏:对象的创建和销毁
- Unity3D——利用单例创建并永久化游戏对象(单例模式的应用)
- Unity3D基础--动态创建和设置游戏对象
- 使用脚本创建查找修改删除游戏对象
- uLua学习之创建游戏对象(二)
- [置顶] LibGDX教程——重建Flappy Bird——(4) 创建游戏对象
- 用Eclipse开发J2ME手机游戏入门(创建Hello)》
- Lua_ULua创建基本的游戏对象
- 复杂对象的组装与创建——建造者模式(一):游戏角色设计,建造者模式概述
- 脚本创建游戏对象