android文件存儲之preference,解決程序界面改動信息保存

非完整的項目代碼,僅有preference的存儲數(shù)據(jù)和讀取的部分內(nèi)容。
數(shù)據(jù)存儲:

String str = ""; //存儲所有字符串信息
String temp = ""; //存儲一個項目的字符串信息
Item itm = null;  //將item實例初始化

//將動態(tài)數(shù)組中的所有item實例取出,再取出每個item中的兩個string,
//使用空格“ ”和逗號“,”將數(shù)據(jù)分隔(為后面逐個取出數(shù)據(jù))最后將所有數(shù)據(jù)拼接賦值給str
for (Item sitm : itemsArrayList) {
    String name = sitm.getItemName();
    String description = sitm.getItemDescription();
    temp = name + " " + description;
    str += temp + ",";
    PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit()
        .putString("myitems", str).commit();
}

數(shù)據(jù)讀取:

String str = PreferenceManager.getDefaultSharedPreferences(MainActivity.this)
                .getString("myitems",null); 

//先判定之前內(nèi)容是否存儲成功,再將string逐層分隔數(shù)據(jù)(先用“,”標識將每個item的內(nèi)容分隔開,再通過
//“ ”標識分隔item中的name和description)       
if (str != null) {
    List<String> arraylist = new ArrayList<String>(Arrays.asList(str.split(",")));
      for(String s : arraylist) {
          String[] parts = s.split(" ");
          String name = parts[0];
          String description = parts[1];
          Item itemTemp = new Item(name, description); //實例化臨時的item
          itemsArrayList.add(itemTemp); 
          itemTemp = null;
          itemsListView.setAdapter(adapter);
            }
        }
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容