res /raw/内のtxtファイルから行を読み取ることで入力するSQLiteデータベースがあります。正常に動作しますが、アプリを初めて実行するときに、データベースにすべてをロードするのに数分かかります。データベースにデータをロードするより速い方法はありますか?
質問する
62 次
1 に答える
2
最善の策は、一度ロードしてから、ファイルをアセットフォルダーにコピーすることです。そこから、初めてデータベースを作成するときに、データベースを正しい場所にコピーするだけです。この質問は、その方法を示しています。
//Copy the database from assets
private void copyDataBase() throws IOException
{
InputStream mInput = mContext.getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
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();
}
于 2013-01-26T14:42:06.900 に答える