如何将带数据的sqlite数据与apk程序一起发布
任何文件(包括sqlite数据库文件)与apk程序一起发布都必须将该文件嵌入到apk文件中。对于sqlite数据库来说,安卓的程序不能打开和操作嵌入在apk程序中的数据库文件。因此,需要想办法在程序第一次启动时就将sqlite数据库复制到手机内存或者SD卡上,然后才能再来操作sqlite数据库。
这里我把数据库文件复制到应用程序的assets或res/raw目录中,因为只有这两个目中中的资源文件才不会被编译,在应用程序第一次启动时应该使用下面的代码将数据库复制到手机内存或sd卡上,然后在操作数据库。下面是代码:
String databaseFileName = "/sdcard/test.db"; //当test.db不存在时,将res/raw目录中的数据库文件赋值到SD卡的目录中 if (!(new File(databaseFileName).exists())) { //在res/raw目录中存在test.db文件 InputStream is = getResources().openRawResource(R.raw.test); FileOutputStream fos = new FileOutputStream(databaseFileName); byte[] buffer = new byte[4096]; int count = 0; while ((count = is.read(buffer))> 0 ) { fos.write(buffer,count); } fos.close(); is.close(); } //打开数据库 sqliteDatabase database = sqliteDatabase.openorCreateDatabase(databaseFileName,null); //获取到数据库之后,下面就可以进行数据库的操作了 ...
原文地址:https://www.jb51.cc/sqlite/199403.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。