app/src/main/java/me/zhanghai/android/douya/network/api/ApiRequest.java
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
* Copyright (c) 2015 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
* All Rights Reserved.
*/
package me.zhanghai.android.douya.network.api;
import com.android.volley.AuthFailureError;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.NetworkResponse;
import com.android.volley.ParseError;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.Authenticator;
import com.android.volley.toolbox.HttpHeaderParser;
import com.google.gson.Gson;
import com.google.gson.JsonParseException;
import com.google.gson.reflect.TypeToken;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Type;
import me.zhanghai.android.douya.network.Request;
import me.zhanghai.android.douya.network.Volley;
import me.zhanghai.android.douya.util.GsonHelper;
import me.zhanghai.android.douya.util.LogUtils;
public class ApiRequest<T> extends Request<T> {
private Type mType;
private Authenticator mAuthenticator;
private String mAuthToken;
public ApiRequest(int method, String url, Type type) {
super(method, url);
mType = type;
mAuthenticator = Volley.getInstance().getAuthenticator();
setRetryPolicy(new RetryPolicy(ApiContract.Request.Base.INITIAL_TIMEOUT_MS,
ApiContract.Request.Base.MAX_NUM_RETRIES,
ApiContract.Request.Base.BACKOFF_MULTIPLIER));
}
public ApiRequest(int method, String url, TypeToken<T> typeToken) {
this(method, url, typeToken.getType());
}
@Override
public void onPreparePerformRequest() throws AuthFailureError {
setAuthorization();
}
@Override
protected Response<T> parseNetworkResponse(NetworkResponse response) {
Gson gson = GsonHelper.get();
String responseString;
try {
responseString = new String(response.data,
HttpHeaderParser.parseCharset(response.headers));
后面还有 49 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
