gpt4 book ai didi

java - 如何从文件中读取/写入对象数组列表的数组列表?

转载 作者:行者123 更新时间:2023-12-01 12:37:21 28 4
gpt4 key购买 nike

我有一个自定义对象(AppDetails),它成对保存字符串值(TitleDetails)。我已经创建了这个对象的 ArrayList,然后它是另一个 ArrayList 的对象。

ArrayList<ArrayList<AppDetails>> appBox;

protected class AppDetails {
protected String DetailTitle;
protected String DetailDesc;

public AppDetails() {
DetailTitle = "";
DetailDesc = "";
}

public void setDetailTitle(String s) {
DetailTitle = s;
}

public void setDetailDesc(String s) {
DetailDesc = s;
}

public String getDetailTitle() {
return DetailTitle;
}

public String getDetailDesc() {
return DetailDesc;
}

}

将其保存到 Android 内部存储中的最佳方法是什么?我希望能够检索此 appBox 并在应用程序启动时加载它,并在每次 AppDetails 的新 ArrayList 时将其保存到文件中创建。

最佳答案

您可以将数据序列化为 xml 并使用首选项 API 保存此类 xml。请参阅preference API official page .

简而言之,以下代码示例:

sPref = getPreferences(MODE_PRIVATE); //MODE_PRIVATE is a constant means that saved data will be accesed via current app only
Editor ed = sPref.edit(); //Editor for writing data
ed.putString(SAVED_TEXT, stringToWrite); //Prepare the string to save. SAVED_TEXT is a key for xml data chunk that will be saved
ed.commit(); //Save data

对于您的具体示例,可以执行以下操作:

sPref = getPreferences(MODE_PRIVATE); 
Editor ed = sPref.edit();
for(List<AppDetails> lst : appBox){
for(AppDetails appDetails : lst){
ed.putString(appDetails.DetailTitle, appDetails.DetailText);
}
}
ed.commit();

关于java - 如何从文件中读取/写入对象数组列表的数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25468514/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com