testingViewGroupのonLayout()が呼ばれた後でいろいろやるクラスを作ることになったので、ユニットテストを書きながら実装を進めることにした。onLayout()を呼んでもらうにはViewGroupをActivityにアタッチ(setConentView)しなければならない。クローンしてエミュレータなどでandroidTestを実行してみてください。EspressoのViewActions.click()は内部でGeneralClickActionを使ってクリックアクションを作っている。androidx.benchmarkは何となく気になっていたので、冬休みの間の宿題として、数年前に作ったあと放置していたリポジトリをほじくり返してこれに導入してみることにした。BaseKeyframeAnimation.getCurrentKeyframe()は、アニメーションのプログレス(0から1の実数で表されるアニメーションの進捗度合い)の値にあうKeyframeを返すメソッド。このKeyframeはsetProgress()の際にキャッシュされている。...lottie-androidのgetCurrentKeyframe()の性能を改善するパッチが取り込まれた2019-11-30RecyclerViewのようなものを作ろうとしたけどうまくいかなかったAndroid仕事で作ったクラスの構造がよくなかったのでそのその反省を少しまとめてみる。Adapterとは別にLayoutManager的なものも作る必要があったので、RecyclerViewの構造を参考にして似たようなものを作ることにした。Chartを見ている。Kotlinある日突然怒られたりするやつです。ライブラリを新しく入れたりアップデートしたときとか。option2019-08-18ObservableでないプロパティをKotlinのChannelで定期的に通知させるAndroidコールバックがなくて値が変わった時にそのことがわからないようなプロパティを観測可能にしたい。KotlinのChannelの機能を使ってそれっぽい仕組みを作ってみた。1.1.1)ではExperimental。いうことがあって少し考えた。APIのinterfaceは何かで包んでからRepositoryとかに渡すのがいい、という話。APIにアクセスするライブラリを使うときにも有効ではないかと思う。曰く、縦書きの時に使うような縦長の記号(二文字以上を繰り返すときの記号など)のために高くなっているらしい。issueを読み進めていくとAndroidならTextView.setIncludeFontPadding(false)を使うといいよ!と書いてある。CJKを使うと高さが必要以上に大きくなってしまう件2019-05-04たくさんのTextViewをアニメーションさせるAndroid画面に20個ぐらいアニメーションするビューがあってなんとかして60fps出すためにいろいろやったことをメモしておく。エミュレーターでやってたのが全部悪い(実環境で動かしたらわりとすんなり出た)というオチなので参考になるかはわからない。テストを書くためのハードルを下げ...カジュアルにIdlingResourceを使う2019-03-30Androidでマルチモジュールをやってみているという話Androiddroidkaigiでマルチモジュール関連の発表をたくさん聞いて、やってみたくなったのでやってみている。Kotlinのクラスはmockitoではそのままモックできない...JavaとKotlinが混在するプロジェクトでmockitoをmockKで少しずつ置き換えていく2019-01-01clearという名前のメソッドをもつViewModelのサブクラスをdalvikvm上で見つけられない人へAndroid年末、android-ktxをプロジェクトに入れようとして思わぬところで躓いたのでメモしておく。雑記ViewPagerの代わりにRecyclerViewを使ってチュートリアルの紙芝居を実装したのだが、進むボタンをN回押してサインアップへ進む画面に行くテストがいつまで経っても終了しない現象が起きた。諸事情によりprintデバッグを使って二分探索的にどこで止まっている...RobolectricでRecyclerView.smoothScrollToPosition()を呼ぶとテストが進まなくなる(未解決)2018-11-18AndroidのLiveDataとかViewModelについて考えるとりとめのないことAndroidLiveDataはデータホルダなので、覚えておきたいことを覚えておくために使うのがよい。表示したいデータとか、画面の状態など。私は、イベントやメッセージは受けた人が覚えておくべきものではないと考えているので、イベントバスやメッセージパッシングのた...AndroidのLiveDataとかViewModelについて考えるとりとめのないこと2018-07-22今どんな感じでアプリ開発を進めているかまとめてみるAndroid仕事でAndroidアプリ開発をやって行く中で、自分のスタイルができつつあるので整理してみる。今作っているアプリによるところが大きいと思うので別のケースに対応できるかどうかはわからない。ありそうなのでいくつかに分けてまとめることにする。続...今どんな感じでアプリ開発を進めているかまとめてみる2018-06-16RobolectricでDialogのOKとかCancelとかのボタンを押すAndroidAlartDialogに付いてるOKとかCancelみたいなデフォルトのボタンを押したくなったので調べた。:t...RobolectricでDialogのOKとかCancelとかのボタンを押す2018-06-03実行環境でうまく表示できないVectorDrawableについてのメモAndroidレイアウトエディタのプレビューだと何ともないのに実行環境だと表示が崩れてしまうVectorDrawableのファイルがあったので状況整理のためにメモしておく。自分で使うために1年半ほどずっと作っていたTwitterクライアントのβ版をplayアプリストアでオープンベータ版として公開した。FABをフリックしてRTとかlikeとかを行うクレイジーな操作感のアプリである。TILUdonRoadではツイートに添付されている画像を表示させるため、ViewPagerの中にImageViewを入れて使っている。デモためのAndroidアプリを作っている。音に独自の効果を加えたいときはAudioProcessorを実装する。AudioProcessorは前段の処理で展開された音データをPCM形式で受け取り、これを変換して返す。音響信号処理Androidのメディア再生のためのライブラリであるExoPlayerには、PCMになった音データを受け取って処理できるようにするAudioProcessorというインタフェースがある。7.0)になった辺りからContextをリークさせるようになってしまったのでいろいろと調査した。コードーディング会にもお邪魔して集中して取り組んだ。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。