最近自学android,用的是自己的手机,Android版本太高,无法root,所以无法获取到私有目录下的数据库文件(后缀名为.db的文件),就无法查看自己创建的数据库,

上网上搜了一上午,找到了一个解决办法:就是将数据库文件保存到外部存储,然后通过adb pull phone_path pc_path :将手机端文件拉到电脑端,这样就可以查看自己创建的数据库文件
例子:

创建数据库步骤:
1.创建一个类继承SQLiteOpenHelper,需要添加一个构造方法,实现两个方法onCreate ,onUpgrade
构造方法中的参数介绍:

        //context :上下文   , name:数据库文件的名称    factory:用来创建cursor对象,默认为null         //version:数据库的版本号,从1开始,如果发生改变,onUpgrade方法将会调用,4.0之后只能升不能降
        super(context, "info.db", null,4);//name="info.db"
2.创建这个帮助类的一个对象,调用getReadableDatabase()方法,会帮助我们创建打开一个数据库3.复写oncreate和onupgrdate方法:    oncreate方法是数据库第一次创建的时候会被调用;  特别适合做表结构的初始化,需要执行sql语句;SQLiteDatabase db可以用来执行sql语句

网上了解到, 第一步构造函数中传入的name,既可以只传入文件名,
这时文件会保存在默认路径:
例如:

mContext.getDatabasePath("info.db").getPath();//name="info.db",这是默认路径

但是如果传入的name中包含路径的话,那么数据库文件会保存在所传入的路径,例如:

super(context, "/storage/emulated/0/info.db", null,4);

name=”/storage/emulated/0/info.db”,

文件保存位置为/storage/emulated/0/info.db

加上读写SD卡的权限:

android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

最后通过
adb pull /storage/emulated/0/info.db c:/Users/山哥/Desktop/info.db
就可以将文件导入到桌面

考虑到不同手机外部存储路径可能不同的情况:
外部存储路径可以通过Environment.getExternalStorageDirectory().getPath()获得,
即在构造参数中传入:

super(context,Environment.getExternalStorageDirectory().getPath()+"/"+"info.db", null,4);

更多相关文章

  1. Android读取sql文件并导入数据库
  2. android Matrix处理图片原理及方法整理
  3. android studio打开旧项目遇到build.gradle相关的问题解决方法
  4. Android学习_18_使用事务操作SQLite数据库
  5. android判断模拟器的三种方法
  6. android获取资源文件R.drawable中的图片的相关方法

随机推荐

  1. Android(安卓)NDK环境搭建和开发入门
  2. Android PopulWindow创建与定位
  3. textview中字显示不全用。。。代替
  4. 8.0 Launcher3 背景透明
  5. Android仿跟谁学app中的课程表
  6. Android定位问题方法
  7. Android 剪切板ClipboardManager过时问题
  8. Android PageAdapter翻译
  9. Android 手机震动功能实现
  10. Android 学习记录-ScrollView