Android开发中查看未root真机的app数据库

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()+"/app_test.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:开发了一个制作个性二维码的应用,有兴趣的朋友可以试一试~ 创意二维码制作

猜你喜欢

转载自blog.csdn.net/ToBeTheOnlyOne/article/details/78990518