All slide content and descriptions are owned by their creators.
All slide content and descriptions are owned by their creators.
前提 いま参加しているプロジェクトのネットワーク通信部分を大幅に書き換える必要があり、次のような理由からRxJavaの採用を検討した。 複数のAPI呼び出しを並行でやったり待ち合わせて逐次処理したり使い分ける必要がある 複雑な一連の呼び出しをリトライやエラーハンドリングを考慮して書くことが簡単にできそう 各社の採用実績から思いとどまる理由がない 筆者はRxJava(1)を業務で使ったことがある RxJavaで書き直した結果これらの要求を非常に簡単に満たすことができたが、不慣れなメンバーには「いつ非同期処理が開始されたのか分かりにくい」ことが判明した。 本ドキュメントは元々社内Qiita Teamに書き始めたものであるが、世の中の同じようなチームにも益があるかも知れないと考え公開することにした。 なお、現在RxJavaはバージョン2なのでとくに断りなくRxJava2(2017年6月時点の最新
It’s been more than two years since I wrote this post about MVVM, RxJava and Retrofit. It seems a bit old-fashioned to me right now. It’s surprising how much you can learn in one year! You take a look back and you might be embarrassed by your own code. Not only the code itself but also the process of how you get there. All that seems legacy code to me. In this article, I’m going to try to improve
はじめに みなさんRxしてますか?(挨拶) Androidアプリ開発で通信が必要な処理を実装するにあたり、Retrofitを採用して開発することが多いかと思います。Retrofitは3月にメジャーバージョンアップを果たし、色々とマイグレーション作業に追われた方もおられるかと思います。お恥ずかしいことに僕はRetrofit2になってからちゃんとRetrofitを使い始めたのですが、心底「もっと早くに使っておけば・・・」と思いました。へへっ Retrofitは、それ単体では返り値の型定義としてCallを指定すると思います。ただ、個人的にはCallは一切使ってなくて、RxJava CallAdapter(com.squareup.retrofit2:adapter-rxjava:2.+)を使い、RxJavaのStreamとして結果を受け取っています(あとGson Converterも使いますが本
現時点では2.0.0-beta1が最新です。 Callアダプタというものが追加されています。以下のような特徴があるようです。 これ以外にDynamic URL,Dynamic Query Paramも便利そうです。 Simple HTTP with Retrofit 2 (Droidcon NYC 2015) by Jake Wharton Call encapsulates single request/response interaction Models a single request/response pair Separates request creation from response handling Each instance can only be used once.. ...instances can be cloned Supports both synchro
RetrofitはAPI Clientを作成するためのライブラリです。 インターフェースを定義するだけで作れるのでとても楽ちんです。 またRetrofitはRxJavaを使って非同期の処理をいい感じに書くようにすることもできますしHTTP通信にはOkHttpをJSONのパースにはmoshiを使ってAPIクライアントを実装します。 実際どうやって使うのかをやっていこうと思います。 環境 Mac OSX Android Studio 2.0 Kotlin 1.0.0-beta-2423 Kotlin pluginをAndroid Studioに入れておいてください プロジェクトの作成 とりあえずBlankActivityのあるプロジェクトを適当に作成します。 作成されたJavaソースコードををKotlinに変換します。 上のメニューからCode->Convert Java File to Ko
Retrofit + RxJava (+RxAndroid) で以下のようなちょっと複雑なユースケースはどう書けばよいのかなと調べてみたら defer と onErrorResumeNext を使えばよいんじゃないか、という話 (ただしRetrofitは関係ない話になった)。 参考: retrofit with rxjava handling network exceptions globally ユースケース ユーザ情報を取得するAPIを叩く(認証が必要なAPI) 401が返ってきたら、アクセストークンを再度取得する処理を行う アクセストークンの再取得に成功した場合は、新しいアクセストークンを使って、もとのリクエスト(ユーザ情報の取得)をもう1回行う アクセストークンの再取得に失敗した場合は、ログイン画面に飛ばす 実装 private void getUser() { Observabl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く