排球误差新请求队列
,我已经使用例如谷歌“https://developer.android.com/training/volley/simple.html#simple”排球误差新请求队列
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
String url ="http://www.google.com";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
message.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
message.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
我得到的下面的错误。
E /排球:[77336] NetworkDispatcher.run:未处理的异常显示java.lang.NullPointerException:尝试从场到读取空对象引用 的java.lang '诠释java.lang.String.offset'。 NullPointerException:尝试从java.lang.String.com处的java.lang.String.compareToIgnoreCase(String.java:560) 上的null对象引用 的字段'int java.lang.String.offset'中读取java.lang.String $ CaseInsensitiveComparator.compare( String.java:77) at java.lang.String $ CaseInsensitiveComparator.compare(String.java:66) at java.util.TreeMap.find(TreeMap.java:277) 在java.util.TreeMap.putInternal(TreeMap.java:240) at java.util.TreeMap.put(TreeMap.java:186) at com.android.volley.NetworkResponse.toHeaderMap(NetworkResponse.java:138) at com.android.volley.NetworkResponse。(NetworkResponse.java:0) at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:169) at com.android.volley.NetworkDispatcher.run(NetworkDispatcher。 Java的:113)
了很多工作,我后,我找到了解决办法,我用的是从GitHub而是采用了凌空库中的应用程序文件的依赖关系“编译‘com.android.volley:1.0.0:凌空’” 。希望有人能解释一下为什么我不能使用Github的库。感谢所有的帮助。
我没有使用包含数据的变量,我试图测试这个简单的请求! –
请从响应为删除子: -
message.setText("Response is: "+ response.substring(0,500));
变更后:
if(response.lemght>500){
message.setText("Response is: "+ response.substring(0,500));
}else{
message.setText("Response is: "+ response);
}
试试这个 在创建请求队列,请通过上下文不是getApplicationContext(): -
RequestQueue queue = Volley.newRequestQueue(this);//if you are in activity, if you are in fragment then **getActivity()**
应用更改后仍然有相同的错误。 –
有时getApplicationContext可能返回null,因此尝试将其更改为this或getActivity() –
在进行网络调用时,您可能会成功,但有时候不会有数据。所以请确保您在访问数据之前进行空检查。
if(response!=null){
message.setText("Response is: "+ response.substring(0,500));
}
你能告诉我哪条线有错误(Logcat指向线)吗? –
其实我不知道你指的是什么意思,这就是我应用这个请求时出现的错误。 –