Volley实战用法

单例类。

public class VolleySingleton {
    private static VolleySingleton mInstance;
    private RequestQueue mRequestQueue;

    private VolleySingleton() {
        mRequestQueue = getRequestQueue();
    }

    public static synchronized VolleySingleton getInstance() {
        if (mInstance == null) {
            mInstance = new VolleySingleton();
        }
        return mInstance;
    }

    public RequestQueue getRequestQueue() {
        if (mRequestQueue == null) {
            mRequestQueue = Volley.newRequestQueue(UpApplication.getInstance().getApplicationContext());
        }
        return mRequestQueue;
    }

    public <T> void addToRequestQueue(Request<T> req) {
        getRequestQueue().add(req);
    }

添加请求。

public class UpRequests {

    public static void getItemDetails(String path, String sort,int pageNum, final ItemCallback callback) {
        //TODO: find a way to integrate pageNum parameter into the query parameters of the request
        // whenever pagination is supported
        Uri.Builder uriBuilder = new Uri.Builder()
                .scheme("http").authority("materialup.com")
                .appendPath("posts")
                .appendPath("c")
                .appendPath(path)
                .appendQueryParameter("page",String.valueOf(pageNum));

        if (!StringUtils.isEmpty(sort)) {
            uriBuilder.appendQueryParameter("sort", sort);

            Log.e("url---->",uriBuilder.toString());

        }
        StringRequest stringRequest = new StringRequest(com.android.volley.Request.Method.GET, uriBuilder.toString(),
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        ItemResponse itemsResponse = ParseUtils.parseItems(response);
                        callback.onItemSuccess(itemsResponse);
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                callback.onItemError(new ItemException(UpApplication.getInstance().getString(R.string.error_connection)));
            }
        });

        VolleySingleton.getInstance().addToRequestQueue(stringRequest);

    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值