1

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

数据>数据>你的包名>(在此之后它显示两个文件夹,我看不到数据库的任何选项)数据库>你的数据库文件。

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

4

2 回答 2

1

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

如果您想查看它,您应该推送然后导入其他 SQLite 管理器(例如 Firefox 插件)。也许你不能创建数据库,如果你看不到它。


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

在此处输入图像描述

于 2012-07-04T04:25:15.013 回答
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");
    }
}
于 2012-07-04T04:32:56.207 回答