簡體   English   中英

sqlite下載后更新ContentProvider

[英]Update ContentProvider after sqlite download

我的某些應用程序內容以sqlite數據庫的形式從網絡上刪除了。

下載后,該數據庫將提供商店列表。

我遇到的問題是,在下載sqlite數據庫之前,應在應用程序啟動時調用ContentProvider的onCreate()方法。

我現在正在測試,但是當我進入AutoCompleteTextView並開始輸入內容時,我的應用程序崩潰了,可能是因為在啟動ContentProvider時數據庫不可用。

當我重新打開應用程序時,一切正常。

下載完成后,我可以做些什么來重新加載數據庫嗎? 我遇到麻煩了,因為在AutoCompleteTextView所在的片段中,我使用的是CursorLoader,所以我從不實例化ContentProvider ...我只是使用加載器。 因此,我無法調用諸如ContentProvider.reloadDatabase()之類的東西。

我發現起作用的一件事是在ContentProvider的.query()方法中關閉-重新打開數據庫。 但這效率極低,因為每次在AutoCompleteTextView中鍵入新字符時都會調用此方法。

任何幫助深表感謝。

為了完成這項工作,我最終在我的sqlite-updater中添加了一個偵聽器方法(擴展了AsyncTask)。 下載完成后,它將調用偵聽器方法並更新contentprovider

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM