4

複数のテーブルを作成するアプリを開発しましたが、それらのテーブルを確認したいです。adb shell sqlite3 コマンドを使用する方法があることは知っていますが、それはデバイスでは機能しません...エミュレーターでは正常に機能します。テスト用のエミュレーターよりも高速であるため、デバイスを使用しています。私の質問は、Eclipse プラグインまたは sqlite データベース マネージャーを使用してデバイスで作成されたデータベース テーブルを確認する方法はありますか?

4

5 に答える 5

1

ルート権限を取得している場合は、データベースファイルをdata / data/comから引き出すことができます。yourapp.title / databases次に、次のようなsqliteデータベースマネージャーで表示します 。SQLiteデータベースブラウザー

ルート権限を取得していない場合、データベースの内部を表示することはできませんが、データベーステーブルなどの内容を表示するリストビューにカーソルアダプターをリンクさせることができます。

于 2012-11-03T19:56:26.247 に答える
1
  1. アプリケーションをデバッグモードでビルドします。
  2. シェルに、と書き込みrun-as your.package.nameます。これにより、アプリのUIDに切り替えられます(アプリケーションデータフォルダーにアクセスできるようになります)。
  3. cat /data/data/your.package.name/databases/database_name > /sdcard/database_name。これにより、データベースファイルがSDカードにコピーされます。

これで、SDカードでデータベースを自由に閲覧できます。

于 2012-11-04T09:37:57.210 に答える
0

データベースをルート化またはコピーせずにデータベースをデバッグする簡単な方法を見つけました。シンプルで無料の SQlite マネージャーをデバイスにインストールし、静的な最終文字列を SQLLiteOpenHelper クラスに追加しました。

private static final String DATABASE_NAME = "myDatabaseName.db";
private static final String DATABASE_NAME_DEBUG_PATH = "/mnt/sdcard/";

次に、プライベート コンストラクターを次のように設定します。

//Defaut constructor.
    private DatabaseHelper(Context context) {
        //Allow database access without rooting the device.
        super(context, (BuildConfig.BUILD_TYPE == "debug") ? DATABASE_NAME_DEBUG_PATH + DATABASE_NAME : DATABASE_NAME, null, DB_VERSION);
    }

このようにして、SQlite マネージャーはデバッグ中にデータベースを見つけます。これは、データベースが sd に配置され、問題やルート化なしでデータベースを表示できるためです。

于 2015-10-29T16:28:35.117 に答える
0

さまざまなプラットフォーム (Windows、Mac OS X など) の sqlite アプリケーションがあります。

adb pulldb ファイルをコンピュータに転送し、お気に入りの sqlite アプリケーションを使用して db ファイルを確認することをお勧めします。

于 2012-11-04T09:42:32.327 に答える
0

多くのデバイスは、大きな内部メモリを備えている代わりに外部メモリをサポートしていませんが、これらのデバイスには内部データまたはモバイル データへのアクセスに関連するプライバシー ポリシーが異なるため、外部メモリ コードを使用してデータを書き込む際に問題は発生しません。外部メモリをサポートしていないデバイスでファイルを表示するには、ファイル エクスプローラー アプリを使用する必要がある場合があります。ファイル エクスプローラー アプリを使用すると、アプリ用に作成したアプリケーション ディレクトリまたはファイルを表示できます。

于 2014-05-08T15:21:42.713 に答える