2012-08-10 45 views
0

我正在處理一個應用程序,它必須下載大量數據並將它們插入到數據庫中。我有它在一個線程上工作。但問題是,當線程正在執行插入操作時,在我的應用程序從數據庫讀取時發生數據庫鎖定錯誤。所以我正在考慮一種避免這種情況的方法:複製現有的數據庫文件,讓一個線程插入到這個副本中,而我的應用程序從原始數據讀取,直到插入完成。然後刪除原始文件並將重複文件重命名爲原始文件。我的問題是,我的方式可行嗎?重複數據庫文件[Android]

回答

0

我在上次應用程序開發期間遇到了同樣的問題。 我結束了使用ContentProviders。使用ContentProvider,這將解決您的問題。

+0

但我不想將數據分享給其他應用程序。 – Sabbath 2012-08-10 02:39:31

+0

如果您不想共享您的數據,請將其添加到您的清單文件中:android:exported =「false」。起初我不願意使用Content Providers,因爲我不想與其他應用程序共享它。但儘管嘗試了不同的工作,鎖定的數據庫仍然不會消失。 – 2012-08-10 04:37:04

+0

如果我使用Content Provider,是否必須放棄使用SQLite數據庫的方式? @Lazy Ninja – Sabbath 2012-08-10 04:46:38