2013-01-22 19 views
0


情況:
我想我的SQLite表導出到一個XML文件,並遵循this answer以及後deleted from here,也this question(同一作者顯然這兩個最後的鏈接: ))

Update-2:我已經有另一個類名爲DBAdapter,它擴展了SQLiteOpenHelper。所以我有這個:出口SQLite的表在XML

public DBAdapter(Context ctx) { 
    this.context = ctx; 
    DBHelper = new DatabaseHelper(context); 
} 
private static class DatabaseHelper extends SQLiteOpenHelper { 
    DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 
    /*...*/ 
    onCreate() 
    /*...*/ 
    onUpgrade() 
    /*...*/ 
} 

已經在我的DBAdapter類文件。我怎樣才能重用這個?

而且,我試圖通過爲:

DataXmlExporter dm = new DataXmlExporter(SQLiteDatabase 
          Database(getReadableDatabase())); 

但還是得到了一個錯誤。

更新-1:我用第二個鏈接來實現我的解決方案。

問題:我得到一個空指針異常;我猜是因爲我沒有正確初始化我的對象。
在調用DataXmlExporter/exportData方法時提供的參數是什麼? :
DataXmlExporter dm = new DataXmlExporter(WHAT_IS_PASSED_HERE?);

謝謝..

+0

@PradeepSimha嗨,謝謝你的回覆。它在Ques中提到。用**代碼的鏈接描述**:在調用DataXmlExporter/exportData方法時提供的參數是什麼? : 'DataXmlExporter dm = new DataXmlExporter(WHAT_IS_PASSED_HERE?);' – beerBear

回答

1

看起來像你需要一個SQLiteDatabase

例如,您可以使用getReadableDatabase()getWritableDatabase()獲得一個。

如果實施DatabaseAssistant喜歡在第一個鏈接,你只要你有作爲構造參數到SQLiteDatabase ....

+1

nvm我明白了。該筆記仍爲+1。 :) – beerBear

1

您需要通過SQLiteDatabase數據庫(getReadableDatabase())參考:

由於每構造

public DataXmlExporter(final SQLiteDatabase db) { 
    this.db = db; 
} 

每批示: 的Android DataExporter,允許在SQLiteDatabase 傳遞到出口到XML格式的外部存儲(SD卡)

+0

我已經有了一個名爲DBAdapter的類,它擴展了SQLiteOpenHelper。所以我有這樣的:'公共DBAdapter(Context ctx){ \t \t this。context = ctx; \t \t DBHelper = new DatabaseHelper(context); \t} \t私有靜態類DatabaseHelper延伸SQLiteOpenHelper { \t \t DatabaseHelper(上下文上下文){ \t \t \t超級(上下文,DATABASE_NAME,NULL,DATABASE_VERSION); \t \t} ....}'已經在我的DBAdapter類文件中。我怎樣才能重用這個?通過使用一個對象? – beerBear

+0

另外,我試圖通過:'..SQLiteDatabase數據庫(getReadableDatabase());'我仍然得到一個錯誤。 – beerBear

+0

@codebreaker,在你的主要問題編輯它 –

0

我所做的是在DatabaseAssistant類內部擴展SQLiteOpenHelper並使用它。