Android Volley使用方法

首先把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详解

猜你喜欢

转载自blog.csdn.net/try_zp_catch/article/details/81564171