亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Volley--使用Volley請求服務器數據

標簽:
Android

private LoginModel loginModel;

private RequestQueue requestQueue;

private StringRequest stringRequest;

// toast 提示

private Toast toast;

// 声明toast

toast = Toast.makeText(LoginActivity.this, "", Toast.LENGTH_SHORT);


// 在类中实例化RequestQueue

requestQueue = Volley.newRequestQueue(LoginActivity.this);

// 建议将RequestQueue 实例化写在你的程序入口 Application 中 

/*

// 在Application中实例化RequestQueue

private static MyApplication myApplication;

 private RequestQueue mRequestQueue;

// **Application中写法** 将实例化写成一个方法

public RequestQueue getRequestQueue() {

 if (mRequestQueue == null) {

 mRequestQueue = Volley.newRequestQueue(getApplicationContext());

 }

 return mRequestQueue;

 }

*/

/////////////////////////////////////  请求方式 post

        stringRequest = new StringRequest(Request.Method.POST, "请求地址", new Response.Listener<String>() {

            @Override

            public void onResponse(String response) {

                // 使用Gosn解析Json数据

                Gson gson = new Gson();

// 将数据存到model实体类中

                loginModel= gson.fromJson(response, LoginModel.class);

// 在model中取出单个数据参数

String user_id = loginModel.getUser_id;

            }

        }, new Response.ErrorListener() {

            @Override

            public void onErrorResponse(VolleyError error) {

                // 请求错误就会进入这里

toast.setText("请求网络失败");// 设置提示文字内容

// 提示出现的位置 CENTER==中心位置  0,0表示是横纵坐标偏移

toast.setGravity(Gravity.CENTER,0,0)

// 显示提示

toast.show;

            }

        }) {

            ////////////////  在这里可以获取Cookie或者是设置Cookie

// 像服务器post提交参数的方法

            @Override

            protected Map<String, String> getParams() {

                // 在这里设置需要post的参数

                HashMap<String, String> map = new HashMap<String, String>();

                map.put("user_name", "");

                map.put("password", "");

                return map;

            }

        };

        requestQueue.add(stringRequest);

////////////////////// 请求方式get

        stringRequest = new StringRequest(Request.Method.GET, "请求地址", new Response.Listener<String>() {

            @Override

            public void onResponse(String response) {

                // 使用Gosn解析Json数据

                Gson gson = new Gson();

// 将数据存到model实体类中

                loginModel= gson.fromJson(response, LoginModel.class);

// 在model中取出单个数据参数

String user_id = loginModel.getUser_id;

            }

        }, new Response.ErrorListener() {

            @Override

            public void onErrorResponse(VolleyError error) {

                // 请求错误就会进入这里

toast.setText("请求网络失败");// 设置提示文字内容

// 提示出现的位置 CENTER==中心位置  0,0表示是横纵坐标偏移

toast.setGravity(Gravity.CENTER,0,0)

// 显示提示

toast.show;

            }

        }) {

            ////////////////  在这里可以获取Cookie或者是设置Cookie

        };

        requestQueue.add(stringRequest);

/////////////////////////////// Volley中获取Cookie的方法

@Override

            protected Response<String> parseNetworkResponse(NetworkResponse response) {

                Response<String> superResponse = super .parseNetworkResponse(response);

                Map<String, String> responseHeaders = response.headers;

                String rawCookies = responseHeaders.get("Set-Cookie");

                Log.i("name", "session的输出=" + rawCookies);

                // 用上一篇博客提到的轻量级存储把获取到的Cookie保存起来在下次设置时直接取

                SharedPreferences saveSharedPreferences = getSharedPreferences("cookie", MODE_PRIVATE);

                SharedPreferences.Editor editor = saveSharedPreferences .edit();

                editor.putString("cookie", rawCookies);

                editor.commit();

                return superResponse;

            }

/////////////////////////////// Volley中设置Cookie的方法

public Map<String, String> getHeaders() throws AuthFailureError { 

 Map<String, String> headers = new HashMap<String, String>(); 

 // 获取保存过的Cookie

my_Cookie SharedPreferences getSharedPreferences = getSharedPreferences ("cookie", MODE_PRIVATE); 

 String my_Cookie = getSharedPreferences.getString("cookie", ""); 

 Log.i("fei_niao", "读取Cookie设置到新的请求:" + my_Cookie); 

 headers.put("Cookie", my_Cookie);

 return headers; 

 }

原文链接:http://www.apkbus.com/blog-722618-72754.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消