Skip to content

Latest commit

 

History

History
90 lines (66 loc) · 3.32 KB

README.ja.md

File metadata and controls

90 lines (66 loc) · 3.32 KB

Stetho-Realm

Stetho-Realm は、StethoRealmのデータベースの内容を表示するようにするための Stetho モジュールです。

Stetho がもともと持っている SQLite データベースの内容を表示する機能を置き換える形で Realm データベースの内容を表示します。

Set-up

Download

grab via Gradle:

repositories {
    maven {
        url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo'
    }
}

dependencies {
    compile 'com.facebook.stetho:stetho:1.5.0'
    compile 'com.uphyca:stetho_realm:2.1.0'
}

Stetho-Realm 2.0 は、 Stetho 1.1以降、Realm 2.0.0 以降に対応しています。Realm 0.80.0 からRealm 1.2.0でStetho-Realmを使用する場合は Stetho-Realm 0.x の最新版を利用してください。

アプリケーションへの組み込み

Application クラスで以下のように Stetho の初期化を行ってください。

RealmInspectorModulesProvider.ProviderBuilder を用いて InspectorModulesProvider を作成します。 RealmInspectorModulesProvider.ProviderBuilder はデフォルトのモジュールリストにRealm 用のモジュールを追加します。 RealmInspectorModulesProvider.ProviderBuilder#baseProvider(InspectorModulesProvider)を用いて デフォルト以外の InspectorModulesProvider を使用させることもできます。

以下はデフォルトの設定で有効になっている SQLite モジュールに Realm モジュールを追加して 使用する例です。

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        Realm.init(this);

        Stetho.initialize(
                Stetho.newInitializerBuilder(this)
                        .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                        .enableWebKitInspector(RealmInspectorModulesProvider.builder(this).build())
                        .build());
    }
}

RealmInspectorModulesProvider.ProviderBuilder の各種メソッドを呼び出すことで、データベースファイルを 探すフォルダの指定、表示する件数の上限、表示をidの昇順にする加か降順にするか、メタデータのテーブル (pk と metadataテーブル)の情報を表示するかどうか、復号に使用するキー、 データベースファイル名のパターンを指定することができます。

    RealmInspectorModulesProvider.builder(this)
            .withFolder(getCacheDir())
            .withEncryptionKey("encrypted.realm", key)
            .withMetaTables()
            .withDescendingOrder()
            .withLimit(1000)
            .databaseNamePattern(Pattern.compile(".+\\.realm"))
            .build()

デバッグビルドのみに Stetho を組み込む方法

英語ですが以下のページを参考にしてください。

http://littlerobots.nl/blog/stetho-for-android-debug-builds-only/

License

Stetho-Realm is BSD-licensed.

TODO

  • SQLite モジュールとの共存
  • 読み込み以外の実装

deployメモ

  1. バージョン番号を変更
  2. ./gradlew clean assemble :stetho_realm:publishMavenPublicationToMavenRepository
  3. git に add して commit して push (masterブランチで!)