技术中心

这里象征着我们的态度和能力

>J2ME手机游戏:获取RecordStore相关信息
作者:中国IT实验室    来源:中国IT实验室    发布时间:2012-01-09      浏览次数:6790
分享到:
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

 介绍一些记录存储本身包含的获取信息的相关方法。每个RecordStore对象都包含标头与数据区,标头记录数据列的信息,数据区储存数据记录,详见示例7-2.

  在RecordStore对象中存取数据时,要遵守以下基本流程与规范:

  当对RecordStore进行文件储存时,记录数的初始值为零,每增加一条记录则加一,删除时则减一。记录数的值有助于了解记录储存条数。

  取得下一条记录的recordID,用于下一条记录的储存或修改。

  RecordStore版本编号, RecordStore对象里的数据有任何变动,包括新增、删除或修改时,版本编号也会跟着改变。它可以用于判断RecordStore对象是否被修改过。

  有了这些特性,就能够取得它们对应的RecordStore对象信息:

  l public int getNumRecords()

  throws RecordStoreNotOpenException

  取得当前RecordStore里记录的条数。

  l public int getNextRecordID()

  throws RecordStoreNotOpenException,

  RecordStoreException

  取得RecordStore里要记录的下一条数据的recordID.

  l public int getVersion()

  throws RecordStoreNotOpenException

  取得当前的RecordStore版本编号,只要它被修改过编号就会增加。

  l public int getSize()

  throws RecordStoreNotOpenException

  取得RecordStore所占用的字节大小。

  l public long getLastModified()

  throws RecordStoreNotOpenException

  取得RecordStore最近一次被修改的时间。

  l public int getSizeAvailable()

  throws RecordStoreNotOpenException

  取得RecordStore可以增加的数据量空间,返回值以byte为单位。

  示例:

 

  /×
  取得记录存储各项信息的程序代码
  ×/
  import Javax.microedition.midlet.×;
  import Javax.microedition.lcdui.×;
  import Javax.microedition.rms.×;
  public class recordData2 extends MIDlet implements CommandListener
  {
  Display display;
  List list;
  Command okCommand;
  Command exitCommand;
  RecordStore rs;
  Alert alert;
  int num;
  public recordData2()
  {
  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("新建RecordC", null);
  list.append("增加一条记录",null);
  list.append("查看RecordStore记录数据",null);
  list.append("查看RecordStore版本数据",null);
  list.addCommand(okCommand);
  list.addCommand(exitCommand);
  list.setCommandListener(this);
  }
  public void startApp()
  {
  display.setCurrent(list);
  }
  public void pauseApp(){}
  public void destroyApp(boolean unconditional){}
  public void commandAction(Command cmd, Displayable disp)
  {
  if (cmd == okCommand)
  {
  switch(list.getSelectedIndex()){
  case 0:
  //创建记录存储RecordC

  try{
  rs=RecordStore.openRecordStore("RecordC",true);
  }catch(Exception ex){}
  alert.setString("RecordC创建完成");
  break;
  case 1:
  //增加一条新记录

  try{
  byte[] recordData=new byte[1024];
  recordData[0]=1;
  rs.addRecord(recordData, 0, 1);
  }catch(RecordStoreException rsnoe){}
  alert.setString("增加一条记录");
  break;
  case 2:
  //取得当前的记录条数和下一条记录的recordID

  try{
  alert.setString("记录条数:"+rs.getNumRecords()+
  " 下一条记录recordID:"+rs.getNextRecordID());

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号 增值电信业务经营许可证号:滇B2-20110045
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730