1. 程式人生 > >王學崗RxJava(二)

王學崗RxJava(二)

我們上面一個簡歷很簡單吧!
我們把上一個例子修改下

package com.tz.architect.rxjava.simple.android.simple3;

import java.util.ArrayList;
import java.util.List;

import rx.Observable;
import rx.Observer;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import com.tz.architect.rxjava.simple.android.R;

public
class RxJavaSimple3 extends Activity { private Observable<String> observableString; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple2); List<String> items = new
ArrayList<String>(); items.add("Dream"); items.add("迷離同學"); items.add("陳國軍同學"); items.add("Michael同學"); // 框架本身提供了這樣的API // from: 一旦當你有觀察者註冊,立馬傳送訊息序列 // 框架內部實現 // 框架內部呼叫create方法 // 迭代器模式 // OnSubscribeFromIterable類專門用於遍歷集合 // OnSubscribeFromArray類專門用於遍歷陣列
observableString = Observable.from(items); } public void click(View v) { observableString.subscribe(new Observer<String>() { @Override public void onCompleted() { Log.i("main", "---onCompleted---"); } @Override public void onError(Throwable e) { System.out.println("Oh,no! Something wrong happened!"); } @Override public void onNext(String item) { // 接受資料 Log.i("main", "觀察者接收到了資料: " + item); } }); } }