何所谓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,也就是说它允许在同一时间可以有多个人同时进行监听。
本文地址:http://com.8s8s.com/it/it32891.htm