2011-07-18 79 views
0

我發展,併爲我校的增強現實應用,在那裏將有兩種類型的興趣點(POI):哪個是管理Android AR應用數據的最佳方法?

  • 的第一批由我提供的,因此,他們總是保持 一樣。將有大約200這些,連同他們的 JPG或PNG圖像。

  • 用戶可以添加他們希望與其他用戶分享的POI。因此 我不知道我可以期待多少興趣點。

我在遠程服務器上設置了一個MySQL數據庫,它可以保留所有提到的POI。 這些選項中的哪一個最適合在給定場景下管理android應用程序中的數據?

  1. 從遠程數據庫中獲取所有內容,不存儲任何東西。 在應用程序中,使用除數據庫之外的一些數據結構。
  2. 從遠程數據庫獲取所有內容,並在使用時將其存儲在SQLite數據庫 中,並在關閉應用程序時將其刪除。
  3. 只提取即將顯示的信息, 儘管這意味着對遠程數據庫有很多請求。
  4. 在應用程序中設置一個SQLite數據庫,該應用程序在您第一次運行應用程序時,保留 me(arround 200)提供的POI,並將其初始化爲脫機狀態(腳本中已有所有數據 )。
  5. 與4相同,但是第一次從服務器獲取數據。
  6. 與4和5相同,但僅存儲數據,而不是與每個POI相關的圖像 。

如果有人提出了一個更好的選擇請提出它! 儘可能使應用程序儘可能輕,並儘可能避免儘可能多的不需要的請求,以避免數據庫。

回答

0

嘗試將它們放入小集羣中: 與谷歌地圖上的放大方式類似。如果你遠離它,它會顯示一切縮小的圖片,但是隨着放大,你會看到更多細節。使用這種方法,您可以擁有POI羣集,而用戶正在四處觀看。如果他們在一個地方停留了一段時間,您可以開始加載該羣集中的值。通過將用戶位置和方向作爲查詢來計算這一切。

考慮讓用戶保存加載的POI。這樣你就不會保存你從服務器上下載的所有東西。

+1

好的,所以我隨着用戶通過它們逐漸加載它們。我把它們放在電話裏,這樣如果用戶走回去,就不需要再次請求它們了嗎? 現在的事情是,他們在電話中時,我如何存儲/管理它們?一個列表?一個時間SQLite數據庫?任何其他數據結構...? – ferguior

+0

好吧,因爲它聽起來像只需要lat/long/alt,你可能只需要你的數據庫中的信息。隨着用戶的移動,第一步將是...檢查內存列表中的點。如果它不在內存中,請檢查數據庫並將其加載到內存中。如果它不在數據庫中,則將其下載並輸入數據庫,然後加載到內存中。 –

+0

好吧,聽起來不錯。有沒有什麼方法可以檢查我使用多少MB來存儲數據?這樣我就可以刪除最長時間沒有顯示的信息並保持應用程序亮起。 – ferguior

相關問題