2015-03-07 3 views
0

Я создал приложение чата GCM Службы и широковещательные приемники, и у меня есть лобби, которое является ListView. Когда пользователь нажимает кнопку «плюс» в верхнем правом углу, он запускает новое окно чата и при нажатии кнопки «Назад» возвращается в лобби, создавая элемент, который указывает активный чат (точно так же, как whatsapp). Мои вопросы:Chat Application Lobby ListView

1-) Я не могу правильно использовать свои элементы списка. Как я должен заполнить список, когда конкретное чат-сообщение имеет новое сообщение и вызывает уведомление в элементе списка?

2-) Как я могу управлять широковещательными данными, поступающими с сервера на приемник. как я должен знать, в каком чате есть новое сообщение?

Любое учебное пособие оценивается. Я уже читал проект AndroidIM, но его слишком широкий для меня, чтобы понять.

Спасибо.

ответ

0

1-) Я не могу правильно использовать свои элементы списка. Как я должен заполнить список , когда в специальном чате появляется новое сообщение и приносит уведомление в элементе списка?

Вы можете обновить данные, которые использовались для заполнения списка, а затем использовать метод adapter.notifyDatasetChanged();, чтобы ListView перерисовал его содержимое.

2-) как я могу управлять широковещательными данными, поступающими с сервера в приемник . как я должен знать, в каком чате есть новое сообщение?

Здесь можно использовать множество подходов. Вы можете использовать локальную широковещательную рассылку для перенаправления данных на экран ListView из трансляции GCM. Что касается чатов, вы должны создать такую ​​же логику между сервером-клиентом, чтобы идентифицировать их и заставить сервер отправлять данные обновленного чата.

+0

Благодарим вас за ответ, но думаю, что я не мог четко объяснить себя. Я имел в виду, когда сообщение приходит с сервера, я могу сэкономить его. Но как я должен обновлять счетчик новых сообщений? Я имею в виду новое сообщение, но в котором чат. Мой адаптер расширяет массивный адаптер . Итак, что мне делать, чтобы добавить номер нового номера элемента (я знаю, как создать пользовательский адаптер и реализовать его) – eden

+0

Есть ли другой способ для создания чата? Я имею в виду не использовать сервер для отправки данных обновленного чата? – eden

+0

Просто сделайте, чтобы ваш адаптер сохранил больше данных, а ваше сообщение на сервере стало более умным, чтобы сказать, что чат должен обновляться. Я предполагаю, что существует десяток способов реализации чата с различными протоколами http, jabber, mqtt, сокетов. – madlymad