2012-08-04 28 views
1

那麼我想在我的應用程序中添加一些功能。我想要的是在那裏放一個搜索按鈕,我知道爲了做到這一點,我必須將我的文本放在數據庫上才能使用sql進行查詢。然而,有沒有在android上使用sqlite的缺點?例如,如果我必須在那裏存儲大文件?或者如果一個用戶刪除了我創建的應用程序,數據庫仍然保存在他們的電話中?還有什麼是我可以在android上使用sqlite的最大尺寸?有沒有其他的選擇使用而不是使用數據庫?謝謝..使用sqlite的缺點?

回答

1

我認爲沒有任何缺點是您的應用程序使用sqlite。但是有人認爲您不要忘記您必須在後臺線程中執行所有數據庫操作。如果您在主線程中運行,UI將在處理時凍結與大數據。

也可以從SD卡中刪除應用程序的數據,如果您使用方法getExternalStorageDirectory()。見下面鏈接,使用

Android how to use Environment.getExternalStorageDirectory()

+0

哦,我明白了..如果我正確使用SD卡是爲了紮根android手機纔對嗎?謝謝..現在我必須學習線程..我希望它容易^ _ ^再次感謝 – thenewbie 2012-08-04 07:32:18

1

它似乎對SQLite來說是很好的解決方案。如果您打算在數據庫中搜索文本,則可以使用FTS功能。我認爲它支持大文件的能力exceeds現代硬件上限:)。 Sqlite數據庫是簡單的文件,因此您可以控制是否將其保存在用戶設備上(將db文件放在SD卡左右(極不推薦))或不保存(將db文件放入應用程序本地存儲)。

如果您稍微描述一下您的應用程序,我可以推薦一些替代方案。

+0

ahm好吧,我創建了一個信息豐富的應用程序,有一些酒店和餐廳,你可以用listview看到。但他們是如此之多,所以滾動它們到底部對我來說有點煩人。所以我決定有一個搜索按鈕,我可以在那裏搜索我想要的酒店的名稱.. – thenewbie 2012-08-04 07:35:57

0

其實,我相信這是一件事創建文件創建文件Sqlite很適合。 Sqlite作爲數據庫的一種文件解決方案,可以讓您輕鬆進行克隆和部署。至於刪除卸載和大小限制,我無法想象爲什麼它會被區別於任何其他文件(因爲它只是一個文件)

2

那麼我不確定數據庫,但通常外部存儲數據永遠不會被刪除,除非用戶自己刪除它。雖然在較舊版本的android中,數據曾經在應用程序卸載時被刪除。

我不確定是否有缺點,但除了SQLite之外,Android中還有3個數據存儲選項。一種是共享首選項,但只能滿足原始數據類型,並在應用程序卸載時被刪除。其次是內部存儲器上的文件存儲,在應用程序卸載時也會被刪除。第三種是外部存儲器上的文件存儲,在應用程序卸載時不會被刪除,但是如果存儲裝置安裝在計算機上,任何其他應用程序或計算機都可以訪問它。

SQLite數據對於應用程序來說是安全和私密的,我相信這是一種很好的存儲方法。它的大小限制是SQLite的標準,請檢查SQLite limits here