gpt4 book ai didi

java - Android:从 Assets 文件夹复制数据库

转载 作者:行者123 更新时间:2023-11-29 03:27:40 24 4
gpt4 key购买 nike

<分区>

我想将示例数据库从 Assets 文件夹复制到/data/data/packagename/databases/目录,以便稍后在应用程序中使用它。

我看过很多教程和其他解决方案,例如此处 ( Copy Database from assets folder in unrooted device ) 和此处 ( copy database from assets to databases folder ),但它对我不起作用。我没有错误,但是复制的数据库是空的。我的编码有问题吗?

这是我复制数据库的代码。

       @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_dictionary_type);

File dbfile=new File("data/data/com.example.myidictionary/databases","DefinitionDB");

if (!dbfile.exists()) {
try {
copyDatabase(dbfile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Toast.makeText(getApplicationContext(), "Sample data is being copied", Toast.LENGTH_LONG).show();
}
else
Toast.makeText(getApplicationContext(), "Database Exist", Toast.LENGTH_LONG).show();

}

private void copyDatabase(File dbFile) throws IOException
{
InputStream is = this.getAssets().open("DefinitionDB");
OutputStream os = new FileOutputStream(dbFile);

byte[] buffer = new byte[1024];

while (is.read(buffer) > 0)
{
os.write(buffer);
}

os.flush();
os.close();
is.close();
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com