1

早些时候,当NameValuePairs直接可用时,很容易使用以下方法编码和附加 URL 变量:

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

但现在它们已被弃用,我转而使用它ContentValues来存储名称-值对。

我想问的是,是否有一种简单直接的方法可以将 ContentValue 值编码并附加到 URL 中,就像它可能使用的那样, NameValuePairs或者如何做到这一点?

4

2 回答 2

2

我想问的是,是否有一种简单直接的方法可以将 ContentValue 值编码和附加到 URL 中,就像它可能使用的那样, NameValuePairs或者如何做到这一点?

如果您指的是查询参数,最好看一下Uri. 特别是,它Builder提供了各种方法来设置或附加路径段、查询参数(预编码或未编码)等。Uri.encode()静态助手也支持编码值。

话虽这么说,如果您需要一个简单的替代提供的格式化选项URLEncodedUtils,那么获取它的源代码并使其兼容ContentValues(或Map<String, Object>就此而言,因为ContentValues它只不过是一个薄包装器)将非常简单周围)。

我为此设置了一个快速(且未经测试)的要点。随意使用它作为起点,并且 - 无论如何 - 修复我可能犯的任何错误。

于 2016-02-15T19:39:57.900 回答
-1

如果您通过字符串构建 URL,请按以下步骤操作。

字符串 urlEncoded = " http://google.com/search?q= " + Uri.encode(query);

于 2016-02-15T20:28:10.093 回答