我正在创建一个简单的应用程序,它将使用改造库处理请求。
首先我初始化改造
这是我的 MyApplication.java 类
@Override
public void onCreate ()
{
super.onCreate();
Hawk.init(getApplicationContext()).build();
sApp = this;
mAPIService = RetrofitServiceFactory.createService(APIService.class, this);
}
我在给这堂课打电话
RetrofitServiceFactory.java
public static <S> S createService (Class<S> serviceClass, Context context)
{
final String authHeader;
PrefManager prefManager = new PrefManager(context);
if (prefManager.getAppUserToken() != null)
{
authHeader = "Bearer " + prefManager.getAppUserToken();
}
else
{
authHeader = "";
}
httpClient.addInterceptor(new ResponseInterceptor());
httpClient.addInterceptor(new ChuckInterceptor(context));
//add authorization header
httpClient.addInterceptor(new Interceptor()
{
@Override
public Response intercept (Chain chain) throws IOException
{
Request lOriginalRequest = chain.request();
Request lRequest = lOriginalRequest.newBuilder().header("Authorization", authHeader)
.method(lOriginalRequest.method(), lOriginalRequest.body()).build();
return chain.proceed(lRequest);
}
});
OkHttpClient lClient = httpClient.build();
sRetrofit = sBuilder.client(lClient).build();
return sRetrofit.create(serviceClass);
}
但是为什么我在登录后从未从 sharedpreferences 中获取令牌。至少我需要重新打开应用程序?感谢和抱歉我的英语 xD