LoginSignup
0
0

More than 5 years have passed since last update.

RxJava + Gradle + SublimeTextでHello!

Posted at

今更ながらRxJavaをやろうと思い立ち検索...
Gradle で RxJava を動かすObserverパターンとHelloWorldからはじめるRxJava見つけた!

わかりやすい!できそう!ということで挑戦しました
(RxJavaやGradleの詳しいことは上の記事を参考にお願いいたします)

gradleの作成

GroovyというPackageをいれると入力の補完をしてくれるので楽チンです!

build.gradle
apply plugin: 'java'
apply plugin: 'application'

mainClassName=project.main.capitalize()

repositories {
    mavenCentral()
}

sourceSets {
  main.java.srcDirs += './'
}

dependencies {
    compile 'io.reactivex:rxjava:1.1.0'
}

defaultTasks 'run'

SublimeTextでBuild設定

まず、SublimeTextにビルド環境入れよう
ということで、SublimeTextのメニューからTools -> Build System -> new Build System...にアクセスします

RxJava-gradle.sublime-build
{
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": ["source.java"],
    "shell_cmd": "gradle -Pmain=\"${file_base_name}\""
}

これをRxJava-gradle.sublime-buildというタイトルで保存します
保存先はPackages/User/です

Tools -> Build SystemRxJava-gradleができてると思いますので選択します

RxJava

helloObserver.java
import rx.Observable;
import rx.Observer;

class HelloObserver {

    public static void main(String[] args) {
        String[] names = {"in", "", "taro"};

        Observable.from(names).subscribe(new Observer<String>() {
            @Override
            public void onNext(String name) {
                if (name.isEmpty()) {
                    throw new RuntimeException("empty");
                }
                System.out.println("Hello" + name);
            }

            @Override
            public void onCompleted() {
                System.out.println("Good Bye");
            }

            @Override
            public void onError(Throwable e) {
                System.out.println("ERROR: " + e);
            }
        });
    }
}

お試しなので、コードがほとんど参考記事の方のままです。すみません。

実行

command+bまたはcommand+shift+bで実行です

結果

:processResources UP-TO-DATE
:classes
:run
Helloin
ERROR: java.lang.RuntimeException: empty

BUILD SUCCESSFUL

Total time: 0.817 secs
[Finished in 1.3s]

1人目のinさんもでてるし、空はerrorでてるしいい感じ!

追記

RxJavaは考え方から難しそうなので、もう少し勉強して、RxKotlinにもチャレンジします....

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0