在NameValuePairs
可以直接使用之前,使用以下方法编码和附加网址变量很容易:
String UrlString = URLEncodedUtils.format(nameValuePairs, "utf-8");
但是现在他们已经被弃用我转而使用ContentValues
存储名称 - 值对。
我想问的是,有一种简单直接的方法可以编码并将ContentValue值附加到网址中,就像NameValuePairs
一样,或者怎么做?
答案 0 :(得分:1)
我想问的是,有一种简单直接的方法可以编码并将ContentValue值附加到网址中,就像
NameValuePairs
一样,或者怎么做?
如果是您所指的查询参数,最好查看Uri
。特别是,它的Builder
提供了各种方法来设置或附加路径段,查询参数(预编码或不预编码)等。静态Uri.encode()
助手也支持编码值。
话虽如此,如果您需要简单替换URLEncodedUtils
提供的格式化选项,那么获取其源代码并使其与ContentValues
兼容将非常简单(或者一个Map<String, Object>
,因为ContentValues
只不过是一个薄的包装器。)
我为此设置了一个快速(未经测试)gist。随意使用它作为起点,并且 - 无论如何 - 修复我可能犯的任何错误。
答案 1 :(得分:-1)
如果您通过字符串构建URL,请参阅此处。
字符串urlEncoded =“http://google.com/search?q=”+ Uri.encode(查询);