12 / 12 / 3
Регистрация: 28.03.2014
Сообщений: 156
|
|
1 | |
Добавление сообщений в чат15.01.2015, 13:19. Показов 1412. Ответов 10
Метки нет (Все метки)
Есть чат. Новые соощения в него добавляются так: кто-то на сервере добавил сообщение, с помощью GCM на андроид приходит уведомление о новом сообщении, я беру id сообщения(его прислал GCM) ,загружаю его и добавляю в начало списка. Все вроде хорошо, но проблема возникает когда пользователь с android-а отправляет сообщение. Если у юзера медленное интернет соединение, то уведомление приходит слишком поздно, и в это время его сообщения в чате не отображается. Я так понимаю что нужно добавить это сообщение в чат и отметить что оно в обработке, а после получения уведомления убрать эту отметку. Но как это реализовать?
0
|
15.01.2015, 13:19 | |
Ответы с готовыми решениями:
10
Чат/игра с записью сообщений/данных в БД Проверка и добавление новых сообщений в чат браузера автономно, средствами AJAX и PHP чат загрузка сообщений из бд Чат в виде списка сообщений |
28 / 28 / 10
Регистрация: 24.05.2013
Сообщений: 157
|
|
16.01.2015, 16:53 | 2 |
Для чатов WebSocket'ы используются, а не PUSH-рассылки.
0
|
105 / 105 / 19
Регистрация: 13.10.2009
Сообщений: 406
|
|
16.01.2015, 17:31 | 3 |
В чатах используется websocket + push notification, если юзер онлайн передача сообщений происходит по сокету, иначе после включения инета придёт пуш.
0
|
12 / 12 / 3
Регистрация: 28.03.2014
Сообщений: 156
|
|
16.01.2015, 17:48 [ТС] | 4 |
Gabberr, чем плох мой способ?
0
|
105 / 105 / 19
Регистрация: 13.10.2009
Сообщений: 406
|
|
16.01.2015, 17:57 | 5 |
Сообщение было отмечено shulyakyarik как решение
Решение
Так и нужно, верно.
Реализовать очень просто - при отправке сообщения сразу добавляйте его в адаптер, у объекта Message создайте поле isSended и в зависимости от его значения отображайте сообщение с нужной пометкой.
0
|
12 / 12 / 3
Регистрация: 28.03.2014
Сообщений: 156
|
|
17.01.2015, 22:28 [ТС] | 6 |
Gabberr, всмысле создать поле isSend? Принимаю я объекты в формате JSON
0
|
105 / 105 / 19
Регистрация: 13.10.2009
Сообщений: 406
|
|
18.01.2015, 10:22 | 7 |
Должен быть класс-модель сообщения - Message, который будет строится из вашего json
0
|
12 / 12 / 3
Регистрация: 28.03.2014
Сообщений: 156
|
|
18.01.2015, 10:26 [ТС] | 8 |
Gabberr, сделать объект в котором будет две переменные(isSended и JSON)? Можно ли парсить json в адаптере или правильнее будет туда уже готовые данные вставить?
0
|
105 / 105 / 19
Регистрация: 13.10.2009
Сообщений: 406
|
|
18.01.2015, 10:42 | 9 |
В объекте message будет много полей в зависимости от сообщения, например тип сообщения, идентификатор, текст, ссылка на картинку итд. json, который приходит с сервера нужно сразу парсить в объект Message и дальше оперировать уже этим объектом
0
|
12 / 12 / 3
Регистрация: 28.03.2014
Сообщений: 156
|
|
18.01.2015, 22:48 [ТС] | 10 |
Gabberr, вы случайно не знаете как после обновления объекта Message обновить элемент listView?
Добавлено через 20 минут Пока что вызываю adapter.notifyDataSetInvalidated();
0
|
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
|
|
18.01.2015, 22:56 | 11 |
0
|
18.01.2015, 22:56 | |
18.01.2015, 22:56 | |
Помогаю со студенческими работами здесь
11
WCF-чат логика получения сообщений VK API чат,сохранение и вывод сообщений Асинхронный сервер - чат, много сообщений Корпоративный чат, вывод последних сообщений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |