纪录管理系统(Record Management System ,简称RMS)。他能使你能够在手机设备的内存中持久地存储数据。
一、记录管理系统概览
记录管理系统简单的说就是一个小型的数据库。具有典型的数据库的结构模型。RMS提供了RecordStore类,用于MIDlet应用程序和RMS通信。RecordStore相当于数据库中的表。我们可以在每个表中,放置若干条记录(Record),每条记录包括两列数据。如下图所示:
存储在RMS中的每个记录存储都和一个MIDlet套件相关联(一个套件就是一个JAR文件,其中可以包括多个MIDlet类)。并且有一个文件名来标识他。
在记录存储中的每一条记录都只有两列表格,其中第一列是一个int型的整数表示纪录的ID,另一列用一个byte型的数组表来记录数据。记录号可以看作是数据表的主键。不管你存储的是字符串或整数,他们都按照byte数组从一条记录读出或写入到一条记录中。
二、深入RecordStore类
在MIDP API中,通过javax,microedition.rms包来支持RMS。这个包提供一个RecordStore类和几个接口,来支持丢纪录存储的创建和操作。RecordStore类为单个纪录存储提供了可编程接口,使得对一个记录存储的读写操作变得非常简单。
使用步骤:
1、打开或者创建一个记录存储。
2、从纪录存储中读出数据或者向记录存储写入数据。
3、关闭记录存储。
其中有些最为常用的方法:
openRecordStore()打开一个记录存储,以便读出或写入数据。
getNumRecords()获得纪录存储中记录的数目。
getRecordSize()获得一条记录的数据大小。
getRecord()从一个单独的纪录中获得数据。
addRecord()向一个记录存储添加一条记录的数据。
deleteRecord()删除一条的纪录。
deleteRecordStore()删除整个记录存储。
closeRecordStore()关闭一个记录存储。
在使用记录存储之前,先要创建一个RecordStore对象。示例如下:
RecordStore rs = null ;
打开一个记录存储,可以使用RecordStore对象调用openRecordStore()方法来实现:
try{
rs = RecordStore .openRecordStore(“somename” , false );
}
catch( Exception e){
System.err.println(“Failed opening record store !”) ;
}
openRecordStore方法的第一个参数就是纪录存储的名字,第二个参数表示当指定名字的纪录存储不存在的话,是否应该创建一个新的记录存储。该参数如果为true,则表示当指定名字的纪录存储不存在的话可以创建一个新的同名记录存储并打开,false表示仅打开已存在的记录存储,不会创建记录存储。
使用前面创建的记录存储后就可以判断是否已经成功的打开一个记录存储了。
下面我们就可以往打开的记录存储中写入记录了:
try{
rs.addRecord(redordData, 0 , recordData.length);
}
catch ( Exception e ){
System.err.println( “ Failed writhing to record store ! ”);
}