タグ

ブックマーク / qiita.com/rejasupotaro (2)

  • RxJavaでAPIクライアントを作る - Qiita

    RxJavaのモチベーション HTTPクライアントは今ならOkHttp一択なのですが、APIクライアントには非同期に通信をおこなってほしいものですが、非同期処理をおこなうAndroidフレームワークのAsyncTaskやAsyncTaskLoaderは正直使いやすいとは言えません。Volleyは設計は綺麗で拡張もしやすかったのですが、Googleとしての立ち位置がよく分からなかったので OkHttp + 非同期処理を担う何か を探していました。 それでPromiseライクなBoltsと迷ったのですが、個人的な好みでRxJavaを採用してみました。 APIクライアントの設計 以前書いたもの の参考実装としてライブラリを書いてみました。 Octodroid リソースへのアクセスの仕方は以下のようになっています。 // GET /users/rejasupotaro GitHub.client(

    RxJavaでAPIクライアントを作る - Qiita
    krrrr
    krrrr 2015/04/22
  • RxJavaでモデルを取得、キャッシュ、ページネーション、そして - Qiita

    これらの一連の実装をどうするか考えていた。 前提 REST APIを使っている APIはデータモデル+メタデータを返す モデルはメモリキャッシュ、ファイルキャッシュにも対応する モデルとレスポンスの形式 メタデータの中にはページ情報など、サーバ/クライアントでデータをやりとりするのに必要なデータが入っている。 メタデータはモデルの外に持たせたいので、モデル層をResponseクラスでラップした。ここにページネーションのしくみを持たせることにする。 public class Response<T> { private T result; private Extra extra; private Observable<Response<T>> next; public T getResult() { return result; } public Extra getExtra() { retu

    RxJavaでモデルを取得、キャッシュ、ページネーション、そして - Qiita
    krrrr
    krrrr 2015/04/22
  • 1