我在Android的OrmLite示例中使用了「HelloTwoDbs」示例來同時檢查雙數據庫的使用情況。同時編寫OrmLite多個數據庫
假設我有多個數據庫設置與OrmLite,我可以同時寫入兩個不同的數據庫並沒有問題?它的每個數據庫只有「一次寫入一個線程」,但寫入線程(每個數據庫一個線程)將同時執行。
我實際上在一個模擬器中用代碼波紋管測試了這個,並且沒有問題,但是如果它實際上真正受到OrmLite的支持並且不會導致我未來的問題,我仍然不安全。
順便說一句,我傾向於使用兩種不同的數據庫方法,因爲我想做一個小型的社交應用程序,我想從應用程序靜態內容中分離用戶生成的內容有幾個原因,主要是因爲用戶生成的內容獲得同步和修改的方式,以便應用靜態內容的速度更快。另外,有了兩個數據庫,我可以同時將兩個內容同時從不同的源更新到不同的數據庫,或者我希望如此。
請儘可能幫助我。 =)
小試我沒有基於網站例子,只是打電話 「doOtherStuff」 關於HelloTwoDbs.java:
添加 - >
private void doOtherStuff() {
new Thread(new Runnable() {
@Override
public void run() {
Log.e(LOG_TAG, "Started 1");
final DatabaseHelper1 databaseHelperA = getHelper1();
try {
final Dao<SimpleData, Integer> simpleDao = databaseHelperA.getSimpleDataDao();
for (int i = 0; i < 5000; i++) {
Log.e(LOG_TAG, "Adding (1): " + i);
simpleDao.create(new SimpleData(i));
}
} catch (SQLException e) {
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
Log.e(LOG_TAG, "Started 2");
final DatabaseHelper2 databaseHelperB = getHelper2();
try {
final Dao<ComplexData, Integer> complexDao = databaseHelperB.getComplexDataDao();
for (int i = 0; i < 5000; i++) {
Log.e(LOG_TAG, "Adding (2): " + i);
complexDao.create(new ComplexData(i));
}
} catch (SQLException e) {
}
}
}).start();
}
我也不知道爲什麼這個例子需要一個「usageCounter」變量並獲得幫助控制。 AFAIK,OrmLiteSqliteOpenHelper已經爲我們提供了這種行爲。 –