android-VolleyPlus:NetworkDispatcher.run:未处理的异常java.lang.NullPointerException

android-VolleyPlus:NetworkDispatcher.run:未处理的异常java.lang.NullPointerException,第1张

概述我正在尝试运行以下代码:Map<String,Object>requestMap=newHashMap<>();LongunixTime=System.currentTimeMillis()/LONG_1000;requestMap.put(KEY_TIME,unixTime);JWTSignersigner=newJWTSigner(SECRET);Stringtoken=signer.sign(requestMap);Strin

我正在尝试运行以下代码:

Map<String, Object> requestMap = new HashMap<>();Long unixTime = System.currentTimeMillis() / LONG_1000;requestMap.put(KEY_TIME, unixTime);JWTSigner signer = new JWTSigner(SECRET);String token = signer.sign(requestMap);String url = BASE_URI + "/Data/CategorIEs?d=" + token;StringRequest stringRequest =  new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {    @OverrIDe    public voID onResponse(String response) {        Log.d(TAG, response);    }}, new Response.ErrorListener() {    @OverrIDe    public voID one rrorResponse(VolleyError error) {        Log.e(TAG, error.getLocalizedMessage());    }});RequestQueue mRequestQueue = Volley.newRequestQueue(getActivity());mRequestQueue.add(stringRequest);

但是我收到以下错误:

[6056] Networkdispatcher.run: Unhandled exception java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.Map.get(java.lang.Object)' on a null object referencejava.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.Map.get(java.lang.Object)' on a null object reference    at com.androID.volley.toolBox.httpheaderParser.parseCharset(httpheaderParser.java:243)    at com.androID.volley.toolBox.httpheaderParser.parseCharset(httpheaderParser.java:262)    at com.androID.volley.request.StringRequest.parseNetworkResponse(StringRequest.java:70)    at com.androID.volley.Networkdispatcher.run(Networkdispatcher.java:133)java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.Map.get(java.lang.Object)' on a null object reference

我不知道问题出在哪里.有人可以帮忙吗?

提前致谢.

解决方法:

您需要在StringRequest中重写parseNetworkResponse方法,并修复一个不会出现空标题映射的漏洞:

StringRequest stringRequest =  new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {    @OverrIDe    public voID onResponse(String response) {        Log.d(TAG, response);    }}, new Response.ErrorListener() {    @OverrIDe    public voID one rrorResponse(VolleyError error) {        Log.e(TAG, error.getLocalizedMessage());    }}) {    @OverrIDeprotected Response<String> parseNetworkResponse(NetworkResponse response) {        if (response.headers == null)        {            // cant just set a new empty map because the member is final.            response = new NetworkResponse(                               response.statusCode,                               response.data,                               Collections.<String, String>emptyMap(), // this is the important line, set an empty but non-null map.                               response.notModifIEd,                               response.networkTimeMs);        }        return super.parseNetworkResponse(response);    }};

希望这可以帮助.

总结

以上是内存溢出为你收集整理的android-VolleyPlus:NetworkDispatcher.run:未处理的异常java.lang.NullPointerException全部内容,希望文章能够帮你解决android-VolleyPlus:NetworkDispatcher.run:未处理的异常java.lang.NullPointerException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1094940.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存