android中的数据库位置

时间:2012-07-04 04:07:57

标签: android database

在我的应用程序中我有一个数据库,我想查看该数据库,我按照以下步骤操作:

数据>数据> your-package-name>(此后显示两个文件夹,我看不到任何数据库选项)数据库>你的数据库文件。

但是我看不到数据库文件。它在我的包中显示了两个文件夹。有人请帮助我。

2 个答案:

答案 0 :(得分:1)

然后按照此路径,您应该看到两个没有扩展名的文件。但是你看不到DB的内容。

如果你想看到它,你应该推送然后导入另一个SQLite Manager(例如Firefox附加组件)。 也许你无法创建数据库,如果你看不到它。


更新:对于插入,删除或在模拟器中获取数据库,您应安装Android DDMS(在Eclips帮助菜单中 - >安装软件)并按顺序选择推送< / em>,删除图标。

enter image description here

答案 1 :(得分:1)

您无法在数据目录中访问设备上的文件,除非您使用了手机(这是一项安全预防措施)。

您有几个选择:

1)在模拟器中运行您的应用程序,并使用DDMS将数据库表单拉到那里

2)根植手机

3)在您的应用中添加一种方法,将数据库复制到您可以在应用外部访问的位置(例如SD卡)。

复制到SD卡的简单代码:

public void backup() {
    try {
        File sdcard = Environment.getExternalStorageDirectory();
        File outputFile = new File(sdcard,
                "yourdb.sqlite");

        if (!outputFile.exists()) 
             outputFile.createNewFile(); 

        File data = Environment.getDataDirectory();
        File inputFile = new File(data,
                "data/your.package.name/databases/yourdb.sqlite");
        InputStream input = new FileInputStream(inputFile);
        OutputStream output = new FileOutputStream(outputFile);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = input.read(buffer)) > 0) {
            output.write(buffer, 0, length);
        }
        output.flush();
        output.close();
        input.close();
    } catch (IOException e) {
        e.printStackTrace();
        throw new Error("Copying Failed");
    }
}