gpt4 book ai didi

android - 如何在共享首选项中保存纬度和经度(位置)

转载 作者:行者123 更新时间:2023-11-29 14:37:44 25 4
gpt4 key购买 nike

我想获取一个位置的经度和纬度坐标并保存在 ArrayList 中,然后将此列表提交到 SharedPreference 文件,这样本地图加载时,可以使用来自 SharedPreference 文件的数据标记设置所有以前的位置.

我只知道 SharedPreference 只会存储原始数据类型,不会存储数组。

我的问题是,是否有人知道通过共享 pref 技术或任何其他方式来保存此数据的方法?

感谢任何意见。

最佳答案

1- 创建一个类并放置您想要存储的所有内容,例如 latitudelongitudearraylist 并使该类实现 Serializable 接口(interface)。

class MyBundle  implements Serializable {

ArrayList<Double> mLat;
ArrayList<Double> mLan;

MyBundle( ArrayList<Double> latitude, ArrayList<Double> longitude ){

mLat = latitude;
mLan = longitude;

}

}

2- 写入文件:

 ObjectOutputStream oos = null;
FileOutputStream fout = null;
try{
FileOutputStream fout = new FileOutputStream("Your file path");
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(mb); // mb is an instance of MyBundle
} catch (Exception ex) {
e.printStackTrace();
}finally {
if(oos != null){
oos.close();
}
}

并取回一切:

 ObjectInputStream objectinputstream = null;
try {
streamIn = new FileInputStream("Your file address");
objectinputstream = new ObjectInputStream(streamIn);
MyBundle mb = (MyBundle) objectinputstream.readObject();

} catch (Exception e) {
e.printStackTrace();
}finally {
if(objectinputstream != null){
objectinputstream .close();
}
}

关于android - 如何在共享首选项中保存纬度和经度(位置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25836350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com