2013-12-12 45 views
8

因此,我對手機應用程序開發相當陌生。目前正在爲移動應用程序製作項目文檔,並且希望對我應該使用的數據庫解決方案提供一些意見。爲手機應用程序選擇數據庫的最佳做法

1)移動應用程序 - >在線唯 - >與一個數據庫

2)我有幾個Web服務器運行起來(MySQL的居多),可以使用?

所以我的問題很簡單:)我應該爲我的移動應用程序數據庫使用什麼解決方案。 - 在服務器上安裝mysql數據庫? - 使用某種基於雲的解決方案? - 任何API considurations?

  • 對於android和ios都需要是「最佳實踐」。

任何和所有的建議非常感謝!謝謝大家!你太棒了!

回答

2

湯姆 - 如果你需要數據在沒有互聯網連接的情況下離線使用,那麼你應該使用SQLITE數據庫作爲android/ios的一部分。

如果您的應用程序將數據保存在服務器上,而服務器又被其他門戶或其他設備使用(共享),則考慮通過網絡/服務器和mysql數據庫存儲數據。

這真的取決於使用和共享的要求。本地存儲的數據有很大的好處,因爲它更快,無需網絡,數據始終可用,並且不使用網絡也增加了電池的使用壽命..

+0

感謝您的輸入。要求是人們彼此分享「數據」。不會進入特定的,但基本上,人1打開應用程序,並看到人2,3,4數據。因此註冊並共享數據。任何關於保存/檢索mysql數據的最佳實踐的意見?建立一個API? – Tom

+2

在這種情況下 - 你也需要服務器組件。服務器應該公開Web服務。 Webservice可以是最適合手機的REST/JSON類型。爲了提供最佳的用戶體驗,您應該將數據與服務器同步並在SQLITE本地存儲(在iOS中,您使用核心數據來使用sqlite)。 – Jailbroken

+0

那麼mysql(innodb)是一個很好的解決方案?無需爲移動應用程序提供任何「特殊」數據庫解決方案?建議在服務器端使用什麼REST方法?有什麼需要看看? – Tom

4

湯姆,

此問題的最常見的解決辦法是:

1)您的應用程序通過服務器中的web服務獲取數據。您可以使用基於XML通信的Soap解決方案或簡單的REST訪問(GET或POST方法中的簡單http請求)並使用您自己的選擇:XML或JSON。 今天,有很多基於REST GET/POST和JSON文件通信的解決方案。

2)之後,如果您希望應用程序可以在離線模式下進行轉換或者只是更加反應性,則可以通過webservice將舊加載的數據存儲在本地數據庫中。 爲此,在Android中,您可以使用對sqlite數據庫的直接訪問,而在iOs中,您可以使用CoreData API。

希望它能幫助你。

Fabecc。

相關問題