Как проверить, что первое значение в RMS является нулевым в J2ME? - PullRequest
0 голосов
/ 23 февраля 2011
RecordStore rs = RecordStore.openRecordStore("StoryDataBase1",true);
String data_to_write_in_file = Slug.getString()+"^"+title.getString()+"^"+Body.getString()+"^"+com.editorial.Main.MainImagePath+"^"+com.editorial.Main.MainVideoPath+"^"+com.editorial.Main.MainVoicePath+"$";

byte b[] = rs.getRecord(1);
String str = new String(b,0,b.length);
if(str.equals("")) {
byte bytes[] = data_to_write_in_file.getBytes();    
rs.addRecord(bytes,0,bytes.length);
}
else
{
str=str+data_to_write_in_file;
byte[] data = str.getBytes();
rs.setRecord(1, data, 0, data.length);
}    
rs.closeRecordStore();

в этом я хочу проверить, содержит ли rms первое значение или нет, иначе он введет в него новое значение ??? Но я все еще немного сбит с толку, что информация останется постоянной в мобильном или нет ...

1 Ответ

1 голос
/ 23 февраля 2011

Информация постоянно хранится в RMS, и мы уже обсуждали это. Посмотрите этот пример кода и попробуйте вот так:

    byte[] recData = null;
    int len;
    RecordStore rs = RecordStore.openRecordStore("StoryDataBase1", true);

    if (rs.getNumRecords() > 0) {
    recData = new byte[rs.getRecordSize(1)];
    len = rs.getRecord(1, recData, 0);
    String value = new String(recData, 0, len);
    if(value == null) {
    ....
    } else {
    ...
     }
    }

Обновление

Смотрите эти ссылки для справки,

  1. Постоянные данные в Java ME
  2. Как использовать RMS в j2me
...