SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

RxJavaによるリアクティブプログラミング入門

RxJava 2.xを用いた簡単なサンプルプログラムの実装

RxJavaによるリアクティブプログラミング入門(4)

  • このエントリーをはてなブックマークに追加

 この連載はRxJavaを使って、リアクティブプログラミングにおけるポイントやRxJavaが持つ機能について学んでいくことを目的としています。前回はReactive StreamsとRxJava 2.xのポイントについて簡単に見ましたが、今回はこのRxJava 2.xを使って実際に実装すると、どうなるのかについて見ていきます。

  • このエントリーをはてなブックマークに追加

 RxJava 1.xの回では"Hello, World!"と"こんにちは、世界!"を通知し、受け取った通知に対しての出力を行うサンプルを作りました。今回はこのサンプルと同じような処理をするものをRxJava 2.xを使って実装してみましょう。

対象読者

  • Java経験者(初心者可)
  • RxJava未経験者
  • リアクティブプログラミング未経験者

 ※ただし、前回までの連載を読んでいる前提です。

環境構築

 RxJava 2.xではRxJava 1.xとは違いReactive Streamsとの依存があるため、RxJava 2.xのjarだけでなく、Reactive Streamsのjarにもパスを通すことで初めてRxJava 2.xを使えるようになります。そのため、MavenやGradleを使ってRxJava 2.xとReactive Streamsとの間の依存関係を自動で解決させるようにしたほうがよいでしょう。

 Mavenを使って環境を構築する場合、pom.xmlに次のdependencyを追加して取得することでRxJava 2.xが使える環境を構築できます。今回は執筆時点での最新版である2.0.0を使います。

Mavenの場合
<dependency>
    <groupId>io.reactivex.rxjava2</groupId>
    <artifactId>rxjava</artifactId>
    <version>2.0.0</version>
</dependency>

 同様にGradleからも追加が可能です。dependenciesに下記を追加してください。

Gradleの場合
dependencies {
    …… 略
    compile 'io.reactivex.rxjava2:rxjava:2.0.0'
}

 MavenやGradleを使うと、Reactive Streamsの記述を行わなくても自動的にRxJava 2.xが依存しているReactive Streamsのjarをダウンロードしてくれます。こうすることで、新しいバージョンに変更する際に依存するライブラリのバージョンの対応を意識しなくてよくなります。

 しかし、これらのツールを使わずに環境を構築したい場合、Mavenの検索サイトから直接jarを取得することも可能です。

 その場合、Mavenの検索サイトから、

g:"io.reactivex.rxjava2" AND a:"rxjava"

と入力し検索すると、RxJava 2.xの最新のjarがダウンロードできるようになります。

Mavenの検索画面(RxJava 2.x)
Mavenの検索画面(RxJava 2.x)

 ただし、この場合はReactiveStreamsのjarが含まれていないので自分でダウンロードする必要があります。そのため、Mavenの検索サイトから、

g:"org.reactivestreams" AND a:"reactive-streams"

で検索し、Reactive Streamsの対象のバージョンのjarをダウンロードしないといけません。

Mavenの検索画面(Reactive Streams)

Mavenの検索画面(Reactive Streams)

 現段階ではReactive Streamsのバージョンは1.0.0なのですが、今後それぞれがバージョンアップした際は対応するバージョンを意識しないといけないので、各jarを個別に取得して設定する場合は注意してください。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Flowable(Reactive Streams対応)を使ったサンプル

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
RxJavaによるリアクティブプログラミング入門連載記事一覧

もっと読む

この記事の著者

須田 智之(スダ トモユキ)

十数年間おもにSI企業にシステムエンジニアとして携わり、現在はフリーランスに。企業向けのシステム開発のかたわら個人でのモバイルアプリの開発やIT分野の記事も執筆。RxJava 2.0に対応した著書『RxJavaリアクティブプログラミング』が2017年2月16日より発売中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9745 2016/11/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング