2011-02-23 20 views
0
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是否包含第一個值,否則它會在它中輸入新的值?但我仍然有點困惑,信息是否將永久保存在移動或不...如何檢查rms中的第一個值在j2me中爲null?

回答

1

信息永久存儲在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. Persistent Data in Java ME
  2. How to use RMS in j2me
+0

字符串data_to_write_i n_file =「」; \t \t如果(rs.getNumRecords()> 0) \t \t { \t \t \t recData =新的字節[rs.getRecordSize(1)]; \t \t \t len = rs.getRecord(1,recData,0); \t \t \t String value = new String(recData,0,len); \t \t \t value = value + data_to_write_in_file; \t \t \t \t \t byte [] data = data_to_write_in_file.getBytes(); \t \t \t \t \t rs.setRecord(1,data,0,data.length); \t \t} \t \t別的 \t \t { \t \t \t字節字節[] = data_to_write_in_file.getBytes(); \t \t \t \t \t \t rs.addRecord(bytes,0,bytes.length); \t \t} \t我已經寫了這個...但是這仍表現出隨機接取ERR – Sourabh 2011-02-23 13:24:48

+0

你在哪裏檢查空值?因爲如果值不可用意味着它返回空值。另請參閱我的更新。 – bharath 2011-02-23 13:44:28

相關問題