Volley 的用法 总结

Volley 的用法 总结
1.Get 和 POST 用法.
package com.zhong.volleydemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;

import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Volley_Get();
        my_Volley_Get();
       // Volley_Get_Object();
        //Volley_Post();
       // Volley_Post_Object();
    }

    private void my_Volley_Get() {
        String url="http://apis.juhe.cn/mobile/get?phone=1850100048&key=a3b8777e1a53d8637f5cac73c469a515";
        VolleyRequest.RequestGet(this,url,"abcGet", new VolleyInterface(this,
                VolleyInterface.mListener,VolleyInterface.mErrorListener){

                    @Override
                    public void onMySuccess(String result) {
                        Toast.makeText(MainActivity.this,result,Toast.LENGTH_LONG).show();
                    }

                    @Override
                    public void onMyError(VolleyError error) {
                        Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show();
                    }
                });

    }

    @Override
    protected void onStop() {
        super.onStop();
        MyApplication.getHttpRequest().cancelAll("abcGet");
    }

    private void Volley_Post_Object() {
        String url ="http://apis.juhe.cn/mobile/get?";
        HashMap<String,String> hashMap = new HashMap<>();
        hashMap.put("phone","18500004500");
        hashMap.put("key","a3b8777e1a53d8637f5cac73c469a515");
        JSONObject request = new JSONObject(hashMap);
        JsonObjectRequest objectRequest = new JsonObjectRequest(Request.Method.POST, url, request
                , new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Toast.makeText(MainActivity.this,response.toString(),Toast.LENGTH_LONG).show();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show();
            }
        });
        objectRequest.setTag("Object_Post");
        MyApplication.getHttpRequest().add(objectRequest);
    }

    private void Volley_Post() {
        String url ="http://apis.juhe.cn/mobile/get?";
        StringRequest request = new StringRequest(Request.Method.POST, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Toast.makeText(MainActivity.this,response ,Toast.LENGTH_LONG).show();
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(MainActivity.this,error.toString() ,Toast.LENGTH_LONG).show();

            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> hashMap = new HashMap<>();
                hashMap.put("phone","18501000059");
                hashMap.put("key","a3b8777e1a53d8637f5cac73c469a515");
                return hashMap;
            }
        };
        request.setTag("abcPost");
        MyApplication.getHttpRequest().add(request);
    }

    private void Volley_Get_Object() {
        String url="http://apis.juhe.cn/mobile/get?phone=18501655748&key=a3b8777e1a53d8637f5cac73c469a515";
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        Toast.makeText(MainActivity.this,response.toString(),Toast.LENGTH_LONG).show();
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(MainActivity.this,error.toString() ,Toast.LENGTH_LONG).show();
            }
        });
        request.setTag("abcGet");
        MyApplication.getHttpRequest().add(request);
    }

    private void Volley_Get() {
        String url="http://apis.juhe.cn/mobile/get?phone=18501655748&key=a3b8777e1a53d8637f5cac73c469a515";
        StringRequest request = new StringRequest(Request.Method.GET, url,
                new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Toast.makeText(MainActivity.this,response ,Toast.LENGTH_LONG).show();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(MainActivity.this,error.toString() ,Toast.LENGTH_LONG).show();
            }
        });
        request.setTag("abcGet");
        MyApplication.getHttpRequest().add(request);
    }

}

2.二次封装

package com.zhong.volleydemo;

import android.content.Context;

import com.android.volley.Response;
import com.android.volley.VolleyError;

/**
 * Created by vctor on 2016/1/16.
 */
public abstract class VolleyInterface  {
    public Context mContext;
    public static Response.Listener<String> mListener;
    public static Response.ErrorListener mErrorListener;

    public abstract void onMySuccess(String result);
    public abstract void onMyError(VolleyError error);

    public VolleyInterface(Context context, Response.Listener<String> listener,
                           Response.ErrorListener errorListener){
        this.mContext = context;
        this.mListener = listener;
        this.mErrorListener = errorListener;
    }

    public Response.Listener<String> loadingListener(){
        mListener = new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                onMySuccess(response);
            }
        };
        return mListener;
    }

    public Response.ErrorListener  errorListener(){
        mErrorListener = new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                onMyError(error);
            }
        };
        return mErrorListener;
    }
}
package com.zhong.volleydemo;

import android.content.Context;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.toolbox.StringRequest;

import java.util.Map;

/**
 * Created by Vctor on 2016/1/16.
 */
public class VolleyRequest {
    public static StringRequest stringRequest;
    public static Context context;

    public static void RequestGet(Context mContext,String url,String tag,
                                  VolleyInterface vif){
        MyApplication.getHttpRequest().cancelAll(tag);
        stringRequest = new StringRequest(Request.Method.GET,url,vif.loadingListener(),
                vif.errorListener());
        stringRequest.setTag(tag);
        MyApplication.getHttpRequest().add(stringRequest);
        MyApplication.getHttpRequest().start();
    }
    public static void RequestPost(Context mContext, String url, String tag,
                                   final Map<String,String> params, VolleyInterface vif){
        MyApplication.getHttpRequest().cancelAll(tag);
        stringRequest = new StringRequest(url,vif.loadingListener(),
                vif.errorListener()){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {

                return params;
            }
        };
        stringRequest.setTag(tag);
        MyApplication.getHttpRequest().add(stringRequest);
        MyApplication.getHttpRequest().start();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值