2013-08-24 73 views
0

我有我的Android項目(projectA),我必須加入其他第三方項目(projectB),對這兩個項目進行最小的更改。我認爲這樣做的好方法是將projectA轉換爲庫並使projectB使用該庫。在一個Android項目中使用多個SQLiteDatabases和SQLiteOpenHelpers是否安全?

問題是兩個項目都使用SQLite數據庫。他們有他們自己的SQLiteOpenHelpers和東西,簡而言之,他們都是以正常的方式編寫的一個使用數據庫的android應用程序(當然,它們的DATABASE_NAMES是不同的)。

我想知道在這種情況下是否存在潛在的衝突?我不知道,一些數據庫死鎖,難以調試崩潰等?我有點擔心,因爲我看到這個例外昨天:

java.lang.IllegalStateException: attempt to re-open an already-closed object: 
    SQLiteDatabase: /data/data/[com.package.url.of.projectB]/databases/[projectAdatabaseName] 

這可能與剛剛到了projectA一些bug,但我想,以確保它不被數據庫和之間的一些confilct引起我所描述的這種場景是可以接受的。使用不同的數據庫加入兩個Android項目時,有哪些潛在的缺陷,需要注意的事項以及最佳實踐?

回答

0

當然,創建和使用多個SQLiteOpenHelper是完全安全的,只要它們不使用相同的數據庫。但SQLiteOpenHelper是一個抽象類,具體的實現可能會引入衝突。

+0

這些具體實現如何衝突?要注意什麼? –

相關問題