我有一个根据需要保持值ArrayList
的对象。
现在我想将它保存为 FILE 或 in或将其转换为ARRAY 并保存..
我的数组列表是这样的: String
SharedPreferences
JSON
ArrayList<Struct_Saved_Domains> arraylist = new ArrayList<Struct_Saved_Domains>();
我怎样才能做到这一点?任何的想法??
您可以使用Gson将您的对象转换为字符串,然后将其保存在共享首选项中:
SharedPreferences prefs = context.getSharedPreferences("prefName", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putStringSet("myList", new Gson().toJson(arraylist).toString());
editor.apply();
您可以将以下代码用于共享首选项。
public class WebService {
String PREF_NAME = "PREF_NAME";
public static SharedPreferences sp;
Editor spEdit;
public String UserID;
public String Password;
public LoginWebService(Context ctx) {
// TODO Auto-geneated constructor stub
sp = ctx.getSharedPreferences(PREF_NAME, 0);
spEdit = sp.edit();
}
public void setUserID(String UserID) {
spEdit.putString("UserID", UserID);
spEdit.commit();
}
public String getUserID() {
return sp.getString("UserID", "");
}
public String getPassword() {
return sp.getString("Password", "");
}
public void setPassword(String Password) {
spEdit.putString("Password", Password);
spEdit.commit();
}
public void clear(){
spEdit.clear();
spEdit.commit();
}
}
将数据保存在共享首选项中时,您可以使用如下所示。
WebService objlogin=new WebService(context);
objlogin.clear();
for (int i = 0; i <arraylist.size(); i++)
{
objlogin.setUserID(arraylist.get(i).something);
objlogin.setPassword(arraylist.get(i).something);
}
然后,您所有的数据都将保存在分片首选项中。
希望这会帮助你。