简介
在Android应用中,如果不是单机的话,应该都有请求后端接口API的情况,本篇文章就介绍下Retrofit在Android中如何进行使用的
相关代码
我们以一个简单的登录接口为例
完整代码GitHub上有:https://github.com/lw1243925457/self_growth_android
仅做代码参考,目前数据监控上传是有了,但界面这些还很粗糙,没有完善
相关的依赖引入
首先我们在工程中引入相关的依赖:
implementation 'com.squareup.okhttp3:okhttp:4.5.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
相关的手机权限开启
需要在文件中开启网络权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.selfgrowth">
<uses-permission android:name="android.permission.INTERNET"/>
<application
......
</application>
</manifest>
配置Retrofit Client
Client的相关配置:单例,配置基于OKHTTP,Gson序列化;OKHTTP中添加了请求拦截器
@Data
public class RetrofitClient {
private static final RetrofitClient instance = new RetrofitClient();
private final Retrofit retrofit = new Retrofit.Builder()
.baseUrl(HttpConfig.ADDRESS) //基础url,其他部分在GetRequestInterface里
.client(httpClient())
.addConverterFactory(GsonConverterFactory.create()) //Gson数据转换器
.build();
public static RetrofitClient getInstance() {
return instance;
}
private OkHttpClient httpClient() {
return new OkHttpClient.Builder()
.addInterceptor(new AccessTokenInterceptor())
.connectTimeout(20, TimeUnit.SECONDS)
.build();
}
}
配置通用的请求拦截器
比如在请求中,带上Authorization等
public class AccessTokenInterceptor implements Interceptor {
@NonNull
@Override
public Response intercept(@NonNull Chain chain) throws IOException {
if (UserCache.getInstance().ge

本文详细介绍了在Android应用中如何使用Retrofit进行网络请求。从依赖引入、权限配置到Retrofit Client设置、请求拦截器的实现,再到接口定义、请求编写及UI交互的示例,提供了完整的代码流程。适合初学者了解Retrofit在实际开发中的应用。
最低0.47元/天 解锁文章
1224

被折叠的 条评论
为什么被折叠?



