2013-05-26 21 views
-1

我正在嘗試構建一個預加載數千個數據的應用程序(此數據包含歌曲和作者的歌詞)。最初,我想過使用SQLite,但由於預先加載的數據庫在資產文件夾中的額外副本(因爲這會增加應用程序的大小)的問題迫使我考慮文件;即將每首歌詞存儲在原始文件夾中,並通過我的活動中的輸入流調用它們。在SQLite和原始文件之間進行選擇

我想知道哪種技術最好。我應該使用SQLite還是應該使用文件?

回答

0

SQL數據庫應該很好地爲您服務。

確保執行批量更新作爲SQL數據庫事務。

每秒事務數很低,但是您可以在單個事務中更改數千行。

我還建議從FTS表開始,這將提供良好的查詢性能和功能。

0

我目前正在製作MediaPlayer,我使用SQLite。我之前使用過File,速度很慢。我有350首歌曲,我在數據庫中存儲了很多信息。 (除AlbumArt外的所有內容,在運行時加載)。我從IDV3tag存儲完整的音樂信息。它有點難以讓它工作正常,但它快得多。如果您有任何問題,請聯繫我尋求幫助。 EIDT:如果您有大量文件使用索引,但要小心在數據庫重建時刪除它。

0

可能是APK Expansion Files將是你的好選擇:

  1. 它們存儲在外部共享存儲
  2. 您可以發表他們的Google Play不壓縮
  3. 這使得不在設備上存儲數據庫的兩個副本
0

首先訪問索引數據的時間大部分是使用SQLite DB的時間比使用行文件更快。所以如果是我,我會選擇數據庫。

但也有可以使用優化UX例如,你可以複製的階段數據,如花樣繁多:

  • 認爲應可立即在午餐和複製第一數據。 (可能是歌名錶)。

  • 在後臺線程中複製剩餘的數據,而用戶甚至不知道發生了什麼。

並且記住可以阻止用戶幾秒鐘,然後給他們一個無瑕的體驗。而不是阻止並給他們緩慢的體驗(文件IO)。

相關問題