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

posted @ 2018-01-06 17:53  ToBeTheOnlyOne  阅读(391)  评论(0编辑  收藏  举报