Retrofit三步理解之中的一个 ------------------ Retrofit的简单使用总结
@GET("/")
Call<String> getData();
.client(new OkHttpClient())
.baseUrl("http://www.baidu.com/")
.addConverterFactory(new Converter.Factory() {
@Override
public Converter<ResponseBody, ?
> fromResponseBody(Type type, Annotation[] annotations) {
return new Converter<ResponseBody, String>() {
@Override
public String convert(ResponseBody value) throws IOException {
return value.string();
}
};
}
})
.build();
final ApiService service = retrofit.create(ApiService.class);
retrofit.Response<String> response = call.execute();
String str = response.body();
Log.e(TAG, str);
} catch (IOException e) {
e.printStackTrace();
}
然后在Response<T>#onResponse和onFailure方法中进行处理结果。
@Override
public void onResponse(Response<String> response, Retrofit retrofit) {
Log.e(TAG, response.body());
Log.e(TAG, Thread.currentThread().getName());
}
@Override
public void onFailure(Throwable t) {
Log.e(TAG, t.getMessage(), t);
Log.e(TAG, Thread.currentThread().getName());
}
});
Call<String> getUser(@Path("username") String username);
Call<String> getUser(@Query("id")long userId);
Call<String> registerUser(@Body String user);
.client(new OkHttpClient())
.baseUrl("http://www.baidu.com/")
.addConverterFactory(new Converter.Factory() {
@Override
public Converter<ResponseBody, String> fromResponseBody(Type type, Annotation[] annotations) {
return new Converter<ResponseBody, String>() {
@Override
public String convert(ResponseBody value) throws IOException {
return value.string();
}
};
}
@Override
public Converter<String, RequestBody> toRequestBody(Type type, Annotation[] annotations) {
return new Converter<String, RequestBody>() {
@Override
public RequestBody convert(String value) throws IOException {
return RequestBody.create(MediaType.parse("application/json;charset=utf-8"), value);
}
};
}
})
.build();
-keep class retrofit.** { *; }
-keepattributes Signature
-keepattributes Exceptions
Get OkHttp 2.1, and use MultipartBuilder.addFormDataPart() which takes the filename as a parameter. |
Retrofit三步理解之中的一个 ------------------ Retrofit的简单使用总结的更多相关文章
- 三步理解--门控循环单元(GRU),TensorFlow实现
1. 什么是GRU 在循环神经⽹络中的梯度计算⽅法中,我们发现,当时间步数较⼤或者时间步较小时,循环神经⽹络的梯度较容易出现衰减或爆炸.虽然裁剪梯度可以应对梯度爆炸,但⽆法解决梯度衰减的问题.通常由于 ...
- Emacs安装配置全攻略之中的一个编译安装简单配置
/*************************************************************************************************** ...
- 【美妙的Python之中的一个】Python简单介绍及环境搭建
美妙的Python之Python简单介绍及安装 简而言之: Python 是能你无限惊喜的语言,与众不同. 1.Python: ...
- SQL Server2005 表分区三步曲(zz)
前言 SQL Server 2005开始支持表分区,这种技术允许所有的表分区都保存在同一台服务器上.每一个表分区都和在某个文件 组(filegroup)中的单个文件关联.同样的一个文件/文件组可以容纳 ...
- Spring Boot Starter自定义实现三步曲
实现自定义的spring boot starter,只需要三步: 1.一个Bean 2.一个自动配置类 3.一个META-INF/spring.factories配置文件 下面用代码演示这三步. 项目 ...
- 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域
一.前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域.因为电子商务是以信息网络 ...
- 分享一个MAC下绕开百度网盘限速下载的方法,三步操作永久生效
相信大家都比较困惑,百度网盘客户端限速后一般只有几十K的下载速度,Windows有百度网盘破解版,但MAC的破解版似乎不存在,要提速的话,一般的做法是开超级会员(27元/月),身为程序员的我们,是不是 ...
- Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务
短网址顾名思义就是使用比较短的网址代替很长的网址.维基百科上面的解释是这样的: 短网址又称网址缩短.缩短网址.URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短小的 URL 以代 ...
- Android 中 OkHttp 三步实现生命周期绑定
简介 OkHttps 是 OkHttp 增强版的超轻量封装包. 和 Retrofit 相比,它更加轻量(只有 59Kb),是 Retrofit (124Kb)的一半,而且更加的开箱即用,API 更加自 ...
随机推荐
- Google和Baidu的站内搜索代码
<!-- SiteSearch Google --> <form method="get" action="http://www.google.com/ ...
- 聊聊jdbc statement的fetchSize
在使用MySQL的JDBC时,如果查询结果集过大,使用一次查询,可能会出现Java.lang.OutOfMemoryError: Java heap space问题,因为DB服务器端一次将查询到的结果 ...
- RxJava【创建】操作符 create just from defer timer interval MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- C# 将 Json 解析成 DateTable
#region 将 Json 解析成 DateTable /// /// 将 Json 解析成 DateTable. /// Json 数据格式如: /// {table:[{column1:1,co ...
- JS里关于事件的常被考察的知识点:事件流、事件广播、原生JS实现事件代理
1.JS里面的事件流 DOM2级事件模型中规定了事件流的三个阶段:捕获阶段.目标阶段.冒泡阶段,低版本IE(IE8及以下版本)不支持捕获阶段 捕获事件流:Netscape提出的事件流,即事件由页面元素 ...
- fasttext使用笔记
http://blog.csdn.net/m0_37306360/article/details/72832606 这里记录使用fastText训练word vector笔记 github地址:htt ...
- ubuntu16.04下部署tomcat9和java8启动一次需要七八分钟
一.环境如下 Ubuntu16.04 +tomcat9+openjdk1.8 二.问题 在tomcat的bin下执行./startup.sh 如下图没有问题 root@bogon:/usr/apac ...
- 解决Android Studio无法下载sdk的问题
因为google被墙了,android sdk无法下载.然后各种百度,都是说让设置代理,给的代理地址一般都是用的下面这个代理服务器: 大连东软信息学院镜像服务器地址: mirrors.neusoft. ...
- leverage准确翻译,译法,英文
这个词的翻译很有问题.很多大词典都只有这么几个译法:影响力,杠杆.作为动词的时候我建议翻译为:借助,凭借,凭仗,依仗,借重某外文原稿(https://www.vmware.com/files/pdf/ ...
- c++10进制转换为任意2-16进制数字
#include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; int m ...