在android中查看存储/安装在设备上的应用程序的数据库

时间:2014-07-17 09:39:10

标签: android database sqlite

任何可用的工具,可以帮助查看存储在设备上的特定应用程序的sqlite数据库。 目前正在使用:

  1. Sqlite浏览器

  2. Questoid sqlite manager插入eclipse

  3. 这两个都适用于模拟器。在sqlite浏览器的情况下,我必须拉数据库来查看它。 Questoid有点好,因为它允许直接观看,但仍然只通过模拟器。

    我可以在任何选项中查看存储在设备上的数据库的当前状态,最好不要使设备生根。

1 个答案:

答案 0 :(得分:0)

试试这段代码:

public void writeToSDCard() throws IOException {


        //  System.out.println("Write To Sd");
        File f=new File("/data/data/com.YourPackageName/databases/YourDBName");
        FileInputStream fis=null;
        FileOutputStream fos=null;

        try{
            fis=new FileInputStream(f);


            fos=new FileOutputStream("/mnt/sdcard/dumped.db");
            while(true){
                int i=fis.read();
                if(i!=-1){
                    fos.write(i);
                }
                else{
                    break;
                }
            }
            fos.flush();

        }
        catch(Exception e){
            e.printStackTrace();

        }
        finally{
            try{
                fos.close();
                fis.close();
            }
            catch(IOException ioe){
                System.out.println(ioe);
            }
        }
    }  

以上代码将创建数据库的副本 - 从您的设备和应用程序内部文件夹到SD卡 - 此DB文件将命名为dumped.db

确保将包名更改为包名和数据库名。

您可以调用函数WriteToSDCard();从代码中的任何位置获取数据库的动态副本,以便您可以检查状态。

在SDCard上获得数据库文件(dumped.db)后,您可以通过SQLite浏览器轻松查看该文件

干杯无根需要!