Skip to content

Instantly share code, notes, and snippets.

@is2js
Created March 25, 2018 07:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save is2js/1f7cb88f451f344dcc2e67c875de5d7c to your computer and use it in GitHub Desktop.
Save is2js/1f7cb88f451f344dcc2e67c875de5d7c to your computer and use it in GitHub Desktop.
MainActivity.java
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