2016-07-01 103 views
0

我正在創建一個應用程序,用戶可以在其中創建一組標記,然後可以選擇將它們導出到某種文件中,這樣不僅地圖(帶有標記)可以保存並重新打開,其他使用該應用的人可以將該文件導入到他們的應用中。谷歌地圖:將標記保存到文本文件/其他?

此刻,每次創建標記時,我都會將標記對象添加到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()

然而讓每個標記的屬性,每次活動被破壞,將此ArrayList此內容消失爲好,這樣我覺得好像我需要保存這個信息是一些文件。這裏是我的問題:

  1. 是一個文本文件一個好主意,節省對象?或者我應該保存字符串和整數(只有我需要的信息,而不是整個標記)並使用其他內容而不是文本文件(sharedprefences也許?)?
  2. 我該如何做到這一點?所有標記的導出和導入功能的例子將非常有用。
  3. 只要我旋轉設備,活動就會被破壞,因此所有的信息都消失了。每次發生這種情況時我都必須輸出和輸入嗎?

任何幫助或洞察力這些問題的任何將有很大的幫助:)

回答

1

您可以使用應用程序之間共享數據的內容提供商。 看到這個https://developer.android.com/guide/topics/providers/content-provider-creating.html

避免刷新屏幕旋轉後,這一行添加到您的清單文件

機器人:configChanges =「keyboardHidden |方向|屏幕尺寸」

+0

感謝,會看看那個網站一點點。我試圖編輯清單文件,但它仍然重新啓動....我到底在哪裏放那條線? –