2017-09-20 4 views
0

나는 안드로이드에서 RxJava를 배우고 있습니다. 여기이 자습서를 다음입니다 : 아래의 코드와 같이 http://plavatvornica.com/rxjava-for-beginners/우리는 왜 Observer.from()이 필요합니까?

, 난의 OnError

하여 목록에 하나의 항목을 방출이 관측을 만든 나는의 사용의 내 understaning을 deepn하는 질문이 있습니다 RxJava 라이브러리. questio는 목록에서 하나씩 항목을 gt하는 데 RxJava를 사용해야하는 이유는 무엇입니까? 나는 할 수 루프를 사용하여 같은 생각을 !! RxJava 라이브러리는 이러한 기능을 제공하기 때문에 특정 필요성 때문에 계속되어야한다고 생각합니다.

당신은 나를 이해하는 데 도움을 주시기 바랍니다 수 있습니다 그것은

코드

Subscriber listSubscriber = new Subscriber<String>() { 
    @Override 
    public void onCompleted() { 
     Log.i(TAG, "I am done"); 
    } 

    @Override 
    public void onError(Throwable e) { 
     Log.e(TAG, e.getMessage().toString()); 
    } 

    @Override 
    public void onNext(String s) { 
     Log.i(TAG, "onNext: " + s); 

    } 
}; 

//list as observable 
    List<String> list = new ArrayList<>(); 
    list.add("1"); 
    list.add("2"); 
    list.add("3"); 
    list.add("4"); 
    Observable myObservable3 = Observable.from(list); 

    myObservable3.subscribe(listSubscriber); 
+0

이 예제는 반응 형 프로그래밍 관용구를 활용하지 않고 라이브러리를 사용하는 방법입니다. –

+0

@ MarkKeen하지만 어떻게 10 명의 옵서버가 같은 결과를 얻을 수 있습니까? AFAIK, 각 옵저버는 단 하나의 가입자 만 있어야합니다. – user2121

+1

여러 구독자가 관찰 할 수있는 .. 내게 합당한 의견을 말합니다. 이해가되지 않는 경우 뜨겁거나 차가운 관찰 대상을 조사하십시오. –

답변

0

그것은 반응성 프로그램의 아이디어에서 온다 : 당신이 실제 응용 프로그램에서 메시지, 즉 전송 될 때까지 아무것도 호핑되지 않는 데이터는 사용자가 옵서버에 가입 할 때까지 요청되지 않습니다. 귀하의 예를 들어, 특히,이 아이디어를 표현하지 않습니다. 하지만, 예를 들어 데이터베이스를 가져 오는 것이면 도움이 될 것입니다. 또한 비동기식 프로그래밍의 경우 반응 형 프로그래밍이 특히 유용합니다. 프로세스 데이터를 부품별로 직접 유휴없이 수신 할 수 있기 때문입니다.