0

オンライン試験のアプリケーションを設計しています。そして、SQLite Browser を使用してデータベースを作成し、それを Eclipse にプルしました。エミュレーターでは正常に動作します。データを取得して保存することができます。しかし、.apk ファイルをモバイルに配置すると問題が発生します。モバイルでは、既存のデータベースを取得できません。データベース ファイルをアセット フォルダーに配置した後でも、.apk ファイルと一緒にバインドできません。

誰でも助けることができますか?

詳細:

  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 に答える