package com.gnod.geekr.tool; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.Map; import java.util.Set; import android.os.Bundle; public class URLTool { public static String encodeURL(Map<String, String> param) { if(param == null) return ""; StringBuilder builder = new StringBuilder(); Set<String> keys = param.keySet(); boolean isFirstParam = true; String value; for(String key: keys) { value = param.get(key); if(!StringUtils.isNullOrEmpty(value) || key.equals("description") || key.equals("url")){ if(isFirstParam) { isFirstParam = false; } else { builder.append("&"); } try { builder.append(URLEncoder.encode(key, "UTF-8")) .append("=") .append(URLEncoder.encode(param.get(key), "UTF-8")); } catch (UnsupportedEncodingException e) { } } } return builder.toString(); } public static Bundle decodeURL(String arg) { Bundle params = new Bundle(); if(!StringUtils.isNullOrEmpty(arg)){ String[] array = arg.split("&"); for(String str: array){ String[] keyValue = str.split("="); try { params.putString(URLDecoder.decode(keyValue[0], "UTF-8"), URLDecoder.decode(keyValue[1], "UTF-8")); } catch (UnsupportedEncodingException e) { } } } return params; } }