昨天也写了一个类似这样问题的程序,能运行,但是提示类似这个错误。但是第二天重启电脑再运行就没问题。今天又写了一个另外的程序,写着写着又出现这种情况,这怎么解决啊?
MyApplication.java
package com.example.volleydemo;
import android.app.Application;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;
public class MyApplication extends Application {
public static RequestQueue queue;
@Override
public void onCreate() {
super.onCreate();
queue = Volley.newRequestQueue(getApplicationContext());
}
public static RequestQueue AddQueue(){
return queue;
}
}
MainActivity.java
package com.example.volleydemo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import org.json.JSONObject;
public class MainActivity extends Activity {
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = (TextView) findViewById(R.id.text);
GetData();
}
private void GetData() {
String url = "http://api.map.baidu.com/telematics/v3/weather?location=%E7%BB%A5%E5%BE%B7&output=json&ak=11ffd27d38deda622f51c9d314d46b17";
JsonObjectRequest request = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
textview.setText(jsonObject.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(MainActivity.this,volleyError.toString(),Toast.LENGTH_LONG).show();
}
});
request.setTag("abc");
MyApplication.AddQueue().add(request);
}
}
错误提示:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.volleydemo/com.example.volleydemo.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.android.volley.Request com.android.volley.RequestQueue.add(com.android.volley.Request)' on a null object reference
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.android.volley.Request com.android.volley.RequestQueue.add(com.android.volley.Request)' on a null object reference
at com.example.volleydemo.MainActivity.GetData(MainActivity.java:45)
at com.example.volleydemo.MainActivity.onCreate(MainActivity.java:22)
gradle sync
然后
clean project