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) + ); + } +}