2011-04-14 202 views

回答

1

試試這個

Preferences preferences = new Preferences("ChatAppPref"); 
preferences.put("login", "y"); 
preferences.save(); 
String pIsLogin = preferences.get("login"); 

首這裏類

package com.util; 
import java.util.*; 
import javax.microedition.rms.*; 

public class Preferences { 
    private String mRecordStoreName; 

    private Hashtable mHashtable; 

    public Preferences(String recordStoreName) 
     throws RecordStoreException { 
    mRecordStoreName = recordStoreName; 
    mHashtable = new Hashtable(); 
    load(); 
    } 

    public String get(String key) { 
    return (String)mHashtable.get(key); 
    } 

    public void put(String key, String value) { 
    if (value == null) value = ""; 
    mHashtable.put(key, value); 
    } 

    private void load() throws RecordStoreException { 
    RecordStore rs = null; 
    RecordEnumeration re = null; 

    try { 
     rs = RecordStore.openRecordStore(mRecordStoreName, true); 
     re = rs.enumerateRecords(null, null, false); 
     while (re.hasNextElement()) { 
     byte[] raw = re.nextRecord(); 
     String pref = new String(raw); 
     // Parse out the name. 
     int index = pref.indexOf('|'); 
     String name = pref.substring(0, index); 
     String value = pref.substring(index + 1); 
     put(name, value); 
     } 
    } 
    finally { 
     if (re != null) re.destroy(); 
     if (rs != null) rs.closeRecordStore(); 
    } 
    } 

    public void save() throws RecordStoreException { 
    RecordStore rs = null; 
    RecordEnumeration re = null; 
    try { 
     rs = RecordStore.openRecordStore(mRecordStoreName, true); 
     re = rs.enumerateRecords(null, null, false); 

     // First remove all records, a little clumsy. 
     while (re.hasNextElement()) { 
     int id = re.nextRecordId(); 
     rs.deleteRecord(id); 
     } 

     // Now save the preferences records. 
     Enumeration keys = mHashtable.keys(); 
     while (keys.hasMoreElements()) { 
     String key = (String)keys.nextElement(); 
     String value = get(key); 
     String pref = key + "|" + value; 
     byte[] raw = pref.getBytes(); 
     rs.addRecord(raw, 0, raw.length); 
     } 
    } 
    finally { 
     if (re != null) re.destroy(); 
     if (rs != null) rs.closeRecordStore(); 
    } 
    } 
}