美文网首页
Retrofit简单使用请求百度地址

Retrofit简单使用请求百度地址

作者: vi_wong | 来源:发表于2017-06-15 17:21 被阅读0次

    本文地址

    注入

    在build.gradle(module:app)注入依赖

    compile'com.squareup.retrofit2:retrofit:2.3.0'

    入门

    //清单文件,权限

    <uses-permission android:name="android.permission.INTERNET" >

    //自己编写一个网路请求接口

    public interface IApi {

    @GET("https://www.baidu.com/")

    Call<ResponseBody> get();

    }

    @Url <url请求地址>

    @GET()

    Call<ResponseBody> get(@Url String url);

    上面两种写法等价,用@Url 标签更好,拓展性强

    //最简单的Retrofit对象

    Retrofit retrofit =newRetrofit.Builder().baseUrl("https://www.baidu.com/").build();

    //初始化IApi

    IApi api = retrofit.create(IApi.class);

    //调用请求get方法

    Call call = api.get("https://www.baidu.com/");

    call 是回调类,用两种回调方式:同步,异步

    异步

    call.enqueue(newCallback() {

    @Override

    public voidonResponse(Call call, Response response) {

    Log.e("测试","---"+response.body().source());

    }

    @Override

    public voidonFailure(Call call, Throwable t) {

    Log.e("测试","---"+t.toString());

    }

    });

    同步

    call.execute();

    一般在使用时,都是使用异步回调比较多吧

    事务中断 :现在大部分网络请求框架都支持事务中断

    call.cancel();

    总结

    就是想写一篇自己能看得懂的文章,毕竟不是每个人都能弄清楚或者直接看懂源码

    总结以下几点

    1.Retrofit对象的创建是用到单例模式,也就是说内存里面有且仅存在一个Retrofit对象,所以Retrofit创建时候,你可以把它放在Application类里面调用就行了

    2.Retrofit对象的baseUrl(url)方法是一定要写的,不写就报java.lang.IllegalStateException: Base URL required.异常

    3.暂时想那么多

    相关文章

      网友评论

          本文标题:Retrofit简单使用请求百度地址

          本文链接:https://www.haomeiwen.com/subject/oycuqxtx.html