Android

画面遷移が複雑なAndroidアプリにどう対処したか

(メモレベルの雑文なので、読みづらいかもしれません) やりたいこと 作っていたAndrodアプリの画面遷移が複雑なため、画面遷移を一望し、条件付きの分岐を行う仕組みを作りたい。 以下のようなIoT機器の設定アプリをイメージしてください ある画面に出入りす…

DroidKaigi 2019で「BLEアプリ設計パターン」という発表をしました

DroidKaigi2019で発表してきました。 スライド speakerdeck.com (追記:動画上がってたので追加しました) www.youtube.com 人前で30分も喋るのは初なので、これはガチでやらねばと思って会社から時間もらって色々準備させてもらいました。 おかげさまで、自分…

RxJavaを使ったエラーハンドリングをどうするか その2 例外翻訳編

状況 一つのユースケースでBLE通信とWebAPI通信を行う場合を考えます。 サンプルコード class SomeDeviceUseCase { /** BLE通信でデバイスの設定を変更し、WebAPI経由でその設定をサーバーに記録する処理 */ fun changeSetting(setting: Setting) : Completa…

RxJavaを使ったエラーハンドリングをどうするか その1

前提 RxJavaでは例外が投げられた時、Observable#subscribeの引数onErrorにThrowableで渡って来る。 例 class ApiClient { fun fetchSomeData() : Single<SomeData> { // 取得処理 } } 利用側 apiClient.fetchSomeData() .subscribe ( { data : SomeData -> /** 成功処</somedata>…