8

私はsqliteデータベースを使用するアプリをやっています 私のアプリには「データベースの更新」ボタンを持つ機能があります。

ユーザーが [データベースの更新] ボタンをクリックすると、URL から古い db ファイルを新しい db ファイルでアップグレードする必要があります。

これを行う方法。調査によると、データベースは .apk ファイルに配置されるため、変更することはできません。これに対する解決策はありますか。私を助けてください。ありがとうございました。

4

3 に答える 3

5
private void importDatabase(String inputFileName) throws IOException
{
    InputStream mInput = new FileInputStream(inputFileName);
    String outFileName = YOUR_DB_PATH_HERE;
    OutputStream mOutput = new FileOutputStream(outFileName);
    byte[] mBuffer = new byte[1024];
    int mLength;
    while ((mLength = mInput.read(mBuffer))>0)
    {
        mOutput.write(mBuffer, 0, mLength);
    }
    mOutput.flush();
    mOutput.close();
    mInput.close();
}

編集:

あなたはそれが役に立つかもしれません:

Android アプリケーションで既存のデータベースを使用する方法

于 2013-02-04T11:42:55.747 に答える
3

Download Manager を使用して URL から db ファイルをダウンロードし、そのファイルをこのパスにコピーするだけです。

         /data/data/<YOUR PACKAGE NAME>/databases/

自動的に更新されます。これを使用して動作しています

于 2013-02-04T11:38:26.473 に答える
1

アプリケーションの初回起動時に、データベースを apk ファイルから外部/内部ストレージにコピーする必要があります。更新する必要がある場合(ステートメントを使用するか、データベース全体を置き換えることにより)、内部/外部メモリで問題なく操作できます。アプリケーションを更新するとき (そして、新しいアプリケーションに新しいデータベースが含まれている可能性があります)、新しいアプリケーションの最初の起動時に、内部/外部メモリに保存したデータベースを置き換える必要があります。

于 2013-02-04T11:22:55.697 に答える