0

我正在创建一个简单的应用程序,它将使用改造库处理请求。

首先我初始化改造

这是我的 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

4

0 回答 0