如何在android中为usersName应用url编码器
在下面的代码中,usersName的输出是[user3,user1,user2],在这个输出中,在符号之后,它给出了空间。 为此,请了解如何为usersName应用URLCoder 我想要的最终输出如下usersName=[user3,user1,user2] java如何在android中为usersName应用url编码器,android,Android,在下面的代码中,usersName的输出是[user3,user1,user2],在这个输出中,在符号之后,它给出了空间。 为此,请了解如何为usersName应用URLCoder 我想要的最终输出如下usersName=[user3,user1,user2] java public String CreateGroup(String groupname,String username, ArrayList<FriendInfo> result) throws
public String CreateGroup(String groupname,String username,
ArrayList<FriendInfo> result) throws UnsupportedEncodingException {
List<String> usersName = new ArrayList<String>();
for (int i = 0; i < result.size(); i++) {
usersName.add(result.get(i).userName);
}
String params = "groupname="+ URLEncoder.encode(groupname,"UTF-8") +
"&username="+ URLEncoder.encode(this.username,"UTF-8") +
"&password="+ URLEncoder.encode(this.password,"UTF-8") +
"&friendUserName=" +usersName+
"&action=" + URLEncoder.encode("CreateGroup","UTF-8")+
"&";
Log.i("PARAMS", params);
return socketOperator.sendHttpRequest(params);
}
公共字符串CreateGroup(字符串组名、字符串用户名、,
ArrayList结果)引发不受支持的CodingException{
List usersName=new ArrayList();
对于(inti=0;i
尝试更改此选项:
usersName.add(result.get(i).userName);
为此:
usersName.add(result.get(i).userName.replaceAll("\\s",""));
这是在假设您的用户名是包含空格而不是用户名列表的用户名的情况下进行的。由于您通过http传递参数,因此需要将空格编码为“+”或“%20” 您的for应该如下所示:
for (int i = 0; i < result.size(); i++) {
usersName.add(result.get(i).userName.replace(" ","+"));
}
String.trim()
?或者String.replace(“,”)
如何申请“&friendUserName=“+usersName+”此处您真的要将列表添加到字符串中吗?它给出了错误replace()方法,因为它是列表而不是字符串。你必须在你的结果中使用replace.get(i).userName,而不是它仍然在给空格,为什么你要在“friendUserName”中添加一个列表?不应该只有一个用户名吗?如果你发送的不止一个,它们不应该被连接起来吗?我想添加哪一个[user3,%20user1,%20user11]output@user1请参阅我的编辑。它将给出类似于[user3、+user1、+user11]
的内容。如果不希望看到逗号[user3,%20user1,%20user11]的输出像这样给出,可以调用replace(“,”,“+”)
"&friendUserName=" +usersName.toString().replace(" ","+")