我有一个 SQLite 数据库,我通过从 res/raw/ 中的 txt 文件中读取行来填充它。它工作正常,但是当应用程序第一次运行时,加载数据库中的所有内容需要几分钟。有没有更快的方法在数据库中加载数据?
问问题
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 回答