`

从RecordStore获取记录

    博客分类:
  • J2ME
阅读更多
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreNotFoundException;

public class getRecordMIDlet extends MIDlet implements CommandListener {
  private Command exitCommand = new Command("exit", Command.STOP, 1);

  private Display display;

  public getRecordMIDlet() {
    display = Display.getDisplay(this);
  }

  public void startApp() {
    TextBox aTextBox = new TextBox("Main", null, 256, TextField.ANY);
    RecordStore rs = null;
    boolean existingOrNot = false;
    existingOrNot = existing("aRS");
    if (existingOrNot) {
      try {
        rs = RecordStore.openRecordStore("aRS", false);
      } catch (Exception e) {
      }
    } else {
      try {
        rs = RecordStore.openRecordStore("aRS", true);
      } catch (Exception e) {
      } finally {
      }
    }

    try {
      String record = "";
      for (int i = 1; i < rs.getNextRecordID(); i++) {
        record = new String(rs.getRecord(i));
      }
      aTextBox.setString(record);
    } catch (Exception e) {
      aTextBox.setString("Failed");
      try {
        rs.closeRecordStore();
        RecordStore.deleteRecordStore("aRS");
      } catch (Exception x) {
      }
    }

    try {
      rs.closeRecordStore();
    } catch (Exception e) {
    }

    aTextBox.addCommand(exitCommand);
    aTextBox.setCommandListener(this);
    display.setCurrent(aTextBox);
  }

  public void pauseApp() {
  }

  public void destroyApp(boolean unconditional) {
  }

  public boolean existing(String recordStoreName) {
    boolean existingOrNot = false;
    RecordStore rs = null;
    if (recordStoreName.length() > 32)
      return false;
    try {
      rs = RecordStore.openRecordStore(recordStoreName, false);
    } catch (RecordStoreNotFoundException e) {
      existingOrNot = false;
    } catch (Exception e) {
    } finally {
      try {
        rs.closeRecordStore();
      } catch (Exception e) {
      }
    }
    return existingOrNot;
  }

  public void commandAction(Command c, Displayable s) {
    destroyApp(false);
    notifyDestroyed();
  }
}



 
分享到:
评论

相关推荐

    获取RecordStore的属性信息

    本文将详细介绍如何获取一个`RecordStore`实例的各种属性信息,包括最后修改时间、名称、记录数目、大小、剩余空间和版本。 #### RecordStore简介 `RecordStore`类位于`javax.microedition.rms`包中,它是Java ME...

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

    该接口提供了 hasNextElement() 方法和 nextElement() 方法,用于判断是否存在下一个记录和获取下一个记录。 本文的方法可以解决 RecordStore 记录存储中记录 RecordID 断号问题,实现了对 RecordStore 记录存储中...

    j2me RecordStore管理

    - 获取所有记录ID:通过 `RecordStore.getAllRecordIds()` 获取RecordStore中所有记录的ID数组。 - 读取记录:使用 `RecordStore.getRecord(long recordId)` 获取指定ID的记录数据。返回的是一个字节数组,开发者...

    J2ME记录栈的小例子

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

    RMS实现记事本编程

    5. **记录查询**:虽然RecordStore不提供复杂查询功能,但可以通过`getRecord()`方法根据记录ID获取特定记录。在MobileMemo中,可能有一个查询功能用于查找特定内容的Memo。 6. **记录删除**:`delete`命令对应...

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

    6. **恢复数据**:当需要读取已储存的电话记录时,执行相反的操作,从RecordStore或文件中恢复数据。 下面是一段简单的示例代码,展示如何使用RecordStore储存电话记录(请注意,实际代码需要适应具体设备和API):...

    RMS实例_JavaME

    可以使用`RecordStore.getNumRecords()`获取记录数量,再通过循环调用`RecordStore.getRecord(int recordId)`获取每个记录的内容。 7. **访问模式**:有只读(RecordStore.MODE_READONLY)和读写(RecordStore.MODE...

    关于J2ME中RMS的使用解析

    5. **管理 RecordStore**:还可以执行其他管理操作,如获取 RecordStore 中的记录数量、更新 RecordStore 名称和描述,以及处理 RecordStore 的同步和权限。 6. **关闭 RecordStore**:在完成所有操作后,确保调用 ...

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

    要读取记录,可以先获取记录 ID,然后使用 `RecordStore.getRecord(int recordId)` 获取记录的字节数组。如果需要将字节数据转换为可读格式,例如字符串或对象,需要进行适当的解码。 5. **封装 RMS 类** 封装 ...

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

    6. **更新记录**(改):如果需要修改某个记录,可以先使用`RecordStore.getRecord(int recordId)`获取原始数据,修改后,再用`RecordStore.setRecord(int recordId, byte[] newRecordData, int offset, int length)...

    J2ME 记录管理存储

    5. **更新记录**:首先获取记录的ID,然后使用`setRecord()`方法更新记录。更新操作也是原子性的。 ```java int recordId = ...; // 获取记录ID String updatedAppt = "updated record"; byte updatedBytes[] =...

    j2me_rmsj2me_rms

    - **读取记录**:使用 `RecordStore.getRecord(int recordId)` 获取指定 ID 的记录。 - **更新记录**:使用 `RecordStore.setRecord(int recordId, byte[] data, int offset, int length)` 更新现有记录。 - **...

    RMS管理数据的系统

    - **步骤2**:从`IndexEntry`中获取记录ID号。 - **步骤3**:根据ID号获取另一个RecordStore中的记录。 ##### 4. 提高性能 - **缓存机制**:在应用程序启动时读取所有的`IndexEntry`到内存中的`Vector`中,以提高...

    j2me RMS Demo

    - **读取记录**:通过`RecordStore.getRecord(int recordId)`方法获取指定ID的记录内容。 - **更新记录**:使用`RecordStore.setRecord(int recordId, byte[] recordData, int offset, int length)`方法更新已存在...

    RMS的使用解析

    - 各种getter方法:获取记录中的各个字段值。 这样的设计使得记录的创建和管理变得非常简单和直观。 ##### 2. RecordStore的使用和操作 RecordStore是RMS的核心组件,用于存储和管理记录。RecordStore可以理解为...

    J2ME中RMS存储工具使用解析

    3. 读取记录:通过 `RecordStore.getRecord(int recordId)` 获取指定ID的记录,返回的是字节数组,然后你可以用这个数组调用 `Appointment` 类的 `initAppointment()` 来还原对象。 4. 删除记录:使用 `RecordStore...

    软件工程J2ME教学幻灯片(2)

    - `getSizeAvailable()`: 获取记录存储中剩余的可用空间。 - `getRecordSize(int recordId)`: 获取记录的大小。 - `getName()`: 获取记录存储的名称。 通过这些方法,开发者能够创建自定义的逻辑来存储和管理应用...

    j2me电话本

    2. `RecordEnumeration`:提供了遍历`RecordStore`中所有记录的接口,类似于迭代器。 **二、创建RecordStore** 在J2ME电话本应用中,首先需要创建一个`RecordStore`来存储联系人信息。这通常涉及以下步骤: 1. ...

    java rms常用操作例子

    此外,还可以检查空间、获取记录数量、获取记录大小等。RMS提供了一套全面的API来管理存储在移动设备上的数据。 在实际开发中,开发者需要根据需求选择合适的数据结构(如字符串、字节数组或自定义对象序列化)来与...

    J2ME RMS 小试牛刀

    3. **读取记录**:通过`getRecord(int recordId)`获取指定ID的记录,返回的是一个字节数组,需要自己解析。 4. **更新记录**:使用`setRecord(int recordId, byte[] recordData, int offset, int length)`方法更新...

Global site tag (gtag.js) - Google Analytics