watabee's blog

プログラミング関連のブログです

Android

【Android】UnitTestでLiveDataから値を取得する

UnitTest で LiveData から値を取得するために、iosched のプロジェクトでは以下のリンクのように LiveDataTestUtil を実装しているようです。 github.com これを Kotlin Coroutines で書き直してみました。 gist.github.com これで以下のような形でテストを…

【Android】ViewPagerでページ切り替え時にFragmentのonResumeが呼ばれるようになった!

androidx.fragment の 1.1.0-alpha07 から ViewPager のページを切り替えたタイミングで Fragment の onResume() が呼ばれるようになりました ViewPager ではとあるページを表示した際にデフォルトで両隣のページの Fragment も自動的に生成されるため、今ま…

【Android】DownloadManagerでDLしたファイルが知らぬ間に削除される!?

DownloadManager でダウンロードしたファイルが気づいたら削除されてしまっている、という現象が発生していて原因が全く不明でした。 色々と調べていたところ、StackOverflow でこのような投稿を見つけました。 どうやら DownloadIdService なるものがダウン…

【Android】OkHttpのInterceptorで全ての通信リクエストに一括でパラメーターを追加する

実装メモ。 例えばリクエストパラメーターにアプリのバージョンを追加する場合。 class AddRequestParamsInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val request = chain.request() val newRequest = when …

【Android】Activityの再生成時にFragmentを再生成させない

Activity 再生成時に Fragment を再生成させたくなかったのですが、その方法がわかったのでメモしておきます。 ちなみに Fragment は Support Library の Fragment を使用していることが前提です。 以下のコードを実装するだけで、Fragment が再生成されなく…

【Android】Gradleでライブラリの依存関係の記述を共通化する

Android 開発において、Unit Test と Instrumented Test で使用するライブラリは、Unit Test では testImplementation、Instrumented Test では androidTestImplementation を使って以下のように build.gradle を記述できます。 dependencies { // Unit Test…

Retrofit2.5.0 でサポートされた Invocation クラスが便利そう

Retrofit2.5.0 で Invocation クラスというものが追加されたようです。 https://github.com/square/retrofit/blob/master/CHANGELOG.md#version-250-2018-11-18 New: Invocation class provides a reference to the invoked method and argument list as a t…

Android と iOS のロジックを Kotlin Native で共通化する

最近 Kotlin Native が気になっていたので、Kotlin Native の勉強がてらにサンプルプロジェクトを作成してみました。 https://github.com/watabee/RakutenRankingKotlin このサンプルプロジェクトでは以下のことを行なっています。 楽天のランキング API を…