Retrofit2学习之二:Retrofit 转换器
Converter简介
Retrofit转换器可以实现响应对象 ResponseBody 至 JavaBean对象的转换。
Wiki:https://github.com/square/retrofit/wiki/Converters
Retrofit2 Converters
Gson - com.squareup.retrofit2:converter-gson
Jackson - com.squareup.retrofit2:converter-jackson
Moshi - com.squareup.retrofit2:converter-moshi
Protobuf - com.squareup.retrofit2:converter-protobuf
Wire - com.squareup.retrofit2:converter-wire
Simple Framework - com.squareup.retrofit2:converter-simpleframework
Scalars - com.squareup.retrofit2:converter-scalars
- LoganSquare - com.github.aurae.retrofit2:converter-logansquare
- FastJson - org.ligboy.retrofit2:converter-fastjson or org.ligboy.retrofit2:converter-fastjson-android
Converter使用
以Gson转换器为例,实现JSON响应体和JavaBean对象转换。
配置gradle
在app模块的build.gradle配置
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
创建业务请求接口
public interface Api {
@GET("user/info?id=1")
Call<User> getUserInfo();
}
创建一个Retrofit的实例,并配置转换器,然后利用Retrofit实例创建接口对象和调用接口方法
public void getRequestConverter(View view) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(SERVER_ADDRESS)
.addConverterFactory(GsonConverterFactory.create()) //配置Gson转换器,调用Gson库解析json返回值
.build();
Api api = retrofit.create(Api.class);
api.getUserInfo().enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
//在UI主线程运行
if (response.isSuccessful()) {
Log.i(TAG, "返回成功");
User user = response.body();
if (user != null) {
Toast.makeText(MainActivity.this, user.getUsername(), Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Log.i(TAG, "请求失败: " + t.getLocalizedMessage());
}
});
}
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/25/retrofit2-learning-2-retrofit-converter/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
Retrofit2学习之二:Retrofit 转换器
Converter简介
Retrofit转换器可以实现响应对象 ResponseBody 至 JavaBean对象的转换。
Wiki:https://github.com/square/retrofit/wiki/Converters
Retrofit……
文章目录
关闭
共有 0 条评论