【问题标题】:How to view sqlite database in android application at run time如何在运行时查看 android 应用程序中的 sqlite 数据库
【发布时间】:2014-09-24 05:43:16
【问题描述】:

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

我也尝试从 adb 做同样的事情,但它不工作.. 他们有什么方法可以探索由我的应用程序创建的 sqllite 数据库而不用 root 我的手机。

【问题讨论】:

  • 如果您的手机已植根,那么我有一个工具可以编辑任何数据库运行时
  • 1.您无权查看非 root 手机中的应用程序数据。 2. 您必须在文件夹中创建现有数据库的副本,然后访问它。 (Vikalp Patel 在下面给出了一个工作示例)

标签: android adb


【解决方案1】:

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

以下代码将.db 复制到sdcard。使用backupDBPathcurrentDBPath (Name which you gave to your database name) 将您复制的.db 文件名更改为任何喜欢的名称。

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 文件。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2018-02-15
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-18
        相关资源
        最近更新 更多