在android开发中,如果用到数据库来储存数据,那么难免就要查看数据库中的内容,可是对于未root的真机来说,查看数据库就不是那么容易了,如果仅仅为了查看数据库再把手机root了,有点得不偿失,所以下面的就提供了一中不用root也可查看数据库的方法,供需要的朋友参考。
1. 进入adb所在的目录,打开cmd窗口,输入`adb shell`
2. 继续输入`run-as 应用的包名`
3. 然后输入 `cd databases`
4. 最后输入`ls`查看数据库的名字
截图如下:
如图,我的数据库名字为 app.db,然后利用以下代码把数据库文件移动到我们可以访问的文件夹下面
private void getDatabaseFiles(){ //找到文件的路径 /data/data/包名/databases/数据库名称 File dbFile = new File(Environment.getDataDirectory().getAbsolutePath()+"/data/"+getPackageName()+"/databases/app.db"); FileInputStream fis = null; FileOutputStream fos = null; try { //文件复制到sd卡中 fis = new FileInputStream(dbFile); fos = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/copy.db"); int len = 0; byte[] buffer = new byte[2048]; while(-1!=(len=fis.read(buffer))){ fos.write(buffer, 0, len); } fos.flush(); } catch (Exception e) { e.printStackTrace(); }finally { //关闭数据流 try { if (fos != null) fos.close(); if (fis != null) fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
然后下载一个可以查看数据库文件的工具,就可以查看数据库的内容了。希望可以帮到你~
ps:自己开发了一个制作二维码的小应用,有兴趣的朋友可以试一试~ ^_^ 创意二维码制作