Я использую один-один чат для Android, используя ejabberd. Я включил модули mod_mam
в файле конфигурации ejabberd. Теперь я могу хранить чат в базе данных mysql
. Но я не могу получить историю чата. Я использую smack library в моем приложении для Android. Я искал свою проблему, но не нашел решения. Может ли кто-нибудь сказать мне решение? Спасибо заранее.Как получить историю чата из mysql db с помощью smack-клиента ejabberd
0
A
ответ
0
Я worte метод ниже, чтобы получить архивные сообщения, используя smack форму mysql. Он возвращает последние maxResults
результаты из базы данных. В приведенном ниже коде в основном используются существующие библиотечные методы для извлечения результатов.
public MamManager.MamQueryResult getArchivedMessages(String jid, int maxResults) {
MamManager mamManager = MamManager.getInstanceFor(connection);
try {
DataForm form = new DataForm(DataForm.Type.submit);
FormField field = new FormField(FormField.FORM_TYPE);
field.setType(FormField.Type.hidden);
field.addValue(MamElements.NAMESPACE);
form.addField(field);
FormField formField = new FormField("with");
formField.addValue(jid);
form.addField(formField);
RSMSet rsmSet = new RSMSet(maxResults, "", RSMSet.PageDirection.before);
MamManager.MamQueryResult mamQueryResult = mamManager.page(form, rsmSet);
return mamQueryResult;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Чтобы получить это в разбитом на страницы использования значительно ниже функций
public MamManager.MamQueryResult getMessageBefore(String jid, String messageId) {
MamManager mamManager = MamManager.getInstanceFor(connection);
try {
MamManager.MamQueryResult mamQueryResult =
mamManager.pageBefore(JidCreate.bareFrom(jid), messageId, pageSize);
return mamQueryResult;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Надеется, что это помогает.
Смежные вопросы
- 1. ejabberd: получить историю чата из mysql db
- 2. Получить историю чата с пользовательского сервера eJabberd
- 3. Как получить историю чата из XMPP для ejabberd
- 4. Как сохранить историю чата xmpp в базе данных mysql
- 5. Как получить историю чата с клиентом android smack
- 6. Как получить историю чата с сервера openfire?
- 7. Как получить историю чата с помощью agsXMPP в C#
- 8. Получить историю чата XMPP OpenFire
- 9. xmpp - как получить историю чата комнаты
- 10. ejabberd Таблица сохранения чата PostgreSQL
- 11. Интеграция с интеграцией чата Ejabberd
- 12. Получить историю чата Из Zopim iOS Chat SDK
- 13. Ejabberd список с MySQL
- 14. Хранить историю чата с socket.io-redis
- 15. Попытка получить историю сообщений из коллекции db (mongodb)
- 16. Как хранить историю чата в PHP
- 17. Quilkblox не возвращает историю чата
- 18. Как я могу очистить историю MUC в Ejabberd
- 19. ejabberd конфигурация группового чата с MUC
- 20. переход от обычного чата к чату ejabberd
- 21. Как сохранить историю чата в приложении для веб-чата
- 22. , который быстрее, сохраняя историю чата в текстовом файле и отображая его или используя mysql db для сохранения истории чата.
- 23. Как очистить историю чата в Quickblox?
- 24. MySql Как получить записи для показа в списке чата чата
- 25. mongodb + nodejs сохранить историю чата
- 26. ejabberd syncing сообщение из архива mysql
- 27. Как сохранить историю чата локально на Android?
- 28. Ошибка ejabberd с помощью utf8mb4
- 29. Как получить историю чата от открытого огня в андроиде
- 30. Как вести историю чата для нескольких пользователей?