【问题标题】:Google Maps: Saving markers to text file/other?谷歌地图:将标记保存到文本文件/其他?
【发布时间】:2016-07-01 10:29:23
【问题描述】:

我正在制作一个应用程序,用户可以在其中创建一组标记,然后可以选择将它们导出到某种文件中,这样不仅可以保存和重新打开地图(带有标记),使用该应用程序的其他人可以将此文件导入他们的应用程序。

目前,每次创建标记时,我都会将标记对象添加到 arrayList。这是代码:

List<Marker> markers = new ArrayList<Marker>();

Marker m = mMap.addMarker(new MarkerOptions()
                .position(new LatLng(lati, longi))
                .title(title)
                .snippet(snippet)
                .draggable(true));
        markers.add(m);

这似乎运作良好;我可以通过getTitle()getSnippet()等方法获取每个标记的属性。

但是,每次activity被销毁时,这个arrayList的内容也会消失,所以我觉得我需要保存这个信息是一些文件。以下是我的问题:

  1. 对象保存在文本文件中是个好主意吗?或者我应该保存字符串和整数(仅我需要的信息,而不是整个标记)并使用其他东西而不是文本文件(可能是共享首选项?)?
  2. 我怎样才能做到这一点?所有标记的导出和导入功能的示例将非常有帮助。
  3. 每当我旋转设备时,活动都会被破坏,因此所有信息都消失了。每次发生这种情况时我都必须导出和导入吗?

任何这些问题的任何帮助或见解都会有很大帮助:)

【问题讨论】:

    标签: java android google-maps android-studio


    【解决方案1】:

    您可以使用内容提供程序在应用程序之间共享数据。 看到这个https://developer.android.com/guide/topics/providers/content-provider-creating.html

    为了避免屏幕旋转后刷新,将此行添加到清单文件中

    android:configChanges="keyboardHidden|orientation|screenSize"

    【讨论】:

    • 谢谢,稍后会看看那个网站。我试图编辑清单文件,但它仍然重新启动....我到底把那行放在哪里?
    猜你喜欢
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多