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

非完整的項目代碼,僅有preference的存儲數據和讀取的部分內容。
數據存儲:

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

//將動態數組中的所有item實例取出,再取出每個item中的兩個string,
//使用空格“ ”和逗號“,”將數據分隔(為后面逐個取出數據)最后將所有數據拼接賦值給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();
}

數據讀取:

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

//先判定之前內容是否存儲成功,再將string逐層分隔數據(先用“,”標識將每個item的內容分隔開,再通過
//“ ”標識分隔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);
            }
        }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容