0

我正在设计一个在线考试的应用程序。我使用 SQLite 浏览器创建了一个数据库并将其拉到 Eclipse 中。在模拟器中它的工作正常;它能够检索和存储数据。但是当我将 .apk 文件放在手机上时,问题就来了。在移动设备上,它无法检索现有数据库。我无法将数据库文件与 .apk 文件一起绑定,即使将其放在 assets 文件夹中也是如此。

任何人都可以帮忙吗?

细节:

  1. 注册模块
  2. 用户测试模块(显示数据库中的问题)
  3. 成绩提交模块
4

1 回答 1

0

你是如何查询数据库的?

正确的方法不是在代码中放置一个单独的数据库,而是动态创建一个。例如以下代码:

private static class DatabaseHelper extends SQLiteOpenHelper {
    DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSql("/*Put Create Table sqls here*/");
        //onCreate will be called only once( when db doesn't exists for application, it creates here with the code)
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

在您的代码中使用这样的数据库助手类。

现在,每当您想查询您的数据库时,您都可以这样做:

    dbHelper = new DatabaseHelper(ctx);
    db = dbHelper.getWritableDatabase();
    //Start querying on db.(if it is not created oncreate() of dbhelper will create it for you.

因此,只需将您的初始 db create/insert 语句放在 dbhelper 的 oncreate() 中

于 2012-04-07T15:14:47.987 回答