package com.likebamboo.osa.android.request; import android.text.TextUtils; import com.android.volley.Request; import com.android.volley.Response; import org.json.JSONException; import org.json.JSONObject; import java.util.Map; /** * Created by likebamboo on 2015/5/12. */ public abstract class BaseRequest<T> extends Request<T> { public BaseRequest(int method, String url, Response.ErrorListener listener) { super(method, url, listener); } /** * 返回json数据中的result字段 * * @param data * @return */ protected String getResult(String data) { if (TextUtils.isEmpty(data)) { return null; } JSONObject json = null; try { json = new JSONObject(data); return json.getString("result"); } catch (JSONException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return data; } /** * 拼接URL(仅针对get方法) * * @param method * @param baseUrl * @param params * @return */ public static String formatUrl(int method, String baseUrl, Map<String, String> params) { if (method != Method.GET) { return baseUrl; } return formatUrl(baseUrl, params); } /** * 拼接URL(仅针对get方法) * * @param baseUrl * @param params * @return */ public static String formatUrl(String baseUrl, Map<String, String> params) { if (TextUtils.isEmpty(baseUrl) || params == null || params.isEmpty()) { return baseUrl; } StringBuilder sb = new StringBuilder(baseUrl); if (sb.toString().contains("?")) { // 不以问号结尾 if (!sb.toString().endsWith("?")) { sb.append("&"); } } else {// 没有问号,添加问号 sb.append("?"); } String split = ""; for (String key : params.keySet()) { sb.append(split).append(key).append("=").append(params.get(key)); split = "&"; } return sb.toString(); } }