📄 preferences.java
字号:
package org.sreid.j2me.gmapviewer;import java.io.*;import java.util.*;import javax.microedition.rms.*;import javax.microedition.lcdui.*;import javax.microedition.io.*;import org.sreid.j2me.util.*;class Preferences extends Properties { private static final String RECORD_STORE_NAME = "GMapViewer.preferences"; private static final int RECORD_ID = 1; private final GMapViewer app; Preferences(GMapViewer app) { this.app = app; } // Return app property as default if no user-supplied property specified public Object get(Object key) { if (containsKey(key)) { return super.get(key); } else { return app.getAppProperty("prefs." + (String)key); } } void loadPreferences() { RecordStore rms = null; try { rms = RecordStore.openRecordStore(RECORD_STORE_NAME, true); byte[] data = null; try { data = rms.getRecord(RECORD_ID); } catch (Exception e) { // New RecordStore. Create an empty record. int id = rms.addRecord(null, 0, 0); if (id != RECORD_ID) { // We just added a record, but it was not the first record. Something very wrong. for (;;) { try { rms.closeRecordStore(); } catch (RecordStoreNotOpenException ee) { break; } } RecordStore.deleteRecordStore(RECORD_STORE_NAME); loadPreferences(); return; } } if (data != null) { super.load(data); } } catch (Exception e) { app.exception("An error occured while loading user preferences.", e); } finally { if (rms != null) { try { rms.closeRecordStore(); } catch (Exception e) { app.exception("An error occured while closing the user preferences database after loading.", e); } } } } void savePreferences() { RecordStore rms = null; try { byte[] data = super.save(); rms = RecordStore.openRecordStore(RECORD_STORE_NAME, false); rms.setRecord(RECORD_ID, data, 0, data.length); } catch (Exception e) { app.exception("An error occured while saving user preferences database.", e); } finally { if (rms != null) { try { rms.closeRecordStore(); } catch (Exception e) { app.exception("An error occured while closing the user preferences database after saving.", e); } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -