如何在运行时查看android应用程序中的sqlite数据库

时间:2014-08-01 05:01:24

标签: android adb

我正在尝试从DDBMS perspective -> file explorer -> data -> [my_app_package]然后PULL复制数据,这在我在模拟器上运行应用程序时有效但当我在移动设备上运行应用程序时,数据文件夹下没有显示任何内容。

我也尝试过从adb做同样的事情,但它不起作用..他们是否有办法探索我的应用程序创建的sqllite数据库,而无需根植我的手机。

3 个答案:

答案 0 :(得分:2)

可以通过编程方式从Android设备中检索数据库.db文件。我曾经在名为Developer Options的应用程序下添加了一个设置,将.db文件复制到sdCard

将代码.db复制到sdcard。将复制的.db文件名更改为与backupDBPathcurrentDBPath (Name which you gave to your database name)类似的内容。

public void dev()
    {
        try {
            File sd = Environment.getExternalStorageDirectory();
            File data = Environment.getDataDirectory();

            if (sd.canWrite()) {
                String currentDBPath = "/data/data/" + getPackageName() + "/databases/ZnameDB";
                String backupDBPath = "ZnameDB_Dev.db";
                File currentDB = new File(currentDBPath);
                File backupDB = new File(sd, backupDBPath);

                if (currentDB.exists()) {
                    FileChannel src = new FileInputStream(currentDB).getChannel();
                    FileChannel dst = new FileOutputStream(backupDB).getChannel();
                    dst.transferFrom(src, 0, src.size());
                    src.close();
                    dst.close();
                    Toast.makeText(SettingsActivity.this, "Database Transfered!", Toast.LENGTH_SHORT).show();
                }
            }
        } catch (Exception e) {
            Log.e(TAG, e.toString());
        }
  }

PlayStore中有许多应用程序可供您查看.db文件。我使用aSQLiteManager android应用程序来查看.db文件。

答案 1 :(得分:0)

不,你不能,如何使用logs来获取和查看logcat中提取的数据,或者在textviews上设置一些值或使用table layout也可以看看你提取的数据。但最好的方法是使用SQLiteBrowser。你可以从模拟器或设备中提取数据库文件,然后将其保存在硬盘上并在Sqlitebrowser中浏览。

答案 2 :(得分:0)

您可以通过编程方式将sqlite文件复制到SD卡。关注this link。并使用任何Sqlite Viewer查看它。