Android的SharedPreference中putStringSet存取数据

来源:互联网 发布:知乎 股市入门书籍 编辑:程序博客网 时间:2024/05/29 17:31


在我们使用SharedPreference的时候,常用的就是存储配置文件信息,但有时我们需要存储多维数组信息的时候,就可以用到putStringSet。

下面是写方法:

[html] view plaincopy
  1. public void SaveSiteinfoToXml() {  
  2.     final SharedPreferences prefs = PreferenceManager  
  3.             .getDefaultSharedPreferences(MainActivity.this);  
  4.     Editor editor = prefs.edit();  
  5.     Set<String> siteno = new HashSet<String>();  
  6.     if (Unit_PublicVar.arr_DeatilContent != null) {  
  7.         for (int i = 0; i < Unit_PublicVar.arr_DeatilContent.length; i++) {  
  8.             siteno.add(Unit_PublicVar.arr_DeatilContent[i][0] + ","  
  9.                     + Unit_PublicVar.arr_DeatilContent[i][1] + ","  
  10.                     + Unit_PublicVar.arr_DeatilContent[i][2] + ","  
  11.                     + Unit_PublicVar.arr_DeatilContent[i][3]); //   
  12.   
  13.         }  
  14.     }  
  15.     editor.putStringSet("站点信息", siteno);  
  16.   
  17.     editor.commit();  
  18. }  

putStringset需要传入Set<String> 类型的参数  ,本函数的二维数组之前已经有值了,所以此处直接存储是没有问题的。

下面是读方法

[java] view plaincopy
  1.     public void LoadParaFromXml() {  
  2.         final SharedPreferences prefs = PreferenceManager  
  3.                 .getDefaultSharedPreferences(MainActivity.this);  
  4.         Set<String> siteno = new HashSet<String>();  
  5.         siteno = prefs.getStringSet("站点信息", siteno);  
  6.         if (siteno.size() > 0) {       
  7.             String[] data = (String[]) siteno.toArray(new String[siteno.size()]);   //将SET转换为数组   
  8.             Unit_PublicVar.arr_DeatilContent = new String[data.length][];  
  9.             for (int i = 0; i < data.length; i++) {  
  10.                 Unit_PublicVar.arr_DeatilContent[i] = data[i].trim().split(  
  11.                         ",");  
  12.             }  
  13. }  
  14. }  


From: http://blog.csdn.net/yangqicong11/article/details/8910549

0 0