Android编程心得-SharedPreference中putStringset存取数据
8193 点击·0 回帖
![]() | ![]() | |
![]() | 在我们使用SharedPreference的时候,常用的就是存储配置文件信息,但有时我们需要存储多维数组信息的时候,就可以用到putStringSet。
下面是写方法: [html] public void SaveSiteinfoToXml() { final SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(MainActivity.this); Editor editor = prefs.edit(); Set<String> siteno = new HashSet<String>(); if (Unit_PublicVar.arr_DeatilContent != null) { for (int i = 0; i < Unit_PublicVar.arr_DeatilContent.length; i++) { siteno.add(Unit_PublicVar.arr_DeatilContent[0] + "," + Unit_PublicVar.arr_DeatilContent[1] + "," + Unit_PublicVar.arr_DeatilContent[2] + "," + Unit_PublicVar.arr_DeatilContent[3]); // } } editor.putStringSet("站点信息", siteno); editor.commit(); } public void SaveSiteinfoToXml() { final SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(MainActivity.this); Editor editor = prefs.edit(); Set<String> siteno = new HashSet<String>(); if (Unit_PublicVar.arr_DeatilContent != null) { for (int i = 0; i < Unit_PublicVar.arr_DeatilContent.length; i++) { siteno.add(Unit_PublicVar.arr_DeatilContent[0] + "," + Unit_PublicVar.arr_DeatilContent[1] + "," + Unit_PublicVar.arr_DeatilContent[2] + "," + Unit_PublicVar.arr_DeatilContent[3]); // } } editor.putStringSet("站点信息", siteno); editor.commit(); } putStringset需要传入Set<String> 类型的参数 ,本函数的二维数组之前已经有值了,所以此处直接存储是没有问题的。 下面是读方法 [java] public void LoadParaFromXml() { final SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(MainActivity.this); Set<String> siteno = new HashSet<String>(); siteno = prefs.getStringSet("站点信息", siteno); if (siteno.size() > 0) { String[] data = (String[]) siteno.toArray(new String[siteno.size()]); //将SET转换为数组 Unit_PublicVar.arr_DeatilContent = new String[data.length][]; for (int i = 0; i < data.length; i++) { Unit_PublicVar.arr_DeatilContent = data.trim().split( ","); } } } public void LoadParaFromXml() { final SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(MainActivity.this); Set<String> siteno = new HashSet<String>(); siteno = prefs.getStringSet("站点信息", siteno); if (siteno.size() > 0) { String[] data = (String[]) siteno.toArray(new String[siteno.size()]); //将SET转换为数组 Unit_PublicVar.arr_DeatilContent = new String[data.length][]; for (int i = 0; i < data.length; i++) { Unit_PublicVar.arr_DeatilContent = data.trim().split( ","); } } } | |
![]() | ![]() |