guyz!
首先,我想解释一下,“flag query parameter”是什么意思。
这是一个没有值的参数,因此,查询如下所示:
https://website.com?aaa=bbb&flag&ccc=ddd
。
我今天发现,没有简单的方法可以在Android中为android.net.Uri
添加标记。
我的变体:
String flagParameter = "flag";
// create the Uri.
Uri uri = Uri.parse("http://website.com");
uri = uri.buildUpon().appendQueryParameter("aaa", "bbb").build();
// uri => http://website.com?aaa=bbb
StringBuilder builder = new StringBuilder(uri.getQuery());
if (builder.length() > 0) { // always true in this case
builder.append("&");
}
builder.append(flagParameter);
uri = uri.buildUpon().encodedQuery(builder.toString()).build();
// uri => http://website.com?aaa=bbb&flag
好消息是我们之后追加更多参数。它没有打破uri。所以,如果我们添加这一行:
uri = uri.buildUpon().appendQueryParameter("ccc", "ddd").build();
uri的输出将是:
http://website.com?aaa=bbb&flag&ccc=ddd
您还有其他方法可以将标志参数添加到uri吗?