質問編集履歴

1

T_T

T_T score 10

2017/04/24 00:17  投稿

assetからデータベースをコピーする際に最初のidが挿入できない
アンドロイドで単語帳を作成しております。
単語のデータベースをassetからデバイス内のdatabase/にコピーして使っているのですが,
コピーするデータの一番最初の行の_idだけうまくコピーされずに0となります。(本来であれば0でない数を割り当てたい。その他の行では問題なくコピーできている。)
asset内のdbファイルのテーブルは
_id integer, word text, mean text, ...
のようになっております。
以下は実際に使っているコードになります。
一番最初の行でも正しくコピーするためにはどのように変更すればよろしいでしょうか。
```java
// コピー先フォルダ
String copyFolder = this.context.getFilesDir().getParent() + "/databases/";
// ファイルのインプット、アウトプットのセット
InputStream in = this.context.getAssets().open(DB_NAME);
OutputStream out = new FileOutputStream(copyFolder + DB_NAME);
// ファイルのコピー
byte[] buf = new byte[1024];
int size;
while ((size = in.read(buf)) > 0) {
out.write(buf, 0, size);
}
```
  • Android Studio

    5956 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

  • SQLite

    1194 questions

    SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る