实现一个工具类 SharePreferenceUtil
package com.adv.client.utils;
import android.content.Context;
import android.content.SharedPreferences;
import java.util.Map;
public class SharePreferenceUtil {
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
//sharePreference sava file name
public static final String MQTTCONFIG = "mqttconfig";
public SharePreferenceUtil(Context context, String FILE_NAME) {
sharedPreferences = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
}
//put value
public void put(String key, Object object) {
if (object instanceof String) {
editor.putString(key, (String) object);
} else if (object instanceof Integer) {
editor.putInt(key, (Integer) object);
} else if (object instanceof Boolean) {
editor.putBoolean(key, (Boolean) object);
} else if (object instanceof Float) {
editor.putFloat(key, (Float) object);
} else if (object instanceof Long) {
editor.putLong(key, (Long) object);
} else {
editor.putString(key, object.toString());
}
editor.commit();
}
//get value
public Object getSharedPreference(String key, Object defaultObject) {
if (defaultObject instanceof String) {
return sharedPreferences.getString(key, (String) defaultObject);
} else if (defaultObject instanceof Integer) {
return sharedPreferences.getInt(key, (Integer) defaultObject);
} else if (defaultObject instanceof Boolean) {
return sharedPreferences.getBoolean(key, (Boolean) defaultObject);
} else if (defaultObject instanceof Float) {
return sharedPreferences.getFloat(key, (Float) defaultObject);
} else if (defaultObject instanceof Long) {
return sharedPreferences.getLong(key, (Long) defaultObject);
} else {
return sharedPreferences.getString(key, null);
}
}
//remove value by key
public void remove(String key) {
editor.remove(key);
editor.commit();
}
//remove all value
public void clear() {
editor.clear();
editor.commit();
}
//check value by key
public Boolean contain(String key) {
return sharedPreferences.contains(key);
}
//return map
public Map<String, ?> getAll() {
return sharedPreferences.getAll();
}
}
然后调用其中的方法
存储:
SharePreferenceUtil sharePreferenceUtil = new SharePreferenceUtil(MainActivity.this, SharePreferenceUtil.MQTTCONFIG); sharePreferenceUtil.put("mqttServerIp", mqttServerIp); sharePreferenceUtil.put("mqttServerPort", mqttServerPort);
读取和判断:
if(sharePreferenceUtil.contain("mqttServerIp") && sharePreferenceUtil.contain("mqttServerPort")){ this.hostname = sharePreferenceUtil.getSharedPreference("mqttServerIp", "").toString(); this.portNumber =Integer.parseInt(sharePreferenceUtil.getSharedPreference("mqttServerPort", "").toString()); Log.i("sharePreference", this.hostname+":"+this.portNumber); }else{ this.hostname = properties.getProperty("MQTT_SERVER"); this.portNumber = Integer.parseInt(properties.getProperty("MQTT_PORT")); }