SS
Size: a a a
SS
РА
РА
public class App {
interface IView {
void show(String str);
void showResult(String result);
}
interface IPresenter {
void setAnswer(String answer);
void start();
}
interface IInteractor {
Observable<String> getObservable();
}
class PresenterImpl implements IPresenter {
private IInteractor mInteractor;
private IView mView;
private volatile String mAnswer;
@Override
public void setAnswer(String answer) {
mAnswer = answer;
}
/**
* интерактор генерит данные, которые мы отправляем во вьюшку
* вьюшка может послать ответ в презентер, который надо проверить
* и отправить во вьюшку через showResult(String result)
* если результата до следующего эмитта из интерактора не пришло,
* то тоже отправляем сообщение в showResult(String result)
*/
@Override
public void start() {
mInteractor.getObservable()
.doOnNext(mView::show)
.subscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
}
}
class InteractorImpl implements IInteractor {
private int mCount;
@Override
public Observable<String> getObservable() {
return Observable.interval(1000, TimeUnit.MILLISECONDS)
.flatMap(l -> Observable.just("Count " + mCount));
}
}
}AD
public class App {
interface IView {
void show(String str);
void showResult(String result);
}
interface IPresenter {
void setAnswer(String answer);
void start();
}
interface IInteractor {
Observable<String> getObservable();
}
class PresenterImpl implements IPresenter {
private IInteractor mInteractor;
private IView mView;
private volatile String mAnswer;
@Override
public void setAnswer(String answer) {
mAnswer = answer;
}
/**
* интерактор генерит данные, которые мы отправляем во вьюшку
* вьюшка может послать ответ в презентер, который надо проверить
* и отправить во вьюшку через showResult(String result)
* если результата до следующего эмитта из интерактора не пришло,
* то тоже отправляем сообщение в showResult(String result)
*/
@Override
public void start() {
mInteractor.getObservable()
.doOnNext(mView::show)
.subscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
}
}
class InteractorImpl implements IInteractor {
private int mCount;
@Override
public Observable<String> getObservable() {
return Observable.interval(1000, TimeUnit.MILLISECONDS)
.flatMap(l -> Observable.just("Count " + mCount));
}
}
}i
РА
AD
Т
AM
Т
AM
И
P
P
P
P
Т