//在Application中初始化 public static MyApplication instance; public static RequestQueue mRequestQueue; public void onCreate() { super.onCreate(); instance = this; mRequestQueue = Volley.newRequestQueue(this); } public static RequestQueue getQueue(){ if(mRequestQueue == null){ mRequestQueue = Volley.newRequestQueue(instance); } return mRequestQueue; } // 單例模式中獲取唯一的GTApplication實(shí)例 public static MyApplication getInstance() { return instance; }
//這是一個封裝的網(wǎng)絡(luò)數(shù)據(jù)請求類 package com.example.zbclient.util; import org.json.JSONException; import org.json.JSONObject; import com.android.volley.DefaultRetryPolicy; import com.android.volley.VolleyError; import com.android.volley.Request.Method; import com.android.volley.Response.ErrorListener; import com.android.volley.Response.Listener; import com.android.volley.toolbox.JsonObjectRequest; import com.example.zbclient.MyApplication; import com.google.gson.JsonArray; import android.content.Context; import android.util.Log; /** * 網(wǎng)絡(luò)數(shù)據(jù)請求 * * @author yxx * * @date 2015-12-23 下午7:48:08 * */ public class RequestUtil{ public static boolean isShow = false; /** * @param resres (-1:服務(wù)器報錯 0: 成功 -2:本地報錯) * @param remark 報錯內(nèi)容 * @param jsonArray msg內(nèi)的jsonArray數(shù)據(jù) */ public static abstract class RequestCallback { public abstract void callback(String res, String remark, JSONObject jsonObject); } public RequestUtil(Context context){ } /** * @param context 上下文 * @param strTitle 刷新提示內(nèi)容 * @param flag 是否彈出刷新窗口 * @param strUrl 請求地址 * @param jsonObject 請求參數(shù) * @param callback 請求數(shù)據(jù)回調(diào) */ public static void getReuestData(final Context context, String strTitle, boolean flag, String strUrl, JSONObject jsonObject, final RequestCallback callback){ if(flag == true){ CommandTools.showProgressDialog(context, strTitle + ""); } Log.e("upload", Constant.TestURL + strUrl); Log.v("upload", jsonObject.toString()); JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, Constant.TestURL + strUrl, jsonObject.toString(), new Listener() { @Override public void onResponse(JSONObject jsonObject) { Log.v("file", jsonObject.toString()); String strRes = null; String strRemark = null; try { strRes = jsonObject.getString("res"); strRemark = jsonObject.getString("remark"); } catch (JSONException e) { e.printStackTrace(); }finally{ CommandTools.dismissProgressDialog(); callback.callback(strRes, strRemark, jsonObject); } } }, new ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { CommandTools.dismissProgressDialog(); callback.callback("-1", arg0.toString(), null); } }); jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(5 * 1000, 1, 1.0f)); MyApplication.getQueue().add(jsonObjectRequest); } }
成都創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元遼寧做網(wǎng)站,已為上家服務(wù),為遼寧各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
//引用示例
/** * 判斷短信校驗(yàn)碼是否正確 */ private void checkSMSCode(){ String strCode = edtCode.getText().toString(); if(strCode == null || strCode.equals("")){ CommandTools.showToast(mContext, "驗(yàn)證碼不能為空"); return; } JSONObject jsonObject = new JSONObject(); try { jsonObject.put("UserID", "S1"); //學(xué)生ID/門店GCODE jsonObject.put("SvsGcode", "F1");//驗(yàn)證碼場景GCODE 00 jsonObject.put("VeriCode", strCode);//短信驗(yàn)證碼 jsonObject.put("OpEmpGcode", "E1");//操作人編碼 jsonObject.put("OpEmpName", "王小剛");//操作人 jsonObject.put("LoginName", "admin");//登錄名稱 jsonObject.put("LoginPwd", "1");//登錄密碼 jsonObject.put("AuthSign", "fafafdsfds");//權(quán)限簽名,除登陸外,其他必須有值 jsonObject.put("MachineSystem", "Android");//請求終端系統(tǒng): IOS,Android,PDA,Other jsonObject.put("MachineCode", CommandTools.getMIME(mContext));//機(jī)器碼 } catch (JSONException e) { e.printStackTrace(); } RequestUtil.getReuestData(mContext, "驗(yàn)證碼校驗(yàn)中", true, Constant.PostSmsVeriCheck, jsonObject, new RequestCallback() { @Override public void callback(String res, String remark, JSONObject jsonObject) { if(res.equals("0") == false){ CommandTools.showDialog(mContext, remark); return; } CommandTools.showToast(mContext, "驗(yàn)證碼校驗(yàn)成功, 請輸入新密碼"); flagCode = true; } }); }
最重要的千萬別忘了在libs下引用volley.jar
這個包有源代碼的,可以隨時更新
有需要的可以聯(lián)系我