Created
March 25, 2018 07:53
-
-
Save is2js/1f7cb88f451f344dcc2e67c875de5d7c to your computer and use it in GitHub Desktop.
MainActivity.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.tistory.nittaku.myrxjava_1; | |
import android.support.v7.app.AppCompatActivity; | |
import android.os.Bundle; | |
import android.util.Log; | |
import android.view.View; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
import io.reactivex.disposables.Disposable; | |
import io.reactivex.Observable; | |
import io.reactivex.Observer; | |
public class MainActivity extends AppCompatActivity { | |
private static final String TAG = "MainActivity"; | |
private TextView Txt; | |
private Observable<String> mObservable; | |
private Observer<String> mObserver; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
Txt = findViewById(R.id.txt); | |
mObservable = Observable.just("Hello from Rxandroid...!"); | |
mObserver = new Observer<String>() { | |
@Override | |
public void onSubscribe(Disposable d) { | |
} | |
@Override | |
public void onNext(String s) { | |
Txt.setText(s); | |
} | |
@Override | |
public void onError(Throwable e) { | |
} | |
@Override | |
public void onComplete() { | |
} | |
}; | |
} | |
public void subscribeNow(View view) { | |
//onCreate에서 생성된 Observable의 데이터를 --> Observer로 건네준다. | |
mObservable.subscribe(mObserver); | |
Log.d(TAG, "Observable -> subscribe -> Observer후 텍스트뷰 내용 : "+ Txt.getText().toString()); | |
//만약 mObservable변수를 이용해서 just와 동시에 subscribe로 데이터를 보내준다면, mObservable에는 해당 데이터가 들어가지 않는다.// | |
mObservable.just("객체에 = Observer.연산자로 [[대입]]하지 않는 just().sucribe는 mObservable에 안남는다.") | |
.subscribe(s-> Toast.makeText(this, s, Toast.LENGTH_SHORT).show()); | |
//just->subscribe를 동시에 한 뒤, mObservable의 데이터를 subscribe해보았더니,, 하기전과 동일한 onCreate내용만 들어있다. | |
// 즉, 내용물이 있는 변수를 사용하더라도 Observable.just().subscribe()해버리면 Observable변수속 데이터는 그대로 있다. | |
mObservable.subscribe(s->Log.d(TAG, "새로운just를 subscribe후, mObservable의 데이터"+s)); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment