public boolean saveTheme(ThemeBean bean) {
final Gson gson = new Gson();
final String jsonStr = gson.toJson(bean);
return mSharedPreferences.edit().putString("theme_key", jsonStr).commit();
}
通过gson.toJson 方法转化为String
public ThemeBean getTheme() {
final Gson gson = new Gson();
final String jsonStr = mSharedPreferences.getString("theme_key", "");
final Type type = new TypeToken<ThemeBean>() {
}.getType();
final ThemeBean themeBean = gson.fromJson(jsonStr, type);
return themeBean;
}
通过 gson.fromJson 方法 还原ThemeBean
public String selectList2String(LinkedList<String> selectList) {
String selectListString = null;
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
objectOutputStream.writeObject(selectList);
selectListString = new String(Base64.encode(byteArrayOutputStream.toByteArray(),
Base64.DEFAULT));
objectOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return selectListString;
}
@SuppressWarnings("unchecked")
private LinkedList<String> string2SelectList(String selectString) {
LinkedList<String> selectList = null;
try {
byte[] mobileBytes = Base64.decode(selectString.getBytes(), Base64.DEFAULT);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(mobileBytes);
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
selectList = (LinkedList<String>) objectInputStream.readObject();
objectInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return selectList;
}
ObjectOutputStream 和 ObjectInputStream 实现object的读写.注意 Base64.decode的编码格式