Android

SingleのdoOnSuccessとmapの挙動を確認する

RxJavaのdoOnSuccessとmapの挙動を確認した時のコード。doOnSuccessで加工してもmapには渡らないので気をつける

androidxへのmigrateでConstraintLayout内のlayoutが崩れた時

androidxへmigrateしたことが影響したのかConstraintLayout内でlayoutが崩れたのでメモ。

API24以下でNoSuchMethodError:No static method hashCode

Kotlin 1.3.30を使っていてAPI24以下の端末で java.lang.NoSuchMethodError: No static method hashCode(Z) のエラーが出てcrashすることがあったのでその対応のメモ。

LivedPagedListで件数が0件のときの挙動を制御する

Paging libraryを使ってNetworkからdataをfetchする時、fetchは成功しているが件数が0件をどう検知するかにちょっと悩んだのでメモ。 viewModel imageData = LivePagedListBuilder(factory, config).build() fragment viewModel.imageData.observe(this, Obs…

RetrofitでJson以外のresponseでのMalformedJsonExceptionに対応する

APIがJsonではなく例えばStringなどJsonではない値を返す場合、retrofitのconverterにGSONしか追加していないと以下のエラーが発生する。 com.google.gson.stream.MalformedJsonException: Expected value at line 1 column 6 path そんな時はRetrofitにconv…

CircleCI上でlicences have not been acceptedに対応する

CircleCI上で Failed to install the following Android SDK packages as some licences have not been accepted.のエラーでBuildが失敗する時の対応についてもメモ。他にもいろんな方法があるっぽい…が一例として。 特にCI上で使用しているdocker imageはci…

ICU4JをAndroidで使う時

Unicodeの文字変換を行えるICU4jというライブラリをAndroidで使う時に遭遇したことや対応したことなどのちょっとしたメモです。 一言でいえばここを見れば済む話である。 Unicode and internationalization support | Android Developers 最新versionの63.1…

getComponentsDrawable()がnullになるとき

メモです。 TextView等でdrawableStart/drawableEndを使ってicon等のリソースを設定している場合などで getComponentsDrawable() を使うと大概の場合は特に問題なく動くが、稀にnullが帰ってくる場合がある。(drawableRight/Leftを使っている場合は問題ない…

RxJavaのsubscribeOnとobserveOnの違いを理解したい

今更ながらRxJavaのsubscribeOnとobserveOnの違い、使い分けがわからなかったので理解するときに参照した記事と動かして試したこととのメモです。 こちらの記事を参考にしました。 http://reactivex.io/documentation/operators/subscribeon.html https://gf…

API23以下でも<item>で幅/高さを設定したい

layer-listでdrawableファイルを書く時等で、読み込むiconの表示幅/高さなどを変えたい時のメモ。 具体的には左を右のようにしたい時。 API23以降だとitem要素にwidthとheightが設定できる

VectorDrawableのOS差異

現象についてのメモであり、解決策ではありません。 SVGからVectorDrawable化した時に元画像では空いているはずだった穴が埋まってしまう問題。 qiita.com

GsonでJsonSerializer/JsonDeserializerを使う

Gsonを使ってJavaのObjectとJsonの間をコンバートする際、カスタマイズしたい時があったのでどんなユースケースだったのかとどう書いたかのメモ。 もっと良いやり方がありそうな気がするが作業ログということで。使用しているGson ver: 2.8.1。 Deserialize …

ConstraintLayoutの中のTextViewが欠ける

ConstraintLayoutの中に複数行のTextViewを置いた時、ConstraintLayoutのレイアウトに合わせて折返しされず行末が表示されない問題。 以下の記事と同じ現象で参考にさせてもらいました。 https://stackoverflow.com/questions/46350501/android-constraintla…

Picassoでresizeがうまくいかない

Picassoを使っていて何故か正方形画像のみ、resize/centerInsideがうまく動いてないケースにぶつかった。centerInsideしているのに画像の端が切れてしまいcenterCropのような表示になってしまう感じ。 しかも1回目の読み込みのみ起こるのでおそらくネットワ…

Emulatorのネットワークが不調

何をしてもEmulatorのネットワークの調子が悪かった。 API24のEmulatorでは正常だが一部の端末(自分の環境ではAPI27のようなAPI levelが比較的高いOSのもの)で ずっとネットワークの部分にバツがついていて繋がらない状態になっていた。

BottomSheetDialogのlandscape対応

Android Working with Bottom Sheet - Persistent and Modal Bottom Sheets こちらを参考にBottomSheetDialogを拡張したFragmentを使った時のメモです。 理由などは理解していないところもあるので、現象とこうしたら動いたの一例として参考にしてもらえれば…

Picasso 2.5.2→2.71828へのマイグレーションについてのメモ

Picasso 2.71828にバージョンアップする際にissueや関連レポジトリを探しまくったので、どんなことがあったのかと思考フローと調べたこと等を雑に記録しておく。 2.5.2での問題 発端は一部の端末でresize()関数を挟むと画像がロードできない問題があった。(…