Java android中的friend数组未返回值
您好,在下面的代码friendinfo[]中,它以数组格式获取所有好友。输出如下[0],[1],但它返回的是对象,而不是返回值。 之后,当我单击create按钮传递参数groupname、username、用户名的朋友时 然后我从imservice中调用createGroup函数,但友元值提供对象 javaJava android中的friend数组未返回值,java,android,Java,Android,您好,在下面的代码friendinfo[]中,它以数组格式获取所有好友。输出如下[0],[1],但它返回的是对象,而不是返回值。 之后,当我单击create按钮传递参数groupname、username、用户名的朋友时 然后我从imservice中调用createGroup函数,但友元值提供对象 java create.setOnClickListener(new OnClickListener() { @SuppressWarnings("unused")
create.setOnClickListener(new OnClickListener() {
@SuppressWarnings("unused")
@Override
public void onClick(View v) {
String groupname = getIntent().getStringExtra("nick");
try {
FriendInfo[] friend=FriendController.getFriendsInfo();
String result1 = imService.CreateGroup(groupname,imService.getUsername(),friend);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Toast.makeText(getApplicationContext(), "Group Created Sucessfully",Toast.LENGTH_LONG).show();
}
});
IMService.java
public String CreateGroup(String groupname,String username,
FriendInfo[] friend) throws UnsupportedEncodingException {
String params = "groupname="+ URLEncoder.encode(groupname,"UTF-8") +
"&username="+ URLEncoder.encode(this.username,"UTF-8") +
"&password="+ URLEncoder.encode(this.password,"UTF-8") +
"&friendUserName=" +friend +
"&action=" + URLEncoder.encode("CreateGroup","UTF-8")+
"&";
Log.i("PARAMS", params);
return socketOperator.sendHttpRequest(params);
}
在这里,您将友元
数组附加到字符串
,这意味着对象
的toString
的默认实现应用于该数组。如果要将数组元素附加到字符串
,请使用数组.toString(friend)
并重写FriendInfo
类中的toString()
,以便将FriendInfo
中包含的信息转换为所需的格式:
String params = "groupname="+ URLEncoder.encode(groupname,"UTF-8") +
"&username="+ URLEncoder.encode(this.username,"UTF-8") +
"&password="+ URLEncoder.encode(this.password,"UTF-8") +
"&friendUserName=" +Arrays.toString(friend) +
"&action=" + URLEncoder.encode("CreateGroup","UTF-8")+
"&";
在FriendInfo中:
@Override
public String toString ()
{
return ... // here you should append the properties of FriendInfo
// in some easy to read format
}
@user1 java.util.Arrays是一个包含用于数组的静态实用程序方法的类。您能给我一些示例吗that@user1在答案中添加了部分示例。如果不知道FriendInfo类是什么样子的,我就不能给出更多。然后它也会像这样返回FriendInfo@b2d66ab0@user1这意味着您没有按照我的建议覆盖FriendInfo中的toString。
@Override
public String toString ()
{
return ... // here you should append the properties of FriendInfo
// in some easy to read format
}