如何将“flag”参数添加到android Uri

时间:2017-01-04 08:48:08

标签: android uri

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吗?

0 个答案:

没有答案