多个请求
Opened this issue · 7 comments
假如一个界面有多个请求怎么办
您好,一个页面是可以请求多个接口的,写法跟例子里请求天气的一样,copy就可以。
建议把所有的请求接口都写在HttpApi里(您想分功能模块也可以,比如用户模块新建UserApi、消息模块MessageApi等等),然后在订阅方法的类里写您要请求的方法;最后在activity或fragment等页面里面去实现。
如果您想请求多个接口,实现多个接口数据共同更新UI的话可以了解一下zip操作符,具体示例ZipOperatorActivity这个类 里面。
说的不明白的话可以+Q:673292497,给你截代码说明
哪个是订阅方法的类?比如在一个个人中心界面中请求查询app版本信息和用户信息,两个不同的类呢?
在netsubscribe包下的那个类
RetrofitFactory中的changeBaseUrl(baseUrl)如何使用
RetrofitFactory.getInstance().changeBaseUrl(xxxxx);切换,通常就是测试、开发 、正式环境
Observable observable = RetrofitFactory.getInstance().changeBaseUrl(URLConstant.TXAPI_URL).getHttpApi()中.getHttpApi()报错“cannot resolve method 'getHttpApi()''’
这样,您先用你以前的网络请求。然后再理解一遍java基础,这个我说的没有头了,您可以把代码给您同事或者同学看一下,或者加我qq我给你解释一下。
RetrofitFactory.getInstance()这个是获取RetrofitFactory,changeBaseUrl(URLConstant.TXAPI_URL)是retrofitFactory里的一个方法,变换URL,这个方法返回的事void,不是RetrofitFactory,所以您不能在它后面 .getHttpApi();跟您只能:
RetrofitFactory.getInstance().changeBaseUrl(URLConstant.TXAPI_URL);
RetrofitFactory.getInstance().getHttpApi()
这样写。
RetrofitFactory.getInstance().changeBaseUrl(URLConstant.TXAPI_URL);最好写在一个控制切换环境的Activity的测试类里。