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はcircleci/android:api-28-node8-alphaの場合。

続きを読む

ICU4JをAndroidで使う時

Unicodeの文字変換を行えるICU4jというライブラリをAndroidで使う時に遭遇したことや対応したことなどのちょっとしたメモです。

一言でいえばここを見れば済む話である。

Unicode and internationalization support  |  Android Developers

最新versionの63.1を使用するとAPI level23以下のデバイスでは次のようなエラーでアプリが落ちる。 (自分の場合は半角文字を全角文字に変換するという処理の時で使っていて遭遇)

続きを読む

getComponentsDrawable()がnullになるとき

メモです。

TextView等でdrawableStart/drawableEndを使ってicon等のリソースを設定している場合などで

getComponentsDrawable()

を使うと大概の場合は特に問題なく動くが、稀にnullが帰ってくる場合がある。(drawableRight/Leftを使っている場合は問題ない)

続きを読む

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

今更ながらRxJavaのsubscribeOnとobserveOnの違い、使い分けがわからなかったので理解するときに参照した記事と動かして試したこととのメモです。

こちらの記事を参考にしました。

http://reactivex.io/documentation/operators/subscribeon.html https://gfx.hatenablog.com/entry/2015/12/12/231203 https://stackoverflow.com/questions/46070235/switching-threads-multiple-times-in-rx-chain

observeOnはそれ以降の処理をどのスレッドで行うかを指定するので長い処理の中で何回も指定されることがある。一方subscribeOnは文字通りsubscribeされたときのスレッドを指定するものなので何回も指定するものではない。syntax上は何回でも指定できるが、実際は最初に指定されたスレッドで処理が行われる。

続きを読む

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

layer-listでdrawableファイルを書く時等で、読み込むiconの表示幅/高さなどを変えたい時のメモ。 具体的には左を右のようにしたい時。

f:id:chiiia12:20181030184221j:plainf:id:chiiia12:20181030184218j:plain

API23以降だとitem要素にwidthとheightが設定できる

続きを読む

GsonでJsonSerializer/JsonDeserializerを使う

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

Deserialize

JsonからJavaのObjectにマッピングする時。自分は以下のようなユースケースでDeserializerを書いた。 同じ名前のkeyだが中身の型は違う、がObjectとしては同じObjectにコンバートしたい時。

続きを読む