J2ME学习笔记(十)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

何所谓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,也就是说它允许在同一时间可以有多个人同时进行监听。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航