2008年(3500)
分类:
2008-05-04 20:33:05
打开一个名称为 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记录存储