1

多数のエントリがデータベースに格納され、ユーザーが入力した値がデータベースの列の 1 つのエントリごとに格納されるアプリケーション (オフラインで動作するように設計されています) があります。ユーザーは、アプリを使用するときにこれらの値のみを変更します。

しかし、アプリの更新をプッシュすると、ユーザーは入力したすべての値を失います。問題を解決するにはどうすればよいですか? (データベースを Android アプリケーションに対してプライベートにすることも必要です)。

4

1 に答える 1

0

次のように DB を作成できます。

  /**
     * Open the test database. If it cannot be opened, try to create a new
     * instance of the database. If it cannot be created, throw an exception to
     * signal the failure
     * 
     * @return this (self reference, allowing this to be chained in an
     *         initialization call)
     * @throws SQLException
     *             if the database could be neither opened or created
     */
    public TestDBAdapter open() throws SQLException {
    mDbHelper = new DatabaseHelper(mCtx);
    mDb = mDbHelper.getWritableDatabase();
    dbVersionWebiDBAdapter = mDbHelper.dbVersion;
    return this;
    }

これは非常にうまく機能し、すべての更新でデータを取得できます。新しい更新でデータベースを簡単に更新できるように、ある種の DB バージョン管理を使用することもできます。

この DB は、ユーザーが設定メニューに移動し、そこでアプリまたはデータをアンインストールした場合にのみ削除されます。アプリの更新ロードでは、データベースが保持されます。

于 2012-09-01T08:16:51.253 に答える