{"id":1045,"date":"2022-12-09T16:57:10","date_gmt":"2022-12-09T07:57:10","guid":{"rendered":"https:\/\/java.ihavenomoney.co.kr\/?page_id=1045"},"modified":"2022-12-14T11:39:54","modified_gmt":"2022-12-14T02:39:54","slug":"rxjava-sample","status":"publish","type":"page","link":"https:\/\/java.ihavenomoney.co.kr\/?page_id=1045","title":{"rendered":"RxJava sample"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Remark : \ucc98\uc74c \uc2dc\uc791\ud558\uae30<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">1. gradle<\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">implementation 'io.reactivex.rxjava2:rxjava:2.2.21'<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2.\uc18c\uc2a4 <\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">package com.example.demo;\n\nimport io.reactivex.Observable;\nimport org.apache.catalina.LifecycleException;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport java.io.IOException;\n\n@SpringBootApplication\npublic class DemoApplication {\n\n    public static void main(String[] args) throws IOException, LifecycleException {\n        \/\/SpringApplication.run(DemoApplication.class, args);\n        \/\/System.out.println(\"test\");\n        DemoApplication demo = new DemoApplication();\n        demo.emit();\n    }\n\n    public void emit() {\n        Observable.just(\"Hello\", \"RxJava :2.2.21!!\")\n                .subscribe(System.out::println);\n    }\n}<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">Hello\nRxJava :2.2.21!!<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\uc608\uc81c2<\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">package com.example.demo;\n\nimport io.reactivex.Observable;\nimport io.reactivex.ObservableEmitter;\nimport io.reactivex.ObservableOnSubscribe;\nimport io.reactivex.annotations.NonNull;\nimport io.reactivex.functions.Action;\nimport io.reactivex.functions.Consumer;\nimport org.apache.catalina.LifecycleException;\nimport org.json.simple.JSONObject;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport java.io.IOException;\n\n@SpringBootApplication\npublic class DemoApplication {\n\n    public static void main(String[] args) throws IOException, LifecycleException {\n\n        \/\/SpringApplication.run(DemoApplication.class, args);\n\n        DemoApplication demo = new DemoApplication();\n        demo.emit();\n    }\n\n    public void emit() {\n    \/\/Observable \uc0dd\uc131\n        Observable&lt;Integer&gt; observable = Observable.create(new ObservableOnSubscribe&lt;Integer&gt;() {\n            @Override\n            public void subscribe(@NonNull ObservableEmitter&lt;Integer&gt; emitter) {\n                \/\/ \ub370\uc774\ud130 \ud750\ub984 \uc815\uc758\n                emitter.onNext(1);\n                emitter.onNext(2);\n                emitter.onNext(3);\n                emitter.onNext(4);\n                emitter.onNext(5);\n                emitter.onComplete();\n                \/\/ onComplete() \uc774\ud6c4\uc758 \ub370\uc774\ud130\ub294 \ubc1c\ud589\ub418\uc9c0 \uc54a\uc74c\n                emitter.onNext(10);\n            }\n        });\n\n    \/\/ subscribe \ud568\uc218\ub97c \ud1b5\ud574 \uc2e4\uc81c\ub85c \ub370\uc774\ud130\ub97c \ubc1c\ud589\ud558\uc5ec \uc18c\ube44\ud568\n        observable.subscribe(\n                \/\/ onNext\n                new Consumer&lt;Integer&gt;() {\n                    @Override\n                    public void accept(Integer integer) {\n                        System.out.println(\"onNext : \" + integer);\n                    }\n                },\n                \/\/ onError\n                new Consumer&lt;Throwable&gt;() {\n                    @Override\n                    public void accept(Throwable throwable) {\n                        System.out.println(\"onError : \" + throwable);\n\n                    }\n                },\n                \/\/ onComplete\n                new Action() {\n                    @Override\n                    public void run() {\n                        System.out.println(\"onComplete\");\n                    }\n                }\n        );\n\n    }\n}<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">onNext : 1\nonNext : 2\nonNext : 3\nonNext : 4\nonNext : 5\nonComplete<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" title=\"just\" >public void emit() {\n     Observable.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)\n            .subscribe(System.out::println);\n}\n\n\/\/ 10\uc529 \uacf1\ud558\uae30\npublic void emit() {\n     Observable.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)\n            .map(x -&gt; x * 10)\n            .subscribe(System.out::println);\n}\n\n\/\/\uc9c1\uc811 onNext, onComplete, onError\ub97c \ud638\ucd9c\n    public void emit() {\n        Observable.create(emitter -&gt; {\n            emitter.onNext(1);\n            emitter.onNext(2);\n            emitter.onNext(3);\n            emitter.onComplete();\n        }).subscribe(System.out::println);\n    }\n\n    public void emit() {\n        Integer [] array = {1, 2, 3, 4, 5};\n        Observable.fromArray(array)\n                .subscribe(System.out::println);\n    }\n\n\/\/import java.util.ArrayList;\n    public void emit() {\n        ArrayList&lt;Integer&gt; arrayList = new ArrayList&lt;&gt;();\n        arrayList.add(1);\n        arrayList.add(2);\n        arrayList.add(3);\n        Observable.fromIterable(arrayList)\n                .subscribe(System.out::println);\n    }<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >1\n2\n3\n\n10\n20\n30<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Remark : \ucc98\uc74c \uc2dc\uc791\ud558\uae30 1. gradle 2.\uc18c\uc2a4 \uc608\uc81c2<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1045","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/1045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1045"}],"version-history":[{"count":5,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/1045\/revisions"}],"predecessor-version":[{"id":1057,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/1045\/revisions\/1057"}],"wp:attachment":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}