何所谓RMS? Record Management System 记录管理系统。其实也就是MIDP所定义的一个数据库管理系统。可以将对象或者对象的状态永久的保存下来。同所有的数据库同样,RMS里面也可以定义很多个不同的table,在RMS里面这些table叫做Record Stroe。与RMS相关的所有类都存储在javax.microedition.rms包里面。主要包括有RecordStore、RecordEnumeration类以及RecordComparator、RecordFilter、RecordListener三个接口。 在每一个MIDlet Suite之中,每个资料库都有它唯一的一个名字,而且其大写不能超过32个Unicode字符,区分大小写。方法RecordStore.openRecordStore(rms名,true/false)用来打开一个记录库。如果传入参数为true那么当程序找不到此record的时候会创建一个新的record;如果传入false,当找不到此record的时候系统会抛出RecordStroeNotFoundException。 开启一个记录库以后,RecordStore类中定义了几个方法来取得相关信息: 1、getLastModified() 取得上次修改时间 2、getName() 取得记录库名字 3、getNextRecordID() 取得下一条记录ID 4、getNumRecords() 取得记录库中记录个数 5、getSize() 取得目前记录库所占用的系统空间 6、getSizeAvailable() 取得目前系统中还有多少空间可用 7、getVersion() 取得记录库第版本号。每次更改记录库资料版本号都会更新。 8、listRecordStores() 取得当前MIDlet Suite之中所有记录库第名字 9、closeRecordStore() 关闭记录库(实际是告诉JAM目前记录库的thread不再使用该记录库) 9、deleteRecordStore()删除记录库 同时,RecordStore提供了5个存取记录的方法: 1、int addRecord(byte[] data,int offset,int numBytes) 将bytes数组存放到资料库,同时返 回其对应第RecordID。对与记录库而言,RecordID相当于主键。 2、int getRecord(int recordid,byte[] data,int offset) 取出对应RecordID的记录。 3、byte[] getRecord(int recordid) 取出对应记录 4、void setRecord(int recordid,byte[] newdata,int offset,int num bytes) 更新相应记录 5、void deleteRecord(int recordid) 删除对应记录
记录管理提供了一个RecordListener接口,它监听记录库里面记录的新建,更改,删除。同时,它支持multicase,也就是说它允许在同一时间可以有多个人同时进行监听。 
|