【问题标题】:Exporting SQLite Tables in XML以 XML 格式导出 SQLite 表
【发布时间】:2013-01-05 12:49:36
【问题描述】:


情况:
我正在尝试将我的 SQLite 表导出到 XML 文件,并关注了 this answer 以及 deleted from here 和 this question 的帖子(显然这两个链接都来自同一作者: ) )

Update-2: 我已经有另一个名为 DBAdapter 的类扩展了 SQLiteOpenHelper。所以我有这个:

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 ()));

但仍然出现错误。

Update-1:我使用第二个链接来实施我的解决方案。

问题: 我收到空指针异常;我猜是因为我没有正确初始化我的对象。
在调用 DataXmlExporter / exportData 方法时,作为参数提供了什么? :
DataXmlExporter dm = new DataXmlExporter(WHAT_IS_PASSED_HERE?);

谢谢..

【问题讨论】:

  • @PradeepSimha 您好,感谢您的回复。它在Ques中提到。 代码链接的描述:在调用 DataXmlExporter / exportData 方法时,提供的参数是什么? :DataXmlExporter dm = new DataXmlExporter(WHAT_IS_PASSED_HERE?);

标签: java android xml sqlite


【解决方案1】:

看来您需要SQLiteDatabase。

例如,您可以使用getReadableDatabase() 或getWritableDatabase() 获得一个。

如果您在提供的第一个链接中实现了DatabaseAssistant,则作为构造函数参数,您将引用SQLiteDatabase....

【讨论】:

  • nvm 我明白了。仍然为注释 +1。 :)
【解决方案2】:

你需要传递SQLiteDatabase数据库(getReadableDatabase()):

根据构造函数

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

根据 cmets: 允许传入 SQLiteDatabase 的 Android DataExporter 以 XML 格式导出到外部存储(SD 卡)

【讨论】:

  • 我已经有另一个名为 DBAdapter 的类扩展了 SQLiteOpenHelper。所以我有这个: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); }....} 已经在我的 DBAdapter 类文件中。我怎样才能重用这个?..通过使用一个对象?
  • 另外,我尝试传递为:..SQLiteDatabase Database(getReadableDatabase ()); 我仍然收到错误。
  • nvm 我明白了。仍然为注释 +1。 :)
【解决方案3】:

我所做的是在 DatabaseAssistant 类中扩展 SQLiteOpenHelper 并使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多