如何保存和加载整个sql表

时间:2015-12-18 12:05:51

标签: java android sql maps

我在Android上有一个地图应用程序,它通过位置数据跟踪您的路线,并将LatLng点存储在SQL数据库中,并使用折线在地图上绘制一条线。

我想更进一步,并允许用户能够保存路线并加载过去的路线。有没有办法可以将整个表数据存储/删除到一个文件中,以便可以创建一个新的路由,然后如果用户选择,可以再次将该文件加载到数据库中?

4 个答案:

答案 0 :(得分:0)

1:使用对象存储数据,并将它们保存为集合,例如(Set,Map,...)

2:使用序列化,直接

What does Serializable mean?

答案 1 :(得分:0)

您可以尝试创建一个Route类,其中包含您要存储在数据库中的所有信息,如下所示:

public class Coordinate {
    double longitude;
    double latitude;

    public Coordinate(double x, double y){
    this.longitude = x;
    this.latitude = y;
    }
}

public class Route {
    private List<Coordinate> coordinates;

    public Route() {
        coordinates = new ArrayList<>();
    }
}

使用Google Gson,您可以将路由转换为Json文件。您可以将这些文件存储在本地存储中,并在用户想要使用过去路径时使用它们。

答案 2 :(得分:0)

让您入门的绝佳指南:

http://developer.android.com/training/location/receive-location-updates.html

教程,可能正是您正在寻找的内容:

http://javapapers.com/android/draw-path-on-google-maps-android-api/

进一步阅读:

我会查看Google的Android位置API:

https://developers.google.com/android/reference/com/google/android/gms/location/package-summary

它还内置了一个监听器,因此当用户位置发生变化时,它会自动更新。

然后您可以保留历史记录,就像您在数据库中建议的那样,并在需要时保存。然后在需要时使用API​​来重建或监控用户的当前路径。

位置监听器:https://developers.google.com/android/reference/com/google/android/gms/location/LocationListener

您的数据,就像您还建议应该转换为/存储的“位置”格式的API: http://developer.android.com/reference/android/location/Location.html

答案 3 :(得分:0)

好吧,让我们在这里思考聪明 一条路线包含许多可能的位置。所以一个好主意是创建两个sql表。一个表用于位置,一个用于路径
因此,您将进行搜索,您将找到路径中存在的所有位置。这取决于您将为数据库实现的实现方式。