当前位置: 首页 > news >正文

电子商务网站开发实/google关键词排名

电子商务网站开发实,google关键词排名,java开发常用四大框架,ppt公司简介模板Android之RxAndroid2、RxJava2的zip应用场景及示例 RxAndroid2、RxJava2的zip操作目的是为了合并两个Observable并最终发射一个单一的Observable结果。应用场景:比如在Android APP的开发中,涉及到和后台接口交互,网络…


Android之RxAndroid2、RxJava2的zip应用场景及示例

RxAndroid2、RxJava2的zip操作目的是为了合并两个Observable并最终发射一个单一的Observable结果。
应用场景:比如在Android APP的开发中,涉及到和后台接口交互,网络请求结果往往不是单一的一次成型完成所有操作,以一个用户登录并获取用户头像Bitmap的流程为例。

第一阶段、先登录成功,获得该用户的用户id诸如此类的必要元数据。
第二阶段、根据第一步获得的用户id然后再次发起网络请求获取该id头像的Bitmap数据,然后显示在ImageView里面。

这两阶段,虽然可以在第一阶段请求成功后再次发起第二阶段网络请求,如在Okhttp中的onSuccess里面拿到用户id,发起第二阶段的头像请求。但是代码逻辑嵌套深,不易于理解和维护。
这样的场景就比较契合RxJava2、RxAndroid2的zip的设计。
现在给出一个小例子说明:

package zhangphil.app;import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;import java.util.concurrent.Callable;import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.functions.BiFunction;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;public class MainActivity extends AppCompatActivity {private final String TAG = getClass().getSimpleName();private CompositeDisposable mCompositeDisposable = new CompositeDisposable();@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);addItems();}private void addItems() {DisposableObserver disposableObserver = new DisposableObserver<DataObject>() {@Overridepublic void onNext(@NonNull DataObject object) {Log.d(TAG, "#####开始#####");Log.d(TAG + "数据", String.valueOf(object.A));Log.d(TAG + "数据", String.valueOf(object.B));Log.d(TAG, "#####结束#####");}@Overridepublic void onComplete() {}@Overridepublic void onError(Throwable e) {Log.e(TAG, e.toString(), e);}};mCompositeDisposable.add(Observable.zip(getObservableA(null), getObservableB(null),new BiFunction<String, String, DataObject>() {@Overridepublic DataObject apply(String a, String b)throws Exception {DataObject object = new DataObject();object.A = a;object.B = b;return object;}}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribeWith(disposableObserver));}@Overrideprotected void onDestroy() {super.onDestroy();// 如果退出程序,就清除后台任务mCompositeDisposable.clear();}private Observable<String> getObservableA(@NonNullfinal TempObject tempObject) {return Observable.fromCallable(new Callable<String>() {@Overridepublic String call() throws Exception {try {Thread.sleep(5000); // 假设此处是耗时操作} catch (Exception e) {e.printStackTrace();}return "A";}});}private Observable<String> getObservableB(@NonNullfinal TempObject tempObject) {return Observable.fromCallable(new Callable<String>() {@Overridepublic String call() throws Exception {try {Thread.sleep(5000); // 假设此处是耗时操作} catch (Exception e) {e.printStackTrace();}return "B";}});}private class DataObject {public String A = null;public String B = null;}/*** 这是一个废弃无用的数据结构,用以演示如何在请求之间传递参数*/private class TempObject {public String temp;}
}



代码运行输出:

05-12 17:36:53.614 30041-30041/zhangphil.app D/MainActivity: #####开始#####
05-12 17:36:53.615 30041-30041/zhangphil.app D/MainActivity数据: A
05-12 17:36:53.615 30041-30041/zhangphil.app D/MainActivity数据: B
05-12 17:36:53.616 30041-30041/zhangphil.app D/MainActivity: #####结束#####

http://www.jmfq.cn/news/5086369.html

相关文章:

  • 如何做让公众都知道的网站/如何做好网络营销
  • 投诉网站怎么做/软文广告经典案例分析
  • 做网站第一次见客户/百度非企渠道开户
  • 手把手教你做网站视频/指数函数图像及性质
  • wordpress整站密码访问/谷歌商店下载
  • 网站的折线图怎么做/优化大师下载电脑版
  • 哪个网站可以做立体字的模板/seo推广外包
  • wordpress的前端怎么写/如何优化关键词排名到首页
  • 子网站怎么做/营销说白了就是干什么的
  • 网站首页滚动图片用dw怎么做/百度推广开户费用多少
  • 外包一个企业网站多少钱/武汉seo搜索引擎优化
  • 如何备份wordpress网站/互动营销案例
  • 兰州网站制作培训班/宁波网站优化公司价格
  • 百度做公司网站需要多少钱/学网络营销有用吗
  • 济宁市兖州区城市建设局网站/网络营销网站有哪些
  • 西安市招聘网最新招聘信息/网络推广优化招聘
  • 郑州网站开发公/百度网首页登录入口
  • 长沙口碑好网站建设/游戏推广文案
  • 微信微网站是什么格式的/软文推广案例
  • 山东卓商网站建设公司/网站内容优化怎么去优化呢
  • 政府网站集约化建设建议/相似图片在线查找
  • 怎么做网站赚钱吗/什么平台打广告比较好免费的
  • 深圳网站如何制作/百度搜索推广的定义
  • 阿里巴巴怎么做公司网站/官网建站多少钱
  • 网站建设 沈阳/搜索引擎营销与seo优化
  • 大型网站开发项目合同/竞价外包代运营公司
  • 广州个性化网站建设/谷歌搜索网页版入口
  • 独立网站需要怎么做/在线培训系统app
  • 招聘做微信公众号网站维护/seo查询5118
  • 霍山做网站/企业邮箱