package com.mzoneapp.zjjmb.api; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import android.net.Uri; import android.util.Log; public class ApiConstants { private static final String LOG_TAG = ApiConstants.class.getName(); // Main uri public static final String URL = "http://www.expressway.gov.cn/szjweb/Cont"; // List params public static final String QUERY_LIST = "getList.action"; public static final String PAGENO = "pageno"; public static final String PAGESIZ = "pagesiz"; // Info params public static final String QUERY_INFO = "getInfo.action"; public static final String CONTENT = "content"; // General params public static final String TYPE = "type"; public static final String ID = "id"; public static final String TITLE = "title"; public static final String AUTHOR = "author"; public static final String ISSURDATE = "issuedate"; // type // 通知公告(默认) public static final String ANNOUNCEMENT = "1"; // 局内动态 public static final String IN_DYNAMIC = "2"; // 工作动态 public static final String WORK_DYNAMIC = "3"; public static final int DEFAULT_SIZE = 10; private static ApiConstants instance; // List url public String getListUrl(String type){ return getListUrl(type, 0 , DEFAULT_SIZE); } // List url public String getListUrl(String type,int pageno){ return getListUrl(type, pageno, DEFAULT_SIZE); } // List url public String getListUrl(String type, int pageno, int pagesiz){ HashMap<String, String> params = new HashMap<String,String>(); params.put(TYPE, type); params.put(PAGENO, pageno+""); params.put(PAGESIZ, pagesiz+""); return createUrl(QUERY_LIST,params); } // Info url public String getInfoUrl(String id){ HashMap<String, String> params = new HashMap<String,String>(); params.put(ID, id+""); return createUrl(QUERY_INFO,params); } public String createUrl(String path, Map<String, String> params) { String uri = String.format("%s/%s?", URL, path); return addParams(uri, params); } public String addParams(String url, Map<String, String> params) { StringBuilder uri = new StringBuilder(url); for (Entry<String, String> param : params.entrySet()) { uri.append("&").append(Uri.encode(param.getKey())).append("=") .append(Uri.encode(param.getValue())); } Log.d(LOG_TAG, uri.toString()); return uri.toString(); } private ApiConstants() { // Force construction through static methods } public static void createInstance() { if (instance == null) { instance = new ApiConstants(); } } public static ApiConstants instance() { return instance; } }