Here's a static wrapper I implemented to get and set properties real
easy

package gubatron.android.util;

import java.util.Arrays;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

/**
 * Convenience class to get or set preference values without dealing
with Android's SharedPreferenes and the editor.
 * Licensed under LGPL.
 *
 * @author gubatron
 *
 * Examples:
 *
 * PrefUtils.setString(key, value)
 *
 * String value = PrefUtils.getString(key);
 * PrefUtils.getString(key, defaultValue);
 *
 *
 */
public final class PrefUtils {

        private static SharedPreferences PREFERENCES;
        private static Editor EDITOR;

        static {
                PREFERENCES =
GlobalVariables.APP_CONTEXT.getSharedPreferences(GlobalConstants.PREFS_FILE_NAME,
Context.MODE_PRIVATE);
                EDITOR = PREFERENCES.edit();
        }

        public static String getString(String prefKeyName) {
                return getString(prefKeyName, null);
        }

        public static String getString(String prefKeyName, String
defaultValue) {
                String result  = PREFERENCES.getString(prefKeyName, 
defaultValue);
                if (result == null)
                        return null;
                return result;
        }


        public static byte[] getByteArray(String prefKeyName) {
                return getByteArray(prefKeyName, null);
        }

        public static void setString(String prefKeyName, String value) {
                EDITOR.putString(prefKeyName,value);
                EDITOR.commit();
        }

        public static byte[] getByteArray(String prefKeyName, String
defaultValue) {
                String result = getString(prefKeyName, defaultValue);
                if (result == null)
                        return null;
                return result.getBytes();
        }

        public static void setByteArray(String prefKeyName, byte[] value) {
                EDITOR.putString(prefKeyName,new String(value));
                EDITOR.commit();
        }


        public static boolean getBoolean(String prefKeyName, boolean
defaultValue) {
                return PREFERENCES.getBoolean(prefKeyName, defaultValue);
        }

        public static void setBoolean(String prefKeyName, boolean value) {
                EDITOR.putBoolean(prefKeyName,value);
                EDITOR.commit();
        }

        public static int getInt(String prefKeyName, int defaultValue) {
                return PREFERENCES.getInt(prefKeyName, defaultValue);
        }

        public static void setInt(String prefKeyName, int value) {
                EDITOR.putInt(prefKeyName,value);
                EDITOR.commit();
        }

        public static void clearSettings() {
                EDITOR.clear();
                EDITOR.commit();
        }

        public static void testPrefUtils() {
                clearSettings();
                assert(getString(GlobalConstants.PREF_KEY_UUID)==null);

                byte[] macAddress =
WifiUtils.getWiFiMACAddress(GlobalVariables.APP_CONTEXT);
                PrefUtils.setByteArray(GlobalConstants.PREF_KEY_UUID, 
macAddress);
                int macAddressChecksum =
ByteUtils.tripleByteArrayToSmallInt(ByteUtils.getByteArrayChecksum(macAddress));

                byte[] fetchedMacAddress =
PrefUtils.getByteArray(GlobalConstants.PREF_KEY_UUID);
                int fetchedAddressChecksum =
ByteUtils.tripleByteArrayToSmallInt(ByteUtils.getByteArrayChecksum(fetchedMacAddress));
                Arrays.equals(macAddress, fetchedMacAddress);

                assert(macAddressChecksum == fetchedAddressChecksum);

                PrefUtils.setInt("test.int.key", Integer.MAX_VALUE);
                assert(Integer.MAX_VALUE == PrefUtils.getInt("test.int.key",0));

                PrefUtils.setInt("test.int.key", Integer.MIN_VALUE);
                assert(Integer.MIN_VALUE == PrefUtils.getInt("test.int.key",0));

        }

}


On Apr 9, 5:47 am, Kim Ras <[email protected]> wrote:
> Excellent, I looked at that and was not sure if that fas able to share
> the settings between Servises and Activities.. I will look again
> Thanks
> Kim

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

To unsubscribe, reply using "remove me" as the subject.

Reply via email to