0
在SQLiteOpenHelper.onCreate
期間,我需要向數據庫添加各種行。爲了不使用冗餘代碼,我想調用使用ContentResolver
的包裝函數 - 也就是應用程序級代碼使用的函數。可以在SQLiteOpenHelper中使用ContentResolver嗎?
但是,這樣做意味着ContentProvider
將調用getContentResolver
,並最終產生對其自身的遞歸調用。這個可以嗎?我會在某些環境中遇到問題嗎?有一個更好的方法嗎?
我意識到這不是最有效的方式來做到這一點,但數據庫創建應該很少發生。我更大的擔心是避免多餘的代碼 - 具有相同的ContentValues
.put調用的兩個函數。
當然,如果我不使用ContentResolver,這很容易。也許我不需要一個。我正準備讓數據庫保持持久性,而不管我將來對應用程序做什麼。更具體地說,我需要做一堆插入。插入代碼使用ContentResolver存在於包裝器中。但是,從SQLiteOpenHelper,我該如何獲得該插入代碼? –
更好的是,最終,我希望活動檢測數據庫是否存在,並最終允許用戶連接到現有數據庫(在雲中)或在本地創建一個數據庫。 (雖然這是一種方法。) –
嗯,我重構了代碼,所以我可以在「圍牆兩邊」分享它。沒有我想要的那麼幹淨,但至少沒有什麼是多餘的。 –