/* * Preferences.java * * Created on 13 ??????? 2546, 16:38 ?. */ import javax.microedition.rms.*; /** * An example MIDlet with simple "Hello" text and an Exit command. * Refer to the startApp, pauseApp, and destroyApp * methods so see how each handles the requested transition. * * @author sup98 * @version */ public class Preferences{ private static Preferences sInstance; private String mUser, mPassword; public static Preferences getInstance(){ if(sInstance == null) sInstance = new Preferences("",""); RecordStore rs = null; try{ rs = RecordStore.openRecordStore("Preferences", true); } catch(RecordStoreException rse){ return null; } String user, password; user = password = ""; try{ byte[] userBytes = rs.getRecord(1); byte[] passwordBytes = rs.getRecord(2); user = new String(userBytes); password = new String(passwordBytes); } catch(RecordStoreException rse){} catch(NullPointerException npe){} try{ rs.closeRecordStore();} catch(RecordStoreException rse){} sInstance.setUser(user); sInstance.setPassword(password); return sInstance; } private Preferences(String user, String password){ setUser(user); setPassword(password); } public String getUser(){ return mUser;} public String getPassword(){ return mPassword;} public void setUser(String user){ mUser = user;} public void setPassword(String password){ mPassword = password;} public void store(){ RecordStore rs = null; try{ rs = RecordStore.openRecordStore("Preferences", false); }catch(RecordStoreException rse){ return;} try{ byte[] userBytes = mUser.getBytes(); byte[] passwordBytes = mPassword.getBytes(); int n = rs.getNumRecords(); if(n == 0){ rs.addRecord(userBytes, 0, userBytes.length); rs.addRecord(passwordBytes , 0, passwordBytes .length); } else{ rs.setRecord(1, userBytes, 0, userBytes.length); rs.setRecord(2, passwordBytes, 0, passwordBytes.length); } } catch(RecordStoreException rse){} try{rs.closeRecordStore();} catch(RecordStoreException rse){}; } }