分享
 
 
 

在RMS中存储和读取数据

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

■ 引言

在上讲中,我们熟悉到汲取音乐播放的专长,能够制作成拥有BGM和音效、表现力丰富的应用程序。在本讲中,我们主要就应用程序本身内部保持的数据保存、读取进行具体阐述。

■ 数据的保存读取

RMS:

要在应用程序中保存用户设定和高分等相关信息,所以必须在手机终端上的记忆中保存数据。MIDP上定义了称之为RMS(Record Management System)的数据库系统。RMS中有称为“Record store”的列表,其中存在名为Record 的entry。Record按照字节排列,用id可以识别。利用下面的类、接口可以操作Record Store和Record。

类、接口名

作用

RecordStore

表示Record Store的类

RecordEnumeration

列举Record的接口

RecordComparator

定义Record comparator的接口

RecordFilter

定义Record过滤的接口

RecordListener

监视Record Store变更的接口

表 1

RecordStore

表示Record Store的是Record Store类。Record Store是用RecordStore 中的static方法的open Record Store制作的。

RecordStore.openRecordStore("RecordStoreName", true);

第2个自变量转化成“true”后,名为“Record Store Name”的Record Store存在的情况下,能够打开保存的Record Store。但是,名为“Record Store Name”的Record Store不存在的情况下,则会制作新的Record Store,并打开所制作的Record Store 。

第2个自变量转化成“false”后,名为“Record Store Name”的Record Store存在的情况下,能够打开保存的Record Store。但,不存在的情况下,则放弃Record Store Not Found Exception。

操作Record Store时,应该在操作前打开Record Store,并在操作完后关闭Record Store。利用刚刚介绍的Record Store的static方法——open Record Store打开Record Store。利用Record Store的引证方法的close Record Store按照下面的叙述可以关闭Record Store。在这儿将关闭的Record Store 例子表示为rs。

rs.closeRecordStore();

以下是表示针对 Record Store 的连贯操作。(ex. 1)

RecordStore rs = null;

try{

// 打开Record Store

rs = RecordStore.openRecordStore("RecordStoreName",true);

记述针对Record Store的操作

?

?

}catch(Exception e){

}finally{

if(rs != null){

try{

// 关闭Record Store

rs.closeRecordStore();

}catch(Exception e){

}

}

}

ex. 1

按照下面所述的Record Store的static方法清除Record Store。

RecordStore.deleteRecordStore("RecordStoreName");

RMS的限制

RMS是非常单纯的数据库系统,所以只需预备最小限度的操作。因此,一般数据库系统所具有的处理控制和系统故障的恢复功能,在RMS上是不能被支持的。

Record操作

增加Record

利用以下Record Store类的方法增加Record 。

int addRecord(byte[] data,int offset, int numBytes)

在data中指定希望保存的数据字节排列、在offset中指定数据显示排列中的数据开始位置、在numBytes中指定保存数据的字节数。能在numBytes中指定0。此时,null被收藏在Record中。另外,增加数据的Record的id作为返还值返还。

清除Record

利用以下方法清除Record 。

void deleteRecord(int recordId)

指定用recordId清除Record中的id。对应的Record不存在的情况下,放弃例外。而且,清除后的RecordrecordId也不能再次利用。

更改Record

利用以下方法更改Record 。

void setRecord(int recordId, byte[] newData, int offSet, int numBytes)

指定recordId中更改的Record,并在newData中指定新收藏的数据字节排列。对应的Record不存在的情况下,放弃例外。

获取Record

利用下面的方法获取Record。

int getRecord(int recordId, byte[] buffer, int offset)

byte[] getRecord(int recordId)

上述方法是指,从offset的位置上复制recordId方法指定的Record内容到buffer字节排列。返还值是所复制的数据的字节数。

下面的方法是指,recordId所指定的Record内容作为返还值返还。

Record Store的信息

利用如下方法可以获得Record Store操作和Record 操作之外的Record Store信息。

方法

功能

public int getLastModified()

用long获取最后的修改时刻。用System.currentTimeMillis()形成能够取得的形式相同的形式。

public int getNextRecordID()

获取下一个recordId

public int getNumRecords()

获取Record Store中的Record 数。

public int getVersion()

获取Record Store的版本编号。版本编号通常在每次修改完Record Store后都会自动加1。

public int getSizeAvailable()

获取Record Store的容许量。

public int getSize()

获取Record Store的占有字节数。

public static String[] listRecordStores()

全部获取Record Store名。

表 2

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有