visible true

技術的なメモを書く

RxJava

rxbinding-recyclerview-v7とPublishSubjectを使ってRecyclerViewでスクロールが一番下まで行ったらロードする実装

すでにある気がするけど見当たらなかったのでメモ。 ソース こちらにあります。 GitHub - sys1yagi/rxrecyclerview-load-more 準備 rxbinding-recyclerview-v7をdependenciesに追加する。 dependencies { compile 'com.jakewharton.rxbinding:rxbinding-recy…

TestSubscriberを使ってRxJavaのsubscribeのテストを書く

Observableのテストを書く時、以下の様にsubscribeのonNext()等にassertを書きたくなる。だがこれには問題がある。 @Test public void hogeObservableGetNameIsHoge() { //... hogeObservable.subscribe( hoge -> { assertThat(hoge.getName(), is("hoge"));…

RxJavaをコレクション操作ライブラリとして捉えれば学習コストと導入リスクを低減できるのではないか

とりあえずRxJavaをプロダクトで使いたい、しかしチームに気軽に持ち込むには学習コストが高すぎたり習熟度が低い状態ではメンテナンスでリスクになったりするので導入できない。しかし導入したい。導入するにはどうしたらいいんだろうということで、RxJava…

RxJavaのObservable<T>でOptional<T>を代行する

RxAndroidとRetrolambdaで大体Java8をAndroidに持ち込むでOptionalは使えず、良さ気なライブラリは見当たらないと書いたのだけど、そもそもRxJavaのObservable<T>はOptional<T>と同等の機能を持ってるっぽくない?という事に気がついて試してみたらOptional<T>でした</t></t></t>…

RxJavaでフィボナッチ数列を生成しようとしたけど面白くなかった

Observableにして無限リスト的に好きなだけ生成出来る!と思ったんだけど、 Fibonacci.java public class Fibonacci { public static Observable<Integer> take(int count) { if (count == 0) { return Observable.empty(); } if (count == 1) { return Observable.ju</integer>…

Java 8: No more loopsをRxJavaでやる(Androidの環境で)

Java 8: No more loops Java 8: No more loops Java8のStream APIを使ってforループを無くすという記事。面白そうだったのでRxJava化しました。AndroidだとJava8 Stream API使えないですからね (´・ω・`)。Java8世界ではRxJavaってどういう位置づけなんでしょ…

RxAndroidとRetrolambdaで大体Java8をAndroidに持ち込む

※これもう大分古いので AndroidでJava8環境 2016 - visible true も御覧ください。 はじめに RxAndroid(というかRxJava)とRetrolambdaでそろそろ大体Java8な環境でAndroidアプリケーションが開発出来るのではないかと考えて試してみた。 2014年4月頃のRetrol…

ObservableがNoSuchElementExceptionで死ぬ時はscan(Func2)やreduce(Func2)にinitialValueを渡す

問題 以下のコード(Retrolampda 1.8.0 + RxJava 1.0.0-rc.9で書いてます)では空のリストをObservable.from()に渡している。これを単純にmap()したりsubscribe()するだけなら特に問題はでない。しかし、reduce(Func2)やscan(Func2)などが途中に挟まるとエラー…