2011-04-06 58 views
6

大家好,任何人都可以說爲什麼我應該爲我的移動應用程序使用SQLite數據庫?有沒有我可以使用的數據庫?Android中有哪些類型的數據庫可用?

+0

沒有。你可以使用基於文件的記錄系統甚至XML,但這不是本地的,你必須自己開發它。 – st0le 2011-04-06 10:51:16

+1

SQLite是與Android來的,它是非常有用的.. – 2011-04-06 10:54:28

回答

2

另一種選擇是Berkeley DB,它像SQLite是一個輕量級,快速,可靠的數據庫庫。你有你如何使用Berkeley DB的Android一些不同的選擇:通過SQL API

  1. 使用的Berkeley DB的升級/更換SQLite的。 BDB SQL API完全兼容SQLite,所以你的SQLite應用程序應該能夠很容易地轉換爲使用Berkeley DB。你爲什麼要使用Berkeley DB而不是SQLite?在Android上,它主要是關於併發性。 BDB支持併發讀寫操作。如果你的Android應用程序需要,那麼BDB是一個很好的選擇。在非Android平臺上,BDB可擴展性,性能,HA和企業支持使其成爲應用程序的有吸引力的替代方案,既可以使用SQLite,也可以考慮使用它。 OTN上有關使用Android here上的BDB SQL API的有用討論。
  2. 通過鍵值API使用Berkeley DB作爲簡單的本地數據存儲。
  3. 通過鍵值Java Collections或Direct Persistence Layer API使用Berkeley DB Java Edition來管理純Java環境中的應用程序數據。以下是關於在Android上使用Berkeley DB JE的有趣Blog條目。

聲明:我是Berkeley DB的產品經理。也就是說,我們認爲SQLite是一個很棒的產品(我們是SQLite聯盟的一部分),我們很高興看到人們採用和使用它。有些情況下,伯克利DB可能是一個更好的選擇,因此我的建議在這裏。

0

發佈關於它的好文章,它是普遍認爲SQLite是最好的數據庫平臺的方式Android,因爲它具有輕量性,非常適合處理能力和內存有限的移動設備。

這並不是說你不能這樣做,在一天結束時它就是Java。你可以編寫你自己的,或者找到開源代碼,這將使你能夠使用另一個數據庫。問題在於手機還必須有一個數據庫守護程序來處理請求,而在SQLite中,數據庫是存儲在手機上的文件,因此可以通過Java輕鬆訪問。

在一天結束時,嘗試運行一個MySQL守護進程例如在手機上是愚蠢的,因爲我非常懷疑它有內存可以應付。你會更習慣於SQLite,因爲它是一個非常靈活和流行的數據庫平臺。

0

正如在另一個答案中提到的那樣,您可以交叉編譯Berkeley DB for Android並使用Java綁定,包括它作爲.apk中的.so本地庫(出來壓縮在〜710k)。有一步一步的指導here(因爲它需要較小的調整)。

0

您的數據存儲選項如下:

共享偏好的鍵值對 店專用的基本數據。

內部存儲器 將私有數據存儲在設備存儲器上。

外部存儲 將公共數據存儲在共享的外部存儲上。

SQLite數據庫 將結構化數據存儲在專用數據庫中。

網絡連接 使用您自己的網絡服務器將數據存儲在網絡上。

相關問題