volley session 保持会话

在框架中,一般建立volly的管理类,进行request的请求。

package com.qqs.fha.util;

import android.app.ActivityManager;
import android.content.Context;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.HttpClientStack;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import org.apache.http.impl.client.AbstractHttpClient;
import org.apache.http.impl.client.DefaultHttpClient;

public class RequestManager {
private static RequestQueue mRequestQueue;
private static ImageLoader mImageLoader;
    private static AbstractHttpClient mHttpClient;

private RequestManager() {
// no instances
}
public static void init(Context context) {
        mHttpClient = new DefaultHttpClient();
        //传入HttpClientStack,才能保证cookies与服务器交互,默认volley无cookies支持。
        mRequestQueue=Volley.newRequestQueue(context, new HttpClientStack(mHttpClient));
}

public static RequestQueue getRequestQueue() {
if (mRequestQueue != null) {
return mRequestQueue;
} else {
throw new IllegalStateException("RequestQueue not initialized");
}
}

public static void addRequest(Request<?> request, Object tag) {
        if (tag != null) {
            request.setTag(tag);
        }
        mRequestQueue.add(request);
    }
	</span>
public static void cancelAll(Object tag) {
        mRequestQueue.cancelAll(tag);
    }

}
通过自定义StringRequest类,进行后台用户登录:

StringRequest s4 = new StringRequest("http://192.168.0.141:8668/jf/platform/login/val",
                new ApiParams()
                        .with("username", "admins")
                        .with("password", "000000"),
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
			//获取后台返回结果User对象
                        User user = (User) FastJsonTools.getJson(response, User.class);
                        Log.d("TAG", response);
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
            }
        });
     RequestManager.getRequestQueue().add(s4,this);
之后访问权限路径,就没问题了 :),之前查到的资料,一般解决方案是获取表头的cookies,继承Request,并封装cookies提交到后台,也算异曲同工。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值