`
totoxian
  • 浏览: 1080115 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

封装RecordStore让其记录自动紧凑

SUN 
阅读更多

因为RecordStore在删除一条纪录后,纪录的位置仍然保留,并不会自动紧凑。这可能也是sun为了效率而故意做成这样的。不过在我们进行记录的删除操作时,实在是太不方便了。因为很难计算出记录的RecordID。

下面是我封装的一个方法,让RecordStore自动紧凑。

public void delete(String recordName,int recordIndex){

recordDB.open("recordName");
recordDB.deleteRecord(recordIndex);

int tempRecordCount = recordDB.getNumRecords()+1;
RecordDB tempRecordDB = new RecordDB();
tempRecordDB.open("newsLoader");

for(int i = 1;i <=tempRecordCount;i++){
if(i != NewsContentCanvas.tempIndex+1){
String tempString = recordDB.getRecordAndID(i);

tempRecordDB.addRecord(tempString.substring(0,tempString.indexOf("*")),Integer.parseInt(tempString.substring(tempString.indexOf("*")+1)));
}
}

recordDB.close();
RecordDB.deleteStore("picturesRecord");

recordDB.open("picturesRecord");
for(int i = 1;i <=tempRecordDB.getNumRecords();i++){
String tempString = tempRecordDB.getRecordAndID(i);
recordDB.addRecord(tempString.substring(0,tempString.indexOf("*")),Integer.parseInt(tempString.substring(tempString.indexOf("*")+1)));
}

recordDB.close();
tempRecordDB.close();
RecordDB.deleteStore("newsLoader");
}

分享到:
评论

相关推荐

    基于RecordStore的单词记录器

    - 存储单词:每个单词及其相关信息(例如,词义、例句等)可以被封装成一个数据记录,然后存入RecordStore中。 - 记录管理:RecordStore提供了按ID查找、删除特定记录以及遍历所有记录的功能,便于用户浏览和管理...

    j2me RecordStore管理

    - 获取RecordStore信息:`RecordStore.getSize()` 返回RecordStore的大小(以字节计),`RecordStore.getNumRecords()` 返回记录总数。 - 关闭RecordStore:使用 `RecordStore.closeRecordStore()` 释放资源并确保...

    获取RecordStore的属性信息

    这段代码演示了如何创建一个`RecordStore`实例,并获取其各种属性信息。通过这些信息,我们可以更好地理解和管理我们的数据存储。例如,通过检查`getLastModified()`方法返回的时间戳,我们能够确定何时对记录库进行...

    J2me保存记录框架(封装RMS)

    可以使用 `RecordStore.addRecord(byte[] recordData, int offset, int length)` 添加新记录,或者使用 `RecordStore.setRecord(int recordId, byte[] recordData, int offset, int length)` 更新现有记录。...

    一种Java ME中基于RMS的记录遍历方法.pdf

    本文提出了一种基于 RecordEnumeration 接口的记录遍历方法,用于解决 Java ME 中 RecordStore 记录存储中的记录 RecordID 断号问题。该方法通过遍历 RecordStore 记录存储中的所有记录,实现了对 RecordStore 记录...

    RecordStore的用法

    RecordStore的用法,里面具体介绍了如何使用RecordStore

    J2ME RMS 封装

    提供的文件"RMS开源类示例.doc"可能包含了一个或多个封装RMS操作的类示例,这些示例可能演示了如何创建RecordStore、写入记录、执行查询等功能。"RMS操作封装.rar"可能是一个包含完整源代码的压缩包,你可以解压并...

    J2ME记录栈的小例子

    - 更新记录涉及到获取记录的现有字节数组,修改其内容,然后使用`RecordStore.setRecord()`方法替换原有的记录。这种方法会覆盖原有数据。 6. **删除记录**: - 删除记录是通过调用`RecordStore.deleteRecord()`...

    j2me数据记录库的源代码

    RecordStore 可以创建、读取、更新和删除记录,这些记录通常以键值对的形式存在。 1. **RecordStore 的创建和打开**: - `RecordStore` 类的 `openRecordStore(String recordStoreName, boolean createIfNecessary...

    RMS实例_JavaME

    如果RecordStore不存在且`createIfNecessary`参数为true,系统会自动创建。 3. **添加记录**:在RecordStore中添加数据是通过创建一个包含数据的byte数组,然后调用`RecordStore.addRecord(byte[] recordData, int ...

    RMS实现记事本编程

    2. **记录修改**:一旦记录被创建,可以通过RecordStore的`setRecord()`方法更新其内容。在MobileMemo中,`show`命令可能用于查看并编辑已有的Memo。 3. **记录排序**:J2ME中的RecordStore不支持内置的排序功能,...

    J2ME的RMS增删改查的简单事例

    我们可以将这些信息封装成一个类,例如`Contact`,然后将其序列化为字节数组,以存入RMS。 4. **添加记录**(增):使用`RecordStore.addRecord(byte[] recordData, int offset, int length)`方法向RecordStore中...

    J2ME中电话记录储存的实现源码

    下面是一段简单的示例代码,展示如何使用RecordStore储存电话记录(请注意,实际代码需要适应具体设备和API): ```java import javax.microedition.rms.RecordStore; import javax.microedition.rms....

    RMS.rar_rms

    使用RMS框架时,开发者首先需要创建一个RecordStore实例,并指定其名称和初始记录数。然后,可以调用RecordStore的addRecord方法添加新记录,updateRecord方法更新已存在的记录,以及deleteRecord方法删除记录。此外...

    j2me_rmsj2me_rms

    当接收到新短信时,将其作为新的记录添加到 RecordStore;发送短信时,可以从 RecordStore 中读取待发送的信息。 总结,J2ME RMS 是一个强大的工具,用于在移动设备上进行数据管理。理解和熟练使用 RMS 对于开发 ...

    关于J2ME中RMS的使用解析

    首先,让我们详细了解一下单一记录的构造。 单一记录的构造涉及到创建一个数据结构,它代表了存储在 RecordStore 中的单个数据条目。在提供的代码示例中,`Appointment` 类就是这样一个单一记录的实例。它包含了多...

    J2ME 手机程序源代码

    - **更新记录**:更新记录通常涉及先读取记录,修改其内容,然后使用`RecordStore.setRecord(int recordId, byte[] recordData, int offset, int length)`方法替换现有记录。 - **删除记录**:使用`RecordStore....

    怎样在J2ME上实现记录管理存储

    通过调用`RecordStore.openRecordStore(String recordStoreName, boolean createIfNecessary)`方法可以打开或创建一个记录存储。参数`recordStoreName`是记录存储的名称,而`createIfNecessary`则指明如果指定的记录...

    郭克华J2ME实例教程完整版之RMS编程1

    5. **RecordEnumeration**: 提供了一种遍历RecordStore中记录的方法,允许按顺序或随机访问记录。 在郭克华的教程中,可能涵盖了以下关键知识点: - 如何创建和打开RecordStore。 - 插入、读取、更新和删除Record...

    J2ME记录库工具类RecordStoreUtil

    实用J2ME记录库工具类,在很多代码中都要用到

Global site tag (gtag.js) - Google Analytics