SharedPreferences存取集合(工具类)
package com.example.splist;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputS
·
package com.example.splist;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.StreamCorruptedException;
import java.util.List;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Base64;
public class Utils {
public static void putList(Context context,String filename,String key,List list){
SharedPreferences mySharedPreferences = context.getSharedPreferences(filename,
Context.MODE_PRIVATE);
Editor edit = mySharedPreferences.edit();
try {
String liststr =ListToString(list);
edit.putString(key, liststr);
edit.commit();
} catch (IOException e) {
e.printStackTrace();
}
}
public static List getList(Context context,String filename,String key){
SharedPreferences sharedPreferences=context.getSharedPreferences(filename, Context.MODE_PRIVATE);
String liststr = sharedPreferences.getString(key, "");
try {
List list = StringToList(liststr);
return list;
} catch (StreamCorruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public static String ListToString(List list)
throws IOException {
//创建ByteArrayOutputStream对象,用来存放字节文件。
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//得到的字符放到到ObjectOutputStream
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
byteArrayOutputStream);
// writeObject 方法负责写入特定类的对象的状态,以便相应的 readObject 方法可以还原它
objectOutputStream.writeObject(list);
//Base64.encode将字节文件转换成Base64编码存在String中
String string = new String(Base64.encode(
byteArrayOutputStream.toByteArray(), Base64.DEFAULT));
// 关闭Stream
objectOutputStream.close();
byteArrayOutputStream.close();
return string;
}
@SuppressWarnings("unchecked")
public static List StringToList(String string)
throws StreamCorruptedException, IOException,
ClassNotFoundException {
byte[] b = Base64.decode(string.getBytes(),
Base64.DEFAULT);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
b);
ObjectInputStream objectInputStream = new ObjectInputStream(
byteArrayInputStream);
List list = (List) objectInputStream
.readObject();
// 关闭Stream
objectInputStream.close();
byteArrayInputStream.close();
return list;
}
}
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.StreamCorruptedException;
import java.util.List;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Base64;
public class Utils {
public static void putList(Context context,String filename,String key,List list){
SharedPreferences mySharedPreferences = context.getSharedPreferences(filename,
Context.MODE_PRIVATE);
Editor edit = mySharedPreferences.edit();
try {
String liststr =ListToString(list);
edit.putString(key, liststr);
edit.commit();
} catch (IOException e) {
e.printStackTrace();
}
}
public static List getList(Context context,String filename,String key){
SharedPreferences sharedPreferences=context.getSharedPreferences(filename, Context.MODE_PRIVATE);
String liststr = sharedPreferences.getString(key, "");
try {
List list = StringToList(liststr);
return list;
} catch (StreamCorruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public static String ListToString(List list)
throws IOException {
//创建ByteArrayOutputStream对象,用来存放字节文件。
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//得到的字符放到到ObjectOutputStream
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
byteArrayOutputStream);
// writeObject 方法负责写入特定类的对象的状态,以便相应的 readObject 方法可以还原它
objectOutputStream.writeObject(list);
//Base64.encode将字节文件转换成Base64编码存在String中
String string = new String(Base64.encode(
byteArrayOutputStream.toByteArray(), Base64.DEFAULT));
// 关闭Stream
objectOutputStream.close();
byteArrayOutputStream.close();
return string;
}
@SuppressWarnings("unchecked")
public static List StringToList(String string)
throws StreamCorruptedException, IOException,
ClassNotFoundException {
byte[] b = Base64.decode(string.getBytes(),
Base64.DEFAULT);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
b);
ObjectInputStream objectInputStream = new ObjectInputStream(
byteArrayInputStream);
List list = (List) objectInputStream
.readObject();
// 关闭Stream
objectInputStream.close();
byteArrayInputStream.close();
return list;
}
}

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)