開発者オプションチェッカー

開発者オプションチェッカーという名前ですが、現在のところ「アクティビティを保持しない」をONにしてるかどうかをチェックするだけのアプリです。 名前の通りAndroidアプリ開発者以外の人には無用の長物です。もしかしたら、私以外に欲しいと思っている人はいないかもしれません。 アピールポイントは、設定値の監視を行う割に、特別なパーミッションを要求しないという潔さがあるところです。 作った経緯 ...

記事を読む

スポンサー広告

アプリを公開してコメントもらえて嬉しかった話

Google Playで公開しているカスタムフォトウォッチで初めてコメントをもらいました。 英語でのコメントだったのですが、「12時間表示のオプションが欲しい」っていう内容でした。 おそらく私は、単にそれだけのコメントでも嬉しかったと思います。自分で作ったものに対して反応がもらえるっていうのは、それだけでうれしいのです。 しかし今回のコメントはさらに嬉しい要素がありました。「12時間表示が必...

記事を読む

EventBusを使ってAsyncTaskLoaderでProgressを通知する

greenrobot/EventBus - GitHubを使ってみました。 異なるスレッドからのイベントの通知でもうまくハンドリングしてくれるので、AsyncTaskLoaderでProgressを通知するのにも利用できます。 Broadcastを使って実装するのと比較するとコードがシンプルになって良いです。IntentFilterやIntentにデータを埋め込む際に使うキー文字列を定義したり...

記事を読む

LocalBroadcastを使ってAsyncTaskLoaderでProgressの通知を実装する

AsyncTaskLoaderにはAsyncTaskのpublishProgress()のような途中経過を通知するメソッドが標準では用意されていません。 そこでブロードキャストを利用してこれを実装します。 Context#sendBroadcast()を使ってもいいのですが、これだと自分のアプリ外にもブロードキャストが送信されてしまうので、LocalBroadcastManagerを利用します...

記事を読む

Espressoを使ってUIテストを書いてみた

Android Studio 1.2でEspresso2.1を使ったUIテストをやってみました。 テストの実行に実機(エミュレータ)が必要なのが面倒くさいですが、実機無しでテストが実行できるようにする方が面倒くさい(というかやり方がわからない)ので、テストができるだけマシだと考えることにしました。 テストを実行する際に、開発者オプションでアニメーションの無効化をしておかないと、アニメーションの...

記事を読む

アプリのパフォーマンスを向上させる GPUオーバードロー

LinearLayoutをネストしすぎたりするなど、Viewの階層を深くするとアプリのパフォーマンスに良くないという話はよく聞くと思います。 それと似たような話で、画面を何回描画しているかを確認して、アプリのパフォーマンスに役立てることができきます。今回はそれの紹介です。 確認の仕方 端末の開発者オプションで「GPUオーバードローをデバッグ」を有効にします。 これを有効にすると、目に悪...

記事を読む

その画面がどんなViewを使って作られているか調べる方法

「このアプリのデザインを参考にしたいんだけど、どうやって作ってるのか知りたい」というときに便利かもしれないコマンドです。 調べたい画面を表示させた状態で、ターミナルからadb shell dumpsys activity topと入力すると、現在表示中のView階層などが表示されます。 View階層だけを調べたいなら、hierarchyviewerを使った方がグラフィカルに見えて便利なのですが...

記事を読む

BaseSaveStateにを拡張してカスタムViewの状態を復元する際の注意点

カスタムViewを作った場合、BaseSaveStateを拡張してViewの状態をカスタムView自身で復元できるようにできます。 この際に注意すべきことが3点あります。 Activityを保持しないを有効にしてチェックする カスタムViewの復元機能を実装したら、必ず開発者オプションのActivityを保持しないを有効にしてちゃんどう動くかどうか確認しましょう。 自分ではちゃんと実装した...

記事を読む