如果手机没有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, DATABASE_NAME, null, 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编程实现向SD卡写入数据的方法,包括了Android编程实现向SD卡写入数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现向SD卡写入数据的方法。分享给大家供大家参考,具体如下: 1.代码: sdcard对应的文件路径:"/mnt/sdcard",开发时不要写SDCard的绝对路径,因为路径会因为版本的改变而改变,这里应该使用以下方
问题内容: 我正在使用以下代码从服务器下载文件,然后将其写入sd卡的根目录,一切正常: 但是,;表示文件将始终写入root /mnt/sdcard。是否可以指定某个文件夹来写入文件? 例如: 问题答案:
本文向大家介绍android编程实现sd卡读取数据库的方法,包括了android编程实现sd卡读取数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了android编程实现sd卡读取数据库的方法。分享给大家供大家参考,具体如下: 先在 Manifest 里添加权限: 然后在 mainActivity 添加方法: 希望本文所述对大家Android程序设计有所帮助。
在我的应用程序中,我需要在设备存储器中存储大量图像。这样的文件往往满足设备存储的需要,我希望用户能够选择外部SD卡作为目标文件夹。 我到处都看到Android不允许用户写入外部SD卡,我所说的SD卡是指外部和可安装的SD卡,而不是外部存储,但文件管理器应用程序可以在所有Android版本上写入外部SD。 授予不同API级别(Pre-KitKat、KitKat、Lollipop)的外部SD卡读/写访
问题内容: 我希望我的应用程序将应用程序数据库归档到SD卡。在我的代码中,我检查目录是否存在,如果不存在,则抛出。在此特定情况下,我尝试将db文件复制到SD卡上的根目录,但是会抛出。如何更改文件夹/文件的权限以能够写入? 问题答案: 没错,SD卡目录位于其中,但您不应该对其进行硬编码。而是调用以获取目录: 如果尚未执行此操作,则需要在清单中添加以下行,以授予您的应用正确的写入SD卡的权限:
我有一个应用程序使用外部存储来存储照片。根据需要,在其清单中请求以下权限 并使用以下方法检索所需的目录 在我的一部测试手机(Android one)升级到6之后,它在尝试创建必需的目录“/sdcard/pictures/myapp-yy-mm”时返回了一个错误。 sd卡配置为“便携式存储”。我已经格式化了sd卡。我已经把它换掉了。我重新启动了。都是徒劳。 此外,内置的android截图功能(通过电