从用户ID获取另一个用户的用户名 - Parse& Android的

时间:2015-07-14 22:51:56

标签: java android android-studio parse-platform sinch

我一直在尝试为iOS和Android制作一个简单的即时消息应用程序。在iOS上完成所有工作。我虽然在Android上遇到过一件事。

每当我发送消息时,它都会发送包含两个对象senderother的消息。发件人是邮件的发件人,另一个是收到邮件的人。

在iOS上,它为sender提供当前登录用户的用户名。与other相同,但它为接收邮件的人员提供了用户名。在Android上,目前,我只能获取当前登录用户的sender用户名称,并且other设置为用户 id < / em>接收消息的人。我想让Android将other设置为用户名。

我是Java和Android应用程序开发的新手。我对Swift和iOS开发了解得更多。不过,我很确定这样做需要查询。

有人能指点我怎么做吗?非常感谢!

代码: Pastebin #1 Pastebin #2 StackOverflow不会让我放入另一个链接。如果有人想看,我可以将其粘贴回复。

P.S。对不起,如果这没有多大意义。我真的不知道如何描述它。

2 个答案:

答案 0 :(得分:0)

也许不是最清楚但是如果你看一下ios教程,你用用户名启动sinch客户端,而不是解析用户id

[initSinchClient:self.usernameField.text];

但是在android应用程序中,您可以使用parse userid

启动它
currentUserId = ParseUser.getCurrentUser().getObjectId();
        currentUserName = ParseUser.getCurrentUser().getUsername();

        if (currentUserId != null && !isSinchClientStarted()) {
            startSinchClient(currentUserId); //change this 
        }

尝试将此更改为                 startSinchClient(CURRENTUSERNAME);

答案 1 :(得分:0)

如果要从userId获取接收者的userName,则应该进行解析查询:

尝试以下方法:

String receiverName = null;
List<ParseUser> users = null;
try {
ParseQuery<ParseUser> userQuery = ParseUser.getQuery();
userQuery.whereEqualTo("objectId", other);
users = userQuery.find();
} catch (ParseException e) {
  e.printStackTrace();
}
if( users != null && users.size() >= 1)
{receiverName = users.get(0).getUsername();}