Избегание того же чата при использовании Firestore - PullRequest
0 голосов
/ 11 октября 2019

Сейчас я создаю приложение для чата, используя базу данных Firestore, и думаю, как избежать создания одного и того же чата дважды.

Например, если человек A отправляет сообщение человеку B, у меня былокак сообщение, чтобы войти в ту же коллекцию чатов, как если бы человек Б отправил сообщение человеку А.

Я нашел следующее предложение здесь

Рекомендуется сравнитьпользовательский UID, который я знаю, и создающий некоторый chatID на основе комбинации этих строк.

private String setOneToOneChat(String uid1, String uid2)
{
    if(uid1 <uid2){
        return uid1+uid2;  
    }
    else{
        return uid2+uid1;
    }
}

сравнение длины обоих UID не работает, поскольку все (или, по крайней мере, все, что я видел, принадлежат одному и тому жедлина).

Однако, во-первых, я не совсем понял, как использовать математический оператор, такой как <, для string, во-вторых, я не уверен, что он действительно перехватывает все случаи.

Если есть какие-либо предложения для реализации такой вещи, я хотел бы услышать.

Спасибо

1 Ответ

0 голосов
/ 11 октября 2019

Порядок должен быть основан на фактическом содержании строк, а не только на их длине.

Так в Java / Android:

if(uid1.compareTo(uid2) > 0){
    return uid1+uid2;  
}
else{
    return uid2+uid1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...