`
xp9802
  • 浏览: 1183703 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 本地存取复杂数据

 
阅读更多

@SuppressWarnings("unchecked")

public List<Map<String, Object>> fetch(String name) 

{

List<Map<String, Object>> data = null;

        SharedPreferences preferences  = getSharedPreferences("base64",Context.MODE_PRIVATE);  

        String dataBase64              = preferences.getString(name, "");  

        if (dataBase64 != "") {

       byte[] base64 = Base64.decode(dataBase64.getBytes(),Base64.DEFAULT);  

       ByteArrayInputStream bais = new ByteArrayInputStream(base64);  

       try {    

           ObjectInputStream bis = new ObjectInputStream(bais);  

           try {  

                data = (List<Map<String, Object>>) bis.readObject();  

           } catch (ClassNotFoundException e) {  

               

           }  

       } catch (StreamCorruptedException e) {  

          

       } catch (IOException e) {  

           

       }  

        }

        return data;

    }  

 

public void save(List<Map<String, Object>> data,String name) 

{  

        SharedPreferences preferences = getSharedPreferences("base64",Context.MODE_PRIVATE); 

        ByteArrayOutputStream baos = new ByteArrayOutputStream();  

        try {    

            ObjectOutputStream oos = new ObjectOutputStream(baos);    

            oos.writeObject(data);

            String dataBase64      = new String(Base64.encodeToString(baos.toByteArray(),Base64.DEFAULT));  

            Editor editor = preferences.edit();  

            editor.putString(name, dataBase64);

            editor.commit();  

        } catch (IOException e) {  

            

        }  

    }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics