如何编码并将ContentValue值附加到网址

时间:2016-02-14 11:05:14

标签: android content-values

NameValuePairs可以直接使用之前,使用以下方法编码和附加网址变量很容易:

String UrlString = URLEncodedUtils.format(nameValuePairs, "utf-8");

但是现在他们已经被弃用我转而使用ContentValues存储名称 - 值对。

我想问的是,有一种简单直接的方法可以编码并将ContentValue值附加到网址中,就像NameValuePairs一样,或者怎么做?

2 个答案:

答案 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(查询);