gpt4 book ai didi

android - 存储位置数据的最佳方式 - Android

转载 作者:行者123 更新时间:2023-11-29 21:00:39 27 4
gpt4 key购买 nike

我正在开发一个地理围栏程序,我需要保存用户的路径。

到目前为止,我在 SharedPreferences 中存储了一组字符串,每隔 X 分钟数据就会发送到服务器并清除所有变量,所以我认为不会存在存储问题。

我想知道是否有最好的方法来做到这一点。

更新:只要 SharedPreferences 不支持 List,我就会遵循 @chiastic-security 的方法,我会创建一个类 Point,其中包含浮点类型和时间戳的点,然后我会将它添加到一个 Set 中。

这是我的代码示例:

SharedPreferences prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
ArrayList<String> path;


public void updatePath(Points point){
path.add(point);
Set<String> mySet = new HashSet<String>(path);
prefs.edit().putStringSet("path", mySet).commit();
}

和点类

 public class Points {
private Double[] coordinates;
private long timestamp;

public Points(Double[] coordinates ){
this.coordinates = coordinates;
this.timestamp = System.currentTimeMillis();
}

最佳答案

如果要存储路径,则应存储 List 而不是 Set,否则会丢失顺序。这将是一堆乱七八糟的点,而不是您可以随时间追踪的东西。

不可能说更多,因为我们不知道中的内容,但是String似乎是一个奇怪的选择。我希望有一个自定义类来存储纬度和经度以及可能的高度 (double)。它还可能存储一个时间戳(long),如果是这样,那么 Set 就可以了,因为您可以恢复排序(尽管 List 仍然会更自然)。

您需要确保该类实现了 Parcelable

关于android - 存储位置数据的最佳方式 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26230610/

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