Help us understand the problem. What is going on with this article?

Stetho realm 導入

はじめに

以前Stetho導入という記事を書いていて、その時はRealmに対応していなかったんですが、業務上導入する必要が出てきたので対応しました。
その時にエラーにハマってしまったのでその対応内容を残しておきます。

どうやって導入するか

まずこちらがライブラリ。
Stethoとは別線です。
こちらのREADMEに従っていけばとりあえず導入は可能です。

何でハマったか

アプリの起動はできるのですが、Realmを見ようとするとアプリがExceptionを吐いてしまうという現象が起きていました。悲しい。

その時の実装

App.ktのonCreate()で以下のように修正しました。(GithubのREADMEそのまま)

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

どう直したか

RealmInspectorModulesProviderをbuild()する際にオプションを追加する必要がありました。
また、build.gradleのrepositoriesに追加するURLがGithubのissueの中で違うものが挙がっていたのでそちらに変えました。

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

implementation 'com.uphyca:stetho_realm:2.3.0'
        Stetho.initialize(
                Stetho.newInitializerBuilder(this)
                        .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                        .enableWebKitInspector(RealmInspectorModulesProvider.builder(this).withDeleteIfMigrationNeeded(true).build())
                        .build())

終わりに

今回とりあえずこれで動くようになりました。
しかしstetho_realmは2017年から更新がかかっていないようなので、別のライブラリなんかを探すか、あるいは自分で作るかしないといけなさそうですね。
また、小規模なDBであればよいのですが、数十万件のレコードがあるようなものの場合そもそも開けない、なんてこともあったりするので要注意です。
今のPJの場合数十万件のレコードを見たい、という状況だったのでないよりはマシ、くらいの状態になっていますし、仮に見れたとしても検索(select)ができないので探すのも一苦労です。
おとなしくRealmが出しているRealm Studioを購入(あるいは30日間の無料期間)で対応するか、Realm Browserを使うか、でしょうかね。
(一昔前はbrew cask install realm-browserでインストールできたようですが、今はbrew searchしても出てこないのでHomeBrew Caskからはなくなってしまったようです)

参考

stetho_realm issue
Realm Studio
Realm Browser(AppStore)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした