android - Android Volley Execution 抛出异常:无法解析的日期
问题描述
自从最近几天以来,我在logcart中遇到了一个异常,这个异常是由 volley lib 生成的,但最有趣的是它不会损害执行。
任何人,请帮助为什么会发生这种情况。
我正在使用带有 android Target SDK 版本 27 的 volley lib 1.1。
minSdkVersion 16
targetSdkVersion 27
/* Volley dependency */
compile 'com.android.volley:volley:1.1.0'
我得到的这些日志
E/Volley: [538] HttpHeaderParser.parseDateAsEpoch: Unable to parse dateStr: Thu, 01 Jan 1970 05:30:00 IST, falling back to 0
java.text.ParseException: Unparseable date: "Thu, 01 Jan 1970 05:30:00 IST"
at java.text.DateFormat.parse(DateFormat.java:362)
at com.android.volley.toolbox.HttpHeaderParser.parseDateAsEpoch(HttpHeaderParser.java:142)
at com.android.volley.toolbox.HttpHeaderParser.parseCacheHeaders(HttpHeaderParser.java:100)
at com.android.volley.toolbox.JsonObjectRequest.parseNetworkResponse(JsonObjectRequest.java:69)
at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:132)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:87)
排球执行代码:
public void executeRequest(String url) {
try {
JsonObjectRequest jsonObjReq = new JsonObjectRequest(method, url, paramObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
try {
Log.d(Constants.DEBUG_TAG, "** Result ***: " + jsonObject);
if (jsonObject != null) {
listener.onSuccess(jsonObject, someFlag);
} else {
// If response is NULL or some error in format then show server error
listener.onServerError(context.getResources().getString(R.string.oops_error));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError e) {
e.printStackTrace();
listener.onServerError(context.getResources().getString(R.string.oops_error));
}
}) {
/**
* Passing some request headers
* */
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return headersParam;
}
};
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(90000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
// Adding request to request queue
NSApplication.getInstance().addToRequestQueue(jsonObjReq);
} catch (Exception e) {
e.printStackTrace();
listener.onServerError(context.getString(R.string.oops_error));
}
}
调用 Volley 方法
HashMap<String, String> headerMap = new HashMap<>();
headerMap.put("Content-Type", "application/json");
VolleyConnection connection = new VolleyConnection(this, this, LOAD_ADDRESS, headerMap);
connection.executeRequest(WebApi.GET_ADDRESS + preference.getUserId());
解决方案
推荐阅读
- c# - C# Task.Run() 停止工作并永远等待
- javascript - 当 setState 不立即运行时验证表单
- r - 使用 Polar 方法模拟随机变量
- java - 从从父类继承 Logger 的抽象子类重定向 logger 消息
- javascript - 在没有 setTimeout 的情况下在 componentDidMount() 中操作 DOM
- pyspark - 由于 orderBy,此处的 where 子句不起作用,是否有解决方法?
- python-3.x - 如何使用 dash-plotly 绘制一个设定范围(不变)为 1 小时的 ohlc 图?
- java - 如何使用cardLayout将一个面板分成2个面板?
- spring-webflux - Spring webclient 是非阻塞客户端吗?
- apache - Apache VirtualHost 配置