Kensuke Kousaka's Blog

Notes for Developing Software, Service.

Android Pie Viewフォーカス仕様変更について

targetSdkVersionを28以上に設定しアプリを動作させた場合、こちらに記されたように動作仕様が変更され、アプリ挙動が変わる可能性がある。手元で確認した際に、特にAndroid Pie端末でアプリを動作させた場合に、それ以前のOSバージョンを積んだ端末と比較し…

Android 8.0.0で、不正な位置でテキストが折り返される

文節の長い文章をTextViewを表示させた場合、TextViewを画面幅一杯に広げている場合でも以下のように8.0.0のみ右端に大きな余白が空いてしまう場合がある。これの迂回方法についてメモする

RxJavaでのExponential Backoffの実装

Exponential Backoffとは、リトライの間隔を1秒 -> 2秒 -> 4秒 -> 8秒 -> 16秒という風に増加させていくアルゴリズムである。これを用いることでクライアント及びリクエスト先サーバにおける度重なるリトライによる処理負荷を軽減できる。 RxJavaにおける実…

Autosizing TextViewの挙動を調べてみた

概要 Autosizing TextViewはAndroid 8.0(API 26, Oreo)より導入された機能で、これを用いることでTextViewのレイアウトサイズに応じて自動的にテキストサイズを調整してくれる。例えば、レイアウトサイズに収まりきらないような長いテキストを表示する必要…

ドラッグ操作による状態変化を無効にしたBottomSheetBehaviorの実装

Hide、Collapse、Expandという三つの状態を持たせることができ、シートを画面下からにゅっと出したり、逆にするっと縮めたり隠したりといったMaterial DesignでのBottom sheetsなレイアウトを簡単に実装できるのがBottomSheetBehavior。もちろんドラッグ操作…

Logcatで特定ログを除外する方法

Androidアプリの開発で動作ログを確認する際はLogcatを使うと思うが、verboseやwarningといったログレベルを各ログコードにおいて適切に設定できておらず、ログを追いかける際に冗長なログが大量に流れて辟易とした経験があるかもしれない。それぞれのログコ…

Android Serviceについてのメモ

AndroidのService周りについて、調べたことをメモする。 Android Serviceはいくつかの種類があり、呼び出し方によってその形態が変わる。 startService bindService startServiceを用いた場合、呼び出し元のActivity等が死んでも開始したServiceは影響を受け…