url拼接参数操作

Uri uri = Uri.parse(url);

url拼接参数替换对应的值

public static Uri replaceUriParameter(Uri uri, String key, String newValue) {
        final Set<String> params = uri.getQueryParameterNames();
        final Uri.Builder newUri = uri.buildUpon().clearQuery();
        for (String param : params) {
            newUri.appendQueryParameter(param,
                    param.equals(key) ? newValue : uri.getQueryParameter(param));
        }

        return newUri.build();
    }

url解析拼接参数为Map

public static Map<String, String> parseSourceParam(Uri uri) {
        Map<String, String> param = new HashMap();
        String query = NTool.getQuery(uri.toString());
        if (!TextUtils.isEmpty(query)) {
            String[] ret = query.split("&");
            if (ret != null) {
                String[] var4 = ret;
                int var5 = ret.length;

                for(int var6 = 0; var6 < var5; ++var6) {
                    String s = var4[var6];
                    String[] kv = s.split("=");
                    if (kv != null && kv.length == 2) {
                        param.put(kv[0], kv[1]);
                    }
                }
            }
        }

        return param;
    }

    public static String appendParam(String url, Map<String, String> param) {
        if (param != null && param.size() != 0) {
            StringBuilder sb = new StringBuilder();
            Iterator it = param.entrySet().iterator();

            while(it.hasNext()) {
                Map.Entry<String, String> entry = (Map.Entry)it.next();
                sb.append((String)entry.getKey()).append("=").append((String)entry.getValue()).append("&");
            }

            String paramStr = sb.toString();
            if (paramStr.endsWith("&")) {
                paramStr = paramStr.substring(0, paramStr.length());
            }

            return appendQuery(url, paramStr);
        } else {
            return url;
        }
    }

    public static String appendQuery(String url, String query) {
        if (TextUtils.isEmpty(query)) {
            return url;
        } else {
            return url.contains("?") ? url + "&" + query : url + "?" + query;
        }
    }

解析Url拼接参数放入到Intent中

public static void parseUrlParam(String query, Intent intent) {
        if (!TextUtils.isEmpty(query)) {
            String[] ret = query.split("&");
            if (ret != null && ret.length > 0) {
                String[] var3 = ret;
                int var4 = ret.length;

                for(int var5 = 0; var5 < var4; ++var5) {
                    String kv = var3[var5];
                    String[] kvs = splitFirst(kv, "=");
                    if (kvs != null && kvs.length == 2) {
                        intent.putExtra(kvs[0], kvs[1]);
                    }
                }
            }

        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容