android– 获取Assets文件夹中的SQLite路径

android– 获取Assets文件夹中的SQLite路径,第1张

概述我正在开发一个应用程序,我遇到了两个问题:>如何打开存储在assets文件夹中的SQLite数据库?我可以使用什么路径访问应用程序中的assets文件夹?这是我到目前为止所拥有的:path="file:///asset_folder/database.dat";SQLiteDatabasedb=null;db=SQLiteDatabase.openDatabase(pa

我正在开发一个应用程序,我遇到了两个问题:

>如何打开存储在assets文件夹中的sqlite数据库?我可以使用什么路径访问应用程序中的assets文件夹?这是我到目前为止所拥有的:

path = "file:///asset_folder/database.dat";sqliteDatabase db = null;db = sqliteDatabase.openDatabase(path, null, sqliteDatabase.OPEN_Readonly);

>如何在安装应用程序或首次运行期间将文件复制到内部存储器(/ data / data / …)?我想在首次运行期间将assets文件夹中的文件夹复制到内部存储器中.

任何建议将不胜感激.

解决方法:

我有同样的问题,所以我将db文件移动到res / raw文件夹,并像这样访问它:

inputStream inputStream = getBaseContext().getResources().openRawResource(R.raw.MysqLitefile);

然后我尝试将文件移动到/data/data/com.mydomain.www/databases/文件夹中,但是我会得到一个例外,因为目标路径不存在,所以我做了file(destPath).getParentfile() .mkdir();

从那里,我调用了一个复制db方法来将db传输到目标.

public voID copyDB(inputStream inputStream, OutputStream outputStream) throws IOException {        byte[] buffer = new byte[1024];        int length;        while ((length = inputStream.read(buffer)) > 0) {            outputStream.write(buffer, 0, length);        }        inputStream.close();        outputStream.close();    }

inputStream是db文件,OutputStream是fileOutputStream(destPath).

总结

以上是内存溢出为你收集整理的android – 获取Assets文件夹中的SQLite路径全部内容,希望文章能够帮你解决android – 获取Assets文件夹中的SQLite路径所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存