我正在开发一个应用程序,我遇到了两个问题:
>如何打开存储在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路径所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)