J2ME那些事儿―RMS―007

      MIDP中的存储系统实际上是实现为一个类似于数据库的系统。而并不是简单的文件系统,这个系统称为记录管理系统(Record Management System,RMS)。
      今天我们就来了解一下RMS在J2ME开发中的实际应用。主要包含以下两点内容:
1、记录存储API
2、RMS的应用范例
 
1、记录存储API
 
      以下是撷取API文档的原形。

javax.microedition.rms
Class RecordStore

java.lang.Object
  |
  +--javax.microedition.rms.RecordStore
 
      以下是RecordStore类几个常用的方法:
      (1)打开一个 RecordStore
RecordStore rs = RecordStore.openRecordStore("MyAppointments",true);
      一旦所有操作完成,对 closeRecordStore() 的调用将关闭指定名称的记录存储。当一个记录存储被关闭时,不能进行进一步的操作。
      (2)关闭一个 RecordStore
rs.closeRecordStore();
      (3)删除一个 RecordStore
RecordStore.deleteRecordStore("MyAppointments");
      (4)插入一条记录
String appt = "new record";
byte bytes[] = appt.getBytes();
rs.addRecord(bytes,0,bytes.length);
      (5)更新一条记录
String newda = "update record";
Byte data = newda.getBytes();
rs.setRecord(1, data, 0, data.length());
      (6) 删除一条记录
rs.deleteRecord(1);
 
2、RMS的应用范例
 
     增加记录和读取记录
 /**
  *创建一个RMS 
 */
public void openRMS(String rsName){
         try{
                 rs = RecordStore.openRecordStore(rsName, true); //创建一个记录
          } catch(Exception e) {} 
}
/**
  *增加记录
  */
 public void addRecord(int a)
 {
    try{
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(baos);
        dos.writeInt(a);
        byte rec[] = baos.toByteArray();
        baos.close();
        dos.close();
        try{
           rs.addRecord(rec, 0, rec.length);
        }catch(Exception e) { }
     }catch(Exception e) { }
  }
 /**
  *读取记录
  */
 public int readRecord(byte[] data)
 {
     int aa = -1;
     ByteArrayInputStream bais = new ByteArrayOutputStream(data);
     DataInputStream dis = new DataInputStream(bais);
     try{
           aa = dis.readInt();   //从流中读取数据,必须按照写入的顺序读取
           dis.close();
           bais.close();
     }catch(Exception e) { }
     return aa;
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

你可能感兴趣的:(api,职场,rms,休闲)