首先把volley.jar导入到项目中,jar包地址:volley的jar包
讲道理这个也是看得慕课网视频,但是讲的我都快睡着了,所以不想写什么步骤了,直接上代码:
MyApp.java
public class MyApp extends Application {
public static RequestQueue queues;
@Override
public void onCreate() {
super.onCreate();
queues = Volley.newRequestQueue(getApplicationContext());
}
public static RequestQueue getHttpQueues() {
return queues;
}
}
VolleyRequest.java
public class VolleyRequest {
public static StringRequest stringRequest;
public static Context context;
public static void RequestGet(Context mContext,String url,String tag,VolleyInterface vif){
MyApp.getHttpQueues().cancelAll(tag);
stringRequest = new StringRequest(Request.Method.GET,url,vif.loadingListener(),vif.errorListener());
stringRequest.setTag(tag);
MyApp.getHttpQueues().add(stringRequest);
MyApp.getHttpQueues().start();
}
public static void RequestPost(Context mContext, String url, String tag, final Map<String,String> params, VolleyInterface vif){
MyApp.getHttpQueues().cancelAll(tag);
stringRequest = new StringRequest(url,vif.loadingListener(),vif.errorListener()){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return params;
}
};
stringRequest.setTag(tag);
MyApp.getHttpQueues().add(stringRequest);
MyApp.getHttpQueues().start();
}
}
VolleyInterface.java
public abstract class VolleyInterface {
public Context mContext;
public static Response.Listener<String> mListener;
public static Response.ErrorListener mErrorListener;
public VolleyInterface(Context context, Response.Listener<String> listener, Response.ErrorListener errorListener){
this.mContext = context;
this.mListener = listener;
this.mErrorListener = errorListener;
}
public abstract void onMySuccess(String result);
public abstract void onMyError(VolleyError volleyError);
public Response.Listener<String> loadingListener(){
mListener = new Response.Listener<String>() {
@Override
public void onResponse(String s) {
onMySuccess(s);
}
};
return mListener;
}
public Response.ErrorListener errorListener(){
mErrorListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
onMyError(volleyError);
}
};
return mErrorListener;
}
}
主页面MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
volley_Get();
volley_Post();
volley_Kuangjia_Get();
volley_Kuangjia_Post();
}
private void volley_Kuangjia_Post() {
}
private void volley_Kuangjia_Get() {
String url = "http://xxxxxxxx.cn/get.php";
VolleyRequest.RequestGet(this, url, "abdGet", new VolleyInterface(this, VolleyInterface.mListener, VolleyInterface.mErrorListener) {
@Override
public void onMySuccess(String result) {
Log.e("MainActivity", "onResponse:" + result);
}
@Override
public void onMyError(VolleyError volleyError) {
}
});
}
private void volley_Post() {
String url = "http://api.xxxxxxxx.cn/post.php";
// StringRequest request = new StringRequest(Request.Method.POST,url, new Response.Listener<String>() {
// @Override
// public void onResponse(String s) {
// Log.e("MainActivity","volley_Post.onResponse:"+s);
// }
// }, new Response.ErrorListener() {
// @Override
// public void onErrorResponse(VolleyError volleyError) {
//
// }
// }){
// @Override
// protected Map<String, String> getParams() throws AuthFailureError {
// Map<String,String> hashMap = new HashMap<>();
// hashMap.put("a","a");
// return hashMap;
// }
// };
// request.setTag("abcPost");
// MyApp.getHttpQueues().add(request);
//++++++++++++++++++++++++++++++++++++++++++++++++++
Map<String, String> hashMap = new HashMap<>();
hashMap.put("a", "a");
JSONObject json = new JSONObject(hashMap);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, json, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
Log.e("MainActivity", "volley_Post.onResponse:" + jsonObject);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
request.setTag("abcPost");
MyApp.getHttpQueues().add(request);
}
private void volley_Get() {
String url = "http://api.xxxxxxxx.cn/get.php";
// StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
// @Override
// public void onResponse(String s) {
// Log.e("MainActivity","onResponse:"+s);
// }
// }, new Response.ErrorListener() {
// @Override
// public void onErrorResponse(VolleyError volleyError) {
//
// }
// });
// request.setTag("abcGet");
// MyApp.getHttpQueues().add(request);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
request.setTag("abcGet");
MyApp.getHttpQueues().add(request);
}
@Override
protected void onStop() {
super.onStop();
MyApp.getHttpQueues().cancelAll("abcGet");
}
}
困得要死,凑合看吧。
感谢讲师讲解,传送门:Android-Volley详解