Android 6 種資料儲存方法總結說明
APP 開發前幾篇文章介紹了在 Android 開發中,使用的各種資料儲存方式,包含:Resource Files、Internal Storage、External Storage、SharedPreferences、SQLite 及 Room。 這篇是本系列的最後一篇文章,總結每一種儲存方式的主要特色,幫助大家在開發 APP 時,挑選適合的方式來實作。
Resource Files
主要特色
- 僅能讀取,不能寫入。
- 可以很直覺的在專案中,使用資料夾管理並編輯檔案內容。
- 解除安裝時,資料將一併刪除。
- 儲存資料形式:檔案
- 所需權限:無需任何權限
Internal Storage
主要特色
- 無法與其他 APP 共享資料。
- 無法使用手機內建的檔案管理 APP 瀏覽檔案,需改用 Android Studio 內建的 Device File Explorer 工具。
- 適合存放 APP 執行時,會用到的必要檔案,或較機密的資料。
- 解除安裝時,資料將一併刪除。
- 儲存資料形式:檔案
- 所需權限:無需任何權限
External Storage
主要特色
- 可與其他 APP 共享資料。
- 可使用手機內建的檔案管理 APP 瀏覽檔案。
- 適合存放 APP 執行時,非必要的檔案,就是被刪除也不影響 APP 的執行的檔案。
- 區分 Primary External Storage 及 Secondary External Storage 兩種類型,每個類型還區分 APP 專屬目錄 (app-specific) 及共享目錄
- 解除安裝時,APP 專屬目錄將移除,共享目錄則不會移除。
- 儲存資料形式:檔案
- 所需權限:Primary External Storage 的共享目錄需要權限,Secondary External Storage 目錄目前尚無有效方法可操作,其餘則無需任何權限。
SharedPreferences
主要特色
- 輕型的資料儲存方式。
- 使用 XML 檔案儲存 Key-Value 形式資料。
- 支援 Boolean、Float、Int、Long 及 String 等資料型別。
- 每個 APP 的 SharedPreferences 各自獨立,無法互相存取。
- 解除安裝時,資料將一併刪除。
- 儲存資料形式:Key-Value 資料
- 所需權限:無需任何權限
SQLite
主要特色
- 輕量化的資料庫,與一般的 SQL 資料庫用法大同小異。
- 適合儲存複雜且重複的結構化資料。
- Android 內建支援,無需安裝任何套件。
- 每個 APP 的 SQLite 各自獨立,無法互相存取。
- 解除安裝時,資料將一併刪除。
- 儲存資料形式:資料庫
- 所需權限:無需任何權限
缺點
- 無法在編譯時檢查語法錯誤,必需等到執行時才顯示錯誤訊息。
- 必需使用大量樣板程式碼,才能將資料庫資料轉為資料物件。
Room
主要特色
- 底層依然是 SQLite 資料庫。
- 改進 SQLite API 存在的一些缺點。
- 編譯時會驗證語法是否正確。
- 簡化容易出錯的樣板程式碼。
- 簡化資料庫遷移路徑。
詳細說明:Android Room 資料庫使用方法
熱門文章
最新文章
0 則留言