大佬教程收集整理的这篇文章主要介绍了Android 数据库SQLite 写入SD卡的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果手机没有root,数据库文件是无法查看到的,不方便调试。
最好的办法是把数据库写进SD卡。
修改的地方有两处:
1.在你的Helper类中把数据库文件名称 DATABASE_NAME 由原来的一个文件名,修改成路径的形式。
修改前:DATABASE_NAME = "demo.db"
public class MyDBHelper extends sqliteOpenHelper { public static final int version = 1; //数据库版本号 public static final String DATABASE_NAME = "demo.db"; //数据库名称 public static final String table_NAME = "mytag"; //数据表名称,一个数据库可以包含多张数据表,类似于excel中的sheet1,sheet2 //MyDBHelper 的构造函数,我们关心的是名称DATABASE_NAME和版本VERSION public MyDBHelper(Context context) { super(context,DATABASE_NAME,null,VERSION); }
修改后:DATABASE_NAME = "/mnt/sdcard/demo.db"
public class MyDBHelper extends sqliteOpenHelper { public static final int version = 1; //数据库版本号 public static final String DATABASE_NAME = "/mnt/sdcard/demo.db"; //数据库名称 public static final String table_NAME = "mytag"; //数据表名称,一个数据库可以包含多张数据表,类似于excel中的sheet1,sheet2 //MyDBHelper 的构造函数,我们关心的是名称DATABASE_NAME和版本VERSION public MyDBHelper(Context context) { super(context,VERSION); }
因为如果只是一个单独的文件名,最后创建的数据库文件就是保存在手机内部存储卡(不是运行内存,也不是SD卡)的/data/data/包名称/databases 目录下,而没有root的手机,这个/data根文件夹是进不去的,用adb sHell方式也打不开。
2.最后,千万别忘了修改权限!
Android手机是有着严格的安全管控的,SD卡属于外部存储器,访问上面的文件需要添加权限。
在AndroidManifest.xml 中添加两条SD卡读写权限即可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如果没有添加权限,那么程序就会异常终止。
以上所述是针对Android 数据库sqlite 写入SD卡的方法,希望对大家有所帮助!
以上是大佬教程为你收集整理的Android 数据库SQLite 写入SD卡的方法全部内容,希望文章能够帮你解决Android 数据库SQLite 写入SD卡的方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。