如何在XML文件中保存HashMap并将其恢复到android?

时间:2012-03-22 10:47:51

标签: android xml file hashmap

我有一个HashMap,它包含一些键值格式的数据(String,Object)。我想将这个hashmap保存在Android手机内存中的XML格式文件中,并再次检索它在Map中。如何在android中实现这一点。

提前致谢

2 个答案:

答案 0 :(得分:0)

我不知道这是否可以解决您的问题,但您是否使用sharedPreferences进行检查? 它允许您保存键值,而无需您负责创建文件并从中检索。 它易于创建,插入和读取

在这里查看
http://developer.android.com/reference/android/content/SharedPreferences.html

//create - open the sharedPreferences file
SharedPreferences pref = context.getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);

//get an editor
SharedPreferences.Editor prefsEditor = myPrefs.edit();

//add key-value
prefsEditor.putString("MY_KEY", "MY_VALUE");
//commit 
prefsEditor.commit();

//get the value from key (the second param is the default if the value is null )
pref.getString("MY_KEY","VALUE_IF_NULL");

答案 1 :(得分:0)

这是代码

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;

    import java.util.Arrays;
    import java.util.List;

    public class MainClass {
      public static void main(String[] a) throws Exception {

        List list = Arrays.asList(new String[] { "A", "B", "C", "D" });
        FileOutputStream fos = new FileOutputStream("list.ser");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(list);
        oos.close();

        FileInputStream fis = new FileInputStream("list.ser");
        ObjectInputStream ois = new ObjectInputStream(fis);
        List anotherList = (List) ois.readObject();
        ois.close();


      }
    }