Notice
Recent Posts
Recent Comments
Link
투케이2K
307. (RxJava) [Observable] just 사용해 [ Model Class 모델 클래스 객체 ] 생성자 만들기 및 subscribe 구독 결과 메시지 확인 본문
Java
307. (RxJava) [Observable] just 사용해 [ Model Class 모델 클래스 객체 ] 생성자 만들기 및 subscribe 구독 결과 메시지 확인
투케이2K 2023. 2. 23. 21:57[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java
[소스 코드]
// -------------------------------------
// [로직 처리 실시]
// -------------------------------------
try {
/**
* // -----------------------------------------
* [코드 설명]
* // -----------------------------------------
* 1. just() : 가장 간단한 생성 방식으로 함수에 인자로 넣은 데이터를 그대로 차례대로 발행 (인자로 10개 까지 전달), 자동으로 onNext, onComplete 혹은 onError가 호출 됨
* // -----------------------------------------
* 2. Disposable isDisposed : 구독 연결 관계 확인 (true / false)
* // -----------------------------------------
* 3. Disposable dispose : 구독 연결 관계 끊기 (onComplete 이벤트가 정상 실행 시 별도로 호출할 필요 없음)
* // -----------------------------------------
* */
// [Observable just 사용해 생성 실시 : 생성자]
Observable<M_User> observable = Observable.just(
new M_User("투케이", 29, true),
new M_User("2K", 30, true)
);
// [Observer 옵저버 는 Observable 생성자 를 구독 (Subscribe) 해 데이터를 소비]
observable.subscribe(
value -> {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[A_Test >> main() :: onNext()]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[name :: "+String.valueOf(value.getName())+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[age :: "+String.valueOf(value.getAge())+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[sex :: "+String.valueOf(value.getSex())+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
},
error -> {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[A_Test >> main() :: onError()]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[error :: "+String.valueOf(error.getMessage())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
},
() -> {
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[A_Test >> main() :: onComplete()]");
Log.w("//===========//","================================================");
Log.i("---","---");
});
// */
}
catch (Exception e){
e.printStackTrace();
}
// -------------------------------------
// [Model 클래스 생성 실시]
// -------------------------------------
package com.example.javaproject;
import org.json.JSONObject;
public class M_User {
/**
* // --------------------------------------------------------------------------------------
* TODO [클래스 설명]
* // --------------------------------------------------------------------------------------
* 1. 모델 클래스
* // --------------------------------------------------------------------------------------
* */
/**
* // --------------------------------------------------------------------------------------
* // TODO [빠른 로직 찾기 : 주석 로직 찾기]
* // --------------------------------------------------------------------------------------
* // [SEARCH FAST] :
* // --------------------------------------------------------------------------------------
* */
// -----------------------------------------------------------------------------------------
// TODO [전역 변수 선언]
// -----------------------------------------------------------------------------------------
private static final String ACTIVITY_NAME = "M_User";
private String name;
private int age;
private boolean sex;
// -----------------------------------------------------------------------------------------
// TODO [클래스 생성자 초기화]
// -----------------------------------------------------------------------------------------
public M_User(String name, int age, boolean sex){
// [전역 변수에 매핑 실시]
this.name = name;
this.age = age;
this.sex = sex;
}
// -----------------------------------------------------------------------------------------
// TODO [개별 데이터를 확인 하기 위해 get 생성]
// -----------------------------------------------------------------------------------------
public String getName(){
return name;
}
public int getAge(){
return age;
}
public boolean getSex(){
return sex;
}
} // TODO [클래스 종료]
[결과 출력]
D///===========//: ================================================
I/: [A_Test >> main() :: onNext()]
I/: -----------------------------------------
I/: [name :: 투케이]
I/: -----------------------------------------
I/: [age :: 29]
I/: -----------------------------------------
I/: [sex :: true]
D///===========//: ================================================
D///===========//: ================================================
I/: [A_Test >> main() :: onNext()]
I/: -----------------------------------------
I/: [name :: 2K]
I/: -----------------------------------------
I/: [age :: 30]
I/: -----------------------------------------
I/: [sex :: true]
D///===========//: ================================================
W///===========//: ================================================
I/: [A_Test >> main() :: onComplete()]
W///===========//: ================================================
반응형
'Java' 카테고리의 다른 글
309. (java/자바) [유틸 파일] getUtcNowTime : UTC 시간 현재 날짜 및 시간 반환 (0) | 2023.03.08 |
---|---|
308. (java/자바) [유틸 파일] stringToBcdFormat : 문자열 >> BCD 포맷 바이트 반환 실시 (0) | 2023.03.01 |
306. (java/자바) [유틸 파일] hexStringToString : 헥사 문자열 >> 일반 문자열로 반환 실시 (0) | 2023.02.08 |
305. (java/자바) [로직 정리] 정수 값 String , Byte , Hex 값 포맷 수행 정리 (0) | 2023.02.07 |
304. (RxJava) [Observable] map 사용해 array 배열 데이터 값을 변환해서 출력 실시 (0) | 2023.02.05 |
Comments