Retrofit简单使用请求百度地址

本文地址

注入

在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.暂时想那么多

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简介 刚接触Retrofit的时候,就写了一篇简单的使用介绍:Retrofit 2.0基本使用方法,算是对Retr...
    Whyn阅读 8,133评论 4 24
  • 安卓开发领域中,很多重要的问题都有很好的开源解决方案,例如Square公司提供网络请求 OkHttp , Retr...
    aaron688阅读 5,927评论 1 20
  • 前段时间看了RxJava,发现跟他一起用的Retrofit,今天就把认识的他们俩个来总结梳理一下 一、什么是RxJ...
    毹毹阅读 3,911评论 0 5
  • 相信很多人都在使用Retrofit,我也在用,但是对它的理解都不是太深刻,现在Retrofit2已经出来一段时间,...
    WHOKNOWME阅读 12,203评论 6 19
  • 来自 峰瑞资本创始合伙人李丰的演讲: 首先是时间节点上,为什么消费升级会在当今的中国成为一个热门话题,让投资人和公...
    景景相依阅读 1,351评论 0 0

友情链接更多精彩内容