From bd84db40030de26fa04f3798bbf83b5987fd61d2 Mon Sep 17 00:00:00 2001 From: haerong22 Date: Sun, 23 Apr 2023 18:42:07 +0900 Subject: [PATCH] #36 rxjava: single --- .../java/org/example/ex05/SingleCreateEx.java | 40 +++++++++++++++++++ .../example/ex05/SingleCreateLambdaEx.java | 18 +++++++++ .../java/org/example/ex05/SingleJustEx.java | 17 ++++++++ 3 files changed, 75 insertions(+) create mode 100644 RxJava/practice/src/main/java/org/example/ex05/SingleCreateEx.java create mode 100644 RxJava/practice/src/main/java/org/example/ex05/SingleCreateLambdaEx.java create mode 100644 RxJava/practice/src/main/java/org/example/ex05/SingleJustEx.java diff --git a/RxJava/practice/src/main/java/org/example/ex05/SingleCreateEx.java b/RxJava/practice/src/main/java/org/example/ex05/SingleCreateEx.java new file mode 100644 index 00000000..1c656efc --- /dev/null +++ b/RxJava/practice/src/main/java/org/example/ex05/SingleCreateEx.java @@ -0,0 +1,40 @@ +package org.example.ex05; + +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.core.SingleEmitter; +import io.reactivex.rxjava3.core.SingleObserver; +import io.reactivex.rxjava3.core.SingleOnSubscribe; +import io.reactivex.rxjava3.disposables.Disposable; +import org.example.utils.DateUtil; +import org.example.utils.LogType; +import org.example.utils.Logger; + +public class SingleCreateEx { + + public static void main(String[] args) { + Single single = Single.create(new SingleOnSubscribe() { + @Override + public void subscribe(@NonNull SingleEmitter emitter) throws Throwable { + emitter.onSuccess(DateUtil.getNowDate()); + } + }); + + single.subscribe(new SingleObserver() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onSuccess(@NonNull String s) { + Logger.log(LogType.ON_SUCCESS, "# 날짜시간: " + s); + } + + @Override + public void onError(@NonNull Throwable e) { + Logger.log(LogType.ON_ERROR, e); + } + }); + } +} diff --git a/RxJava/practice/src/main/java/org/example/ex05/SingleCreateLambdaEx.java b/RxJava/practice/src/main/java/org/example/ex05/SingleCreateLambdaEx.java new file mode 100644 index 00000000..58030d98 --- /dev/null +++ b/RxJava/practice/src/main/java/org/example/ex05/SingleCreateLambdaEx.java @@ -0,0 +1,18 @@ +package org.example.ex05; + +import io.reactivex.rxjava3.core.Single; +import org.example.utils.DateUtil; +import org.example.utils.LogType; +import org.example.utils.Logger; + +public class SingleCreateLambdaEx { + + public static void main(String[] args) { + Single single = Single.create(emitter -> emitter.onSuccess(DateUtil.getNowDate())); + + single.subscribe( + data -> Logger.log(LogType.ON_SUCCESS, "# 날짜시간: " + data), + error -> Logger.log(LogType.ON_ERROR, error) + ); + } +} diff --git a/RxJava/practice/src/main/java/org/example/ex05/SingleJustEx.java b/RxJava/practice/src/main/java/org/example/ex05/SingleJustEx.java new file mode 100644 index 00000000..6a558c9c --- /dev/null +++ b/RxJava/practice/src/main/java/org/example/ex05/SingleJustEx.java @@ -0,0 +1,17 @@ +package org.example.ex05; + +import io.reactivex.rxjava3.core.Single; +import org.example.utils.DateUtil; +import org.example.utils.LogType; +import org.example.utils.Logger; + +public class SingleJustEx { + + public static void main(String[] args) { + Single.just(DateUtil.getNowDate()) + .subscribe( + data -> Logger.log(LogType.ON_SUCCESS, "# 날짜시간: " + data), + error -> Logger.log(LogType.ON_ERROR, error) + ); + } +}