120.OkHttpのGetパラメータ接合
1360 ワード
1.
欠点:urlに疑問符が付いているとエラーになります
2.HttpUrlを使用する.Builder組立URLアドレスパラメータ
参考:http://netkiller.sourceforge.net/android/HttpUrl.Builder.html
欠点:urlに疑問符が付いているとエラーになります
/**
* Get Url
*
* @param url
* @param params
* @return
*/
private String appendUrl(String url, Map params) {
if (params == null || params.isEmpty()) {
return url;
}
StringBuilder builder = new StringBuilder(url);
boolean isFirst = true;
for (String key : params.keySet()) {
if (key != null && params.get(key) != null) {
if (isFirst) {
isFirst = false;
builder.append("?");
} else {
builder.append("&");
}
builder.append(key)
.append("=")
.append(params.get(key));
}
}
return builder.toString();
}
2.HttpUrlを使用する.Builder組立URLアドレスパラメータ
参考:http://netkiller.sourceforge.net/android/HttpUrl.Builder.html
public String getUrl(String url, Map params) {
HttpUrl.Builder builder = HttpUrl.parse(url).newBuilder();
if (params != null && params.size() > 0) {
for (String key : params.keySet()) {
builder.addQueryParameter(key, (String) params.get(key));
}
}
String newUrl = builder.build().toString();
return newUrl;
}