Revision: 2349
http://sourceforge.net/p/swingme/code/2349
Author: yuranet
Date: 2016-04-03 01:02:57 +0000 (Sun, 03 Apr 2016)
Log Message:
-----------
can save settings as well as read them with AndroidPreferences
Modified Paths:
--------------
AndroidME/src_Android/net/yura/android/AndroidPreferences.java
Modified: AndroidME/src_Android/net/yura/android/AndroidPreferences.java
===================================================================
--- AndroidME/src_Android/net/yura/android/AndroidPreferences.java 2016-02-01 16:58:00 UTC (rev 2348)
+++ AndroidME/src_Android/net/yura/android/AndroidPreferences.java 2016-04-03 01:02:57 UTC (rev 2349)
@@ -9,10 +9,12 @@
import java.util.prefs.Preferences;
import android.content.SharedPreferences;
+import android.os.Build;
public class AndroidPreferences extends Preferences {
private SharedPreferences preferences;
+ private SharedPreferences.Editor editor;
public AndroidPreferences(SharedPreferences preferences) {
this.preferences = preferences;
@@ -59,15 +61,59 @@
return preferences.toString();
}
+ private SharedPreferences.Editor getEditor() {
+ if (editor == null) {
+ editor = preferences.edit();
+ }
+ return editor;
+ }
+ @Override
+ public void put(String key, String value) {
+ getEditor().putString(key, value);
+ }
+ @Override
+ public void putBoolean(String key, boolean value) {
+ getEditor().putBoolean(key, value);
+ }
+ @Override
+ public void putFloat(String key, float value) {
+ getEditor().putFloat(key, value);
+ }
+ @Override
+ public void putInt(String key, int value) {
+ getEditor().putInt(key, value);
+ }
+ @Override
+ public void putLong(String key, long value) {
+ getEditor().putLong(key, value);
+ }
+ @Override
+ public void flush() throws BackingStoreException {
+ if (editor != null) {
+ SharedPreferences.Editor theEditor = editor;
+ editor = null;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
+ theEditor.apply();
+ } else {
+ if (!theEditor.commit()) {
+ throw new BackingStoreException("not able to save");
+ }
+ }
+ }
+ }
+
+
+
+
@Override
public byte[] getByteArray(String key, byte[] deflt) {
throw new UnsupportedOperationException();
@@ -114,11 +160,6 @@
}
@Override
- public void flush() throws BackingStoreException {
- throw new UnsupportedOperationException();
- }
-
- @Override
public boolean isUserNode() {
throw new UnsupportedOperationException();
}
@@ -139,16 +180,6 @@
}
@Override
- public void put(String key, String value) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void putBoolean(String key, boolean value) {
- throw new UnsupportedOperationException();
- }
-
- @Override
public void putByteArray(String key, byte[] value) {
throw new UnsupportedOperationException();
}
@@ -159,21 +190,6 @@
}
@Override
- public void putFloat(String key, float value) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void putInt(String key, int value) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void putLong(String key, long value) {
- throw new UnsupportedOperationException();
- }
-
- @Override
public void remove(String key) {
throw new UnsupportedOperationException();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|