上网上搜了一上午,找到了一个解决办法:就是将数据库文件保存到外部存储,然后通过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);