Android网络请求

Retrofit与RxJava结合使用

学习到了一个新名词:链式操作 一种编程模式 1、retrofit public interface GitHubService { @GET("users/{user}/repos") Call<list> listRepos(@Path("user") String user); } public interface PhoneService { @GET("/apistore/mobilenumber/mobilenumber") Call getResult(@Header("apikey") String apikey, @Query("phone") String phone); } 使用: //1.创建Retrofit对象 Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create())//解析方法 .baseUrl(BASE_URL)//主机地址 .build();

//2.创建访问API的请求
PhoneService service = retrofit.create(PhoneService.class);
Call<phoneresult> call = service.getResult(API_KEY, phoneView.getText().toString());

//3.发送请求
call.enqueue(new Callback<phoneresult>() {
    @Override
    public void onResponse(Call<phoneresult> call, Response<phoneresult> response) {
        //4.处理结果
        if (response.isSuccess()){
            PhoneResult result = response.body();
            if (result != null){
                PhoneResult.RetDataEntity entity = result.getRetData();
            }
        }
    }
    @Override
    public void onFailure(Call<phoneresult> call, Throwable t) {
    }
});
复制代码

2、retrofit+RXJava //声明接口 @POST("/login") Observable login(); //实现请求 Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .baseUrl(BASE_URL) .build(); retrofit.create(UserService.class).login() .subscribeOn(Schedulers.io()) .subscribeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber() { //可以在这里自定义返回数据的类继承于Subscriber,统一处理返回的数据 @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(Basebean basebean) { } });

转载于:https://juejin.im/post/5a30f94c5188251c11409ded

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值