====== XMPP Android Chat ====== Мобильное приложение для обмена мгновенными сообщениями по протоколу XMPP для операционных систем Android. Чат обладает всеми базовыми функциями, а точнее: авторизация, отправка/получение сообщения в личных и групповых чатах, push-уведомления, списки групп и собеседников, поиск собеседников, переподключение при нестабильном интернет соединении. Так же чат обладает дополнительным функционалом: автообновление и отправление логов с ошибками. Приложение развивается и улучшается, а актуальную версию можно скачать по[[https://github.com/WorldOfPets/test_apk_file/raw/master/app-debug.apk|ссылке]]. Открытый исходный код расположен [[https://git.sharix-app.org/ShariX_Open/open-TestChatApp-android|здесь]]. ---- ==== Особенности сборки ==== * Для работы с XMPP использовалась библиотека [[https://github.com/igniterealtime/Smack|smack]] * В файле //**AndroidManifest.xml**// необходимо указать следующие разрешения: ''INTERNET, ACCESS_NETWORK_STATE, FOREGROUND_SERVICE, WRITE_EXTERNAL_STORAGE, INSTALL_PACKAGES, REQUEST_INSTALL_PACKAGES, READ_EXTERNAL_STORAGE, WRITE_SYNC_SETTINGS, BROADCAST_WAP_PUSH, RECEIVE_WAP_PUSH''; Эти разрешения необходимы для работы функции автообновления, работы push-уведомлений, записи ошибок в лог, а главное для работы библиотеки smack. Подробнее об этих разрешениях вы можете прочитать [[https://developer.android.com/reference/android/Manifest.permission|здесь]]. * В проекте реализованы 3 класс: XMPPClass для работы с библиотекой smack, ErrorLogFile для работы лога с ошибками, а так же NotificationService для работы push-уведомлений. Эти классы при необходимости можно использовать в других проектах. Остальные классы соответствуют представлениям. * Так же функция автообновления реализована с помощью подключения сторонней библиотеки. Найти и ознакомиться с ней можно [[https://github.com/Piashsarker/AndroidAppUpdateLibrary|здесь]]. ----