我想創建一個應用程式,我可以將文本、影像和音頻筆記保存到離線資料庫(沒有互聯網連接),然后以類似串列的布局顯示它們。不想將檔案直接保存到內部存盤。
這是我第一次創建移動應用程式,因此我需要幫助為此類用例選擇正確的資料庫。有什么建議?
uj5u.com熱心網友回復:
我想你可能會混淆一些術語。雖然您可以將各種媒體放入資料庫中。有時它不是最實用的解決方案。聽起來您可能正在考慮檔案存盤,而不是資料庫。此外,如果檔案不在外部服務器/資料庫上,則檔案必須位于某處,而不是必須位于本地設備上。您的應用程式不會運行本地資料庫服務,只是為了存盤媒體檔案。這將是大量開銷并占用大量資源。
uj5u.com熱心網友回復:
首先要知道: android中的資料庫是SQLite,所以任何其他離線資料庫都只是一個管理SQLite資料庫的層,它只保存數字和文本資料,但你可以保存任何其他型別,如影像、音頻、陣列...通過創建轉換器將其保存在資料庫中。
例如:您可以通過將BitMap-Image type-轉換為ByteArray-List of 0s and 1s-,然后將其轉換ByteArray為String-Default text type-來保存-Image type-,然后您可以將其保存到資料庫中,當您想要選擇該值時,只需通過相反的轉換(String-> ByteArray-> BitMap),所以這里的技巧是知道如何在型別之間進行轉換。
現在答案是: 最好的離線資料庫是 RoomDatabase,它是創建和管理 SQLite 資料庫的最快方法,有了 Room,您無需從頭開始構建 SQLite 資料庫,它會為您構建它,并且具有出色的性能創建轉換器的方法。但是對于初學者來說,標準 SQLite 已經綽綽有余,如果您會發現 RoomDB 更加困難。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/334811.html
上一篇:使兩個包盡可能松散耦合的模式
