Android 数据库SQLite 写入SD卡的方法

 更新时间:2016年04月01日 12:00:32   作者:虫葛尔Chongger  
如果手机没有root,数据库文件是无法查看到的,不方便调试。最好的办法是把数据库写进SD卡。通过本文给大家介绍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, 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中ListView结合CheckBox实现数据批量选择(全选、反选、全不选)

    Android中ListView结合CheckBox实现数据批量选择(全选、反选、全不选)

    这篇文章主要介绍了Android编程中ListView结合CheckBox实现批量选择,包括实现全选、反选、全不选等操作,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Android开发之MediaPlayer基本使用方法详解

    Android开发之MediaPlayer基本使用方法详解

    这篇文章主要介绍了Android开发之MediaPlayer基本使用方法,结合实例形式较为详细的分析了MediaPlayer中的常用函数与基本使用技巧,需要的朋友可以参考下
    2017-05-05
  • Android6.0编程实现双向通话自动录音功能的方法详解

    Android6.0编程实现双向通话自动录音功能的方法详解

    这篇文章主要介绍了Android6.0编程实现双向通话自动录音功能的方法,结合实例形式分析了Android录音功能的原理、实现技巧与相关注意事项,需要的朋友可以参考下
    2017-07-07
  • Android利用Sensor(传感器)实现指南针小功能

    Android利用Sensor(传感器)实现指南针小功能

    这篇文章主要为大家详细介绍了Android利用Sensor(传感器)实现指南针小功能的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android 系统服务TelecomService启动过程原理分析

    Android 系统服务TelecomService启动过程原理分析

    这篇文章主要介绍了Android 系统服务TelecomService启动过程原理分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Kotlin原理详析之拓展函数

    Kotlin原理详析之拓展函数

    kotlin中的扩展函数,实际上是在自己的类中添加了一个static final方法,将需要扩展的类,在使用的时候作为第一个参数传入方法中,然后使用,这篇文章主要给大家介绍了关于Kotlin原理详析之拓展函数的相关资料,需要的朋友可以参考下
    2022-01-01
  • Jetpack Compose基础组件之文字组件

    Jetpack Compose基础组件之文字组件

    这篇文章主要为大家介绍了Jetpack Compose基础组件之文字组件使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Android中TextView实现分段显示不同颜色的字符串

    Android中TextView实现分段显示不同颜色的字符串

    在做项目的时候,遇到过一行文字有两种颜色。在菜鸟的时候直接会想到用多个TextView来实现,所以下面这篇文章主要给大家介绍了关于Android中TextView如何实现分段显示不同颜色字符串的相关资料,需要的朋友可以参考下。
    2017-12-12
  • Android 蓝牙2.0的使用方法详解

    Android 蓝牙2.0的使用方法详解

    这篇文章主要为大家详细介绍了Android 蓝牙2.0的使用方法,分享了Android操作蓝牙2.0的使用流程,一些具有参考价值的代码,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Android如何实现一个DocumentProvider示例详解

    Android如何实现一个DocumentProvider示例详解

    这篇文章主要为大家介绍了Android如何实现一个DocumentProvider示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论