Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1531429
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 20:33:05

一起学习
记录存储系统类在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关闭,才可以进行删除操作。

TAG: J2ME游戏

下载本文示例代码


J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象J2ME游戏:创建RecordStore对象
阅读(163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~