Это очередное видео из серии “как создать android приложение”, где мы создаем простые, но вполне работающие приложения.
Сегодня мы создадим простое приложение – чат на андроид, используя сервис Firebase. Это backend service от Google, который мы подробно рассматриваем в нескольких выпусках “Инструментов андроид разработчика”.
Подробно процесс создания приложения-чата смотрите в видео:
Приложение будет использовать авторизацию по email. После авторизации открывается экран с полем ввода, кнопкой отправки и списком сообщений. В этом списке отображаются все отправленные сообщения на всех устройствах, где установлено данное приложение.
Итак начнем. для начала создадим проект в Android Studio. Назовем его FirebaseChat. Шаблон выберем Empty Activity.
Теперь свяжем проект с сервисом Firebase. Для этого перейдем в меню Tools/Firebase. Выберем вкладку Cloud Messaging. Здесь нужно выполнить 2 первых пункта.
Онлайн чат на Python в 100 строк кода!
Нажатие первой кнопки свяжет наш проект с сервисом Firebase. При этом вам будет предложено авторизоваться с помощью учетной записи Google.
В случае успеха вместо кнопки появится зеленый значок “connected”.
А в консоли разработчика по адресу https://console.firebase.google.com вы увидите новое приложение.
Теперь нужно добавить в проект необходимые зависимости. Нажатие кнопки во втором пункте добавит в файлы сборки проекта ссылки на библиотеки google-services и firebase-messaging.
А в папке модуля app должен появиться файл google-services.json с параметрами, необходимыми для работы проекта с Firebase.
Проект мы подключили, но библиотека firebase-messaging – не совсем то, что нам нужно. Идем в файл сборки пакета build.gradle и заменим ее на библиотеку firebase-ui. Минимальный уровень API, с которым работает эта библиотека – API 16. Изменим соответствующую директиву и синхронизируем с gradle.
apply plugin: ‘com.android.application’ android < compileSdkVersion 25 buildToolsVersion «25.0.1» defaultConfig < applicationId «info.fandroid.firebasechat» minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName «1.0» testInstrumentationRunner «android.support.test.runner.AndroidJUnitRunner» >buildTypes < release < minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ >> > dependencies < compile fileTree(dir: ‘libs’, include: [‘*.jar’]) androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2’, < exclude group: ‘com.android.support’, module: ‘support-annotations’ >) compile ‘com.android.support:appcompat-v7:25.0.1’ testCompile ‘junit:junit:4.12’ //Add Library compile ‘com.android.support:design:25.0.1’ compile ‘com.firebaseui:firebase-ui:0.6.2’ > apply plugin: ‘com.google.gms.google-services’
Теперь перейдем к кодингу.
Для начала создадим макет разметки главного экрана. Нам понадобится поле ввода, кнопка отправки сообщений и виджет списка ListView.
Теперь создадим макет разметки пункта списка item.xml.
Здесь три Textview для имени автора, времени и текста сообщения.
Также в папке res создадим папку menu и в ней опишем пункт меню для выхода из учетной записи.
У него будет иконка из папки drawable. Скачать ее можно здесь (через контекстное меню “сохранить как”). Также пропишем способ отображения в тулбаре.
Атрибут showAsAction берем из пространства имен app, добавим соответствующую декларацию для этого комбинацией Alt+Enter.
Теперь в основном пакете создадим новый класс Message. Это будет макет, или модель сообщения.
package info.fandroid.firebasechat; import java.util.Date; public class Message < private String textMessage; private String autor; private long timeMessage; public Message(String textMessage, String autor) < this.textMessage = textMessage; this.autor = autor; timeMessage = new Date().getTime(); >public Message() < >public String getTextMessage() < return textMessage; >public void setTextMessage(String textMessage) < this.textMessage = textMessage; >public String getAutor() < return autor; >public void setAutor(String autor) < this.autor = autor; >public long getTimeMessage() < return timeMessage; >public void setTimeMessage(long timeMessage) < this.timeMessage = timeMessage; >>
Создадим переменные textMesage, autorMessage и timeMessage. Как понятно из названий, это текст, автор и время сообщения.
Создадим конструктор с первыми двумя переменными. Используется комбинация Alt+Insert.
В этом же конструкторе будем сохранять в переменную timeMessage текущее время.
Также создадим пустой конструктор, а также геттеры и сеттеры для всех полей класса.
Основной код напишем в классе MainActivity.
Для начала создадим константу SIGN_IN_REQUEST_CODE со значением 1.
Далее создаем переменную класса FirebaseListAdapter – это дженерик, который обеспечивает поддержку списка сообщений. В качестве параметризированного типа у него будет наш класс Message.
О том, что такое дженерики в java, можно почитать здесь.
Далее объявляем корневой макет экрана и кнопку.
В методе onCreate находим кнопку и корневой RelativeLayout по ID, присваиваем кнопке обработчик нажатия.
В методе onClick определяем поле ввода.
Далее считываем текст из поля ввода и отправляем новый экземпляр сообщения в базу данных Firebase.
Но, прежде чем отправить сообщение. пользователь должен авторизоваться. А если пользователь не авторизован, то ему нужно показать форму авторизации, а не экран чата.
Создать экран авторизации можно с помощью метода startActivityForResult, которому мы передаем интент, создающий и настраивающий окно авторизации, а также константу, хранящую код авторизации.
Создавать окно авторизации мы будем через проверку авторизации пользователя. Обернем этот метод в блок if…else комбинацией Ctrl+Alt+T и пропишем соответствующую проверку.
Если же пользователь авторизован, будем показывать ему экран чата со списком сообщений.
Для этого мы создадим метод displayChat и будем вызывать его здесь.
В методе displayChat создаем список сообщений. Также создаем адаптер списка, используя класс FirebaseListAdapter. Передаем ему контекст, класс модели сообщения, макет пункта списка и экземпляр базы данных Firebase.
Далее в автоматически созданном методе populateView, заполняем пункты списка.
Сначала определяем поля пункта списка по ID.
Затем прописываем текст сообщения, имя пользователя.
Также устанавливаем формат даты и отображаем ее. Обратите внимание – нужно использовать именно этот класс DateFormat.
И наконец, передаем адаптер списку.
Также нам нужно будет показать окно чата после окна авторизации в случае ее успеха. Для этого мы переопределим метод onActivityResult.
Вспоминаем Урок 30 курса основ разработки в Android Studio, где мы подробно рассматриваем этот метод. В двух словах, в метод onActivityResult приходит результат вызова Activity методом startActivityForResult, которым мы вызываем здесь окно авторизации.
Сначала вызываем метод суперкласса. затем проверям, что значение requestCode равно константе SIGN_IN_REQUEST_CODE, которую мы передаем в методе startActivityForResult. Затем мы проверяем, что вызов активити прошел успешно, и отображаем окно чата после оповещения пользователя об удачном входе.
В противном случае показываем уведомление о неудаче пользователю.
И теперь нам осталось реализовать выход пользователя из чата. Сделаем это через меню.
Создаем меню в методе onCreateOptionsMenu.
И переопределяем метод onOptionsItemSelected, где проверяем выбранный пользователем пункт и реализуем выход пользователя из учетной записи чата. В случае успеха отображаем снекбар с уведомлением.
В нашем приложении будет использоваться авторизация по email. Ее нужно активировать в консоли Firebase.
В процессе запуска также возникла ошибка, которая была связана с тем, что у меня было отключено Identity Toolkit API в консоли Google разработчика. для его включения можно перейти по ссылке прямо из ошибки в консоли.
Теперь запустите приложение на разных телефонах, авторизуйтесь и обменивайтесь сообщениями в чате.
Источник: www.fandroid.info
Как создать свой ЧАТ в локальной сети: за 5 шагов! (с несколькими комнатами/группами, с возможностью отправки файлов и картинок, уведомлениями, в т.ч. на телефон)
Для работы большинства популярных мессенджеров (Skype, Telegram, Viber и др.) требуется доступ к сети Интернет (причем, стабильный доступ!). А что если нужно быстро обмениваться сообщениями и файлами в локальной сети, — среди компьютеров, где такого доступа нет или он не стабильный? (да хоть дома, даже если у вас всего 2-3 ПК/ноутбука, подключенных к одному роутеру)
Вот тут как раз может помочь свой локальный чат, — который будет работать вне зависимости от сбоев Интернета (кстати, в компаниях и организациях — вещь вообще не заменимая!) . Да и скорость обмена файлами в таком чате будет явно повыше, чем в популярных мессенджерах! Чем не выход?!
Собственно, в этой заметке хочу привести пример подобного локального чата (который очень быстро развертывается и настраивается // причем без всяких специальных знаний ).
Простейший пример установки и настройки чата
ШАГ 1: выбор ПО
В своей заметке я решил остановиться на продукте «MyChat» — это клиент-серверный чат, подходящий для передачи сообщений и обмена файлами как дома, так и в офисе или компании (офиц. сайт разработчиков: https://nsoft-s.com/).
Свой пример ниже я подробно разберу по шагам именно в «MyChat».
Чем он интересен:
- во-первых , он очень легко и просто запускается, и настраивается. Даже если вы совсем не разбираетесь — вам потребуется 5-10 мин. времени, чтобы выполнить мой пример;
- во-вторых , «MyChat» поддерживает как групповые чаты (может быть несколько комнат), так и личные сообщения;
- в-третьих , можно обмениваться картинками, файлами;
- в-четвертых , сервер работает только в вашей сети, переписка не попадает в Интернет (а значит это безопасно!);
- в-пятых , «MyChat» предоставляет систему уведомлений, которая позволяет быть в курсе всех новостей и обновлений в команде;
- в-шестых , есть возможность совершения аудио-звонков.
В общем-то, весьма добротный набор для самых разных задач!
ШАГ 2: установка сервера (выбор «главного» ПК)
Для начала нужно выбрать тот компьютер, который будет основным (обычно в роли сервера выбирают тот ПК, который работает дольше, чем все остальные).
На этот один ПК нужно установить «MyChat сервер» (это обычный EXE-файл, устанавливается стандартно) — приложение можно загрузить с офиц. сайта: https://nsoft-s.com/downloadmychat.html
Скачать ПО — скрин с сайта разработчика
Кстати, при установке «MyChat сервер» нужно будет указать свой e-mail и название компании (может быть любым), а также настроить авто-запуск (см. пару скринов ниже).
Типовая установка сервера
После того, как приложение будет установлено и сервер будет запущен — вы заметите, что у вас в трее (в нижнем углу, рядом с часами) появиться соотв. значок в виде ПК — нажав по нему появится окно (как у меня на скрине ниже). Если всё так — значит чат запущен!
Кстати, в верхней части окна «MyChat Server» обратите внимание на его IP-адрес (в моем случае он 192.168.1.2). Он будет нужен нам для дальнейшей настройки.
В помощь!
Как узнать IP-адрес компьютера, ноутбука (а также, что такое локальный и внешний IP, динамический и статический — в чем разница) — https://ocomp.info/kak-uznat-ip-adres.html
192.168.1.2 — IP компьютера, на котором установлен сервер
Кстати, IP-адрес компьютера также можно посмотреть в настройках вашего роутера/маршрутизатора.
Настройки роутера — смотрим свой IP
ШАГ 3: установка клиента и подкл. к серверу (вход в чат)
Теперь нужно на все ПК/ноутбуки (на которых должен использоваться чат) — установить клиент «MyChat» . Загрузить его можно также с офиц. сайта: https://nsoft-s.com/downloadmychat.html
Обратите внимание!
В заметке я рассмотрю стандартную установку и настройку клиента. Но есть и более простой вариант: он разобран на одной из страничек офиц. сайта.
Загружаем клиент с офиц. сайта
Установка клиента проходит стандартно, в особых комментариях не нуждается.
Установка клиента, стандартно
При первом запуске клиента «MyChat» — нужно будет «кое-что» настроить. На этом остановлюсь.
Окно приветствия можно сразу же пропустить, нажав на «Далее» .
Мастер первого запуска MyChat
Далее лучше сразу выбрать пункт «Я знаю адрес сервера и укажу его вручную» (авто-поиск срабатывает далеко не всегда, в моем случае ни разу).
Автоматически найти мой сервер
Далее указываем тот IP-адрес компьютера, на котором у нас был запущен сервер (см. предыдущий шаг; в моем случае — это IP 192.168.1.2), и нажимаем кнопку «Проверить» . Если указали адрес правильно — загорится зеленая галочка. Можно нажать «Далее» .
Нужно указать тот IP-адрес, который мы посмотрели при установке сервера
Рекомендую сразу же создать новую учетную запись: потребуется указать имя пользователя и пароль.
Создать нового пользователя
Регистрация нового пользователя, MyChat
Собственно, на этом всё! Клиент подключиться к серверу, вы сможете войти в одну из конференций и написать свое первое сообщение.
Чат — войти в конференцию
ШАГ 4: начинаем обмен сообщениями
Для начала общения следует войти в нужную конференцию (в моем примере она называется «По работе» ). Далее справа вы увидите список участников, по центру — сам чат, и окно отправки текстовых сообщений. Достаточно набрать что-нибудь и нажать на кнопку отправки, она с «Самолетиком» .
Окно чата — 3 участника
В окне чата появится само сообщение и имя участника.
Отправляются и картинки, и текст
А в нижнем углу экрана, в трее, всплывет небольшое окно-уведомление о новом сообщении в чате. Удобно! Благодаря таким уведомлениям все участники быстро узнают о новой вводной.
Как выглядят уведомления при получении сообщения
ШАГ 5: что есть еще интересного
1) Приватные сообщения
Чтобы отправить кому-нибудь из участников чата личное сообщение (которое будет видно только ему!) — достаточно нажать по нику правой кнопкой мыши, и в меню выбрать «Открыть приват» .
Как отправить личное приватное сообщение
Далее можно спокойно общаться с пользователем в личном диалоге.
Чат на двоих — MyChat
2) Отправка файлов, ссылок и картинок
Чтобы отправить другому пользователю какой-нибудь файл — достаточно в меню чата нажать по кнопке со скрепкой «Вставить» (см. пример ниже). Всё просто!
Вставить — значок со скрепкой
3) Доп. инструменты
Обратите внимание, что во вкладке «Инструменты» есть возможность пригласить др. пользователя (по почте), просмотреть историю сообщений, открыть вкладку форума и пр.
В общем-то, если вам нужен простой чат — то на это можно не обращать внимание.
4) Свой персональный профиль лучше заполнить чуть подробнее: ФИО, почта, какие-то интересы (особенно, если у вас в сети есть 2-3 Александра, например , а то все будут пытаться «кто есть кто»).
5) Кстати, у клиента «MyChat» достаточно много настроек: звуки, события, горячие клавиши, интерфейс и т.д. См. скрин ниже.
Настройки программы MyChat
6) Кстати, есть также приложение для смартфона (одноименное, «MyChat»). Загрузить и установить можно с Play Market. Большая часть функций, что есть в клиенте для Windows — есть и тут.
Скрин MyChat от разраб. на Android
Выводы
Если говорить в целом — то приложение свою задачу решает, если не на 5, то на 4 уж точно! Чат работает стабильно, уведомления приходят, файлы пересылаются, группы создаются, вроде бы ничего нигде не виснет и не тормозит. И главное, «это добро» можно быстро установить и настроить!
Также понравилось, что у «MyChat» есть рус. поддержка, много инструкций на сайте разработчика. Думаю, что за небольшую плату — вам даже смогут настроить чат под любые тонкости вашей сети.
С другой стороны: есть, конечно, и несколько минусов (но они не критичны, по крайней мере, если вы ищите именно чат/мессенджер, а не комбайн).
- приложение бесплатное только при усл. что у вас в сети
- простенький дизайн (+ не все элементы поддерживают масштабирование Windows). Но в принципе, пользоваться это не мешает ;
- когда все пользователи покидают комнату (конференцию) — она автоматически «исчезает» из меню клиента. Эта штука (как по мне) не очень удобна. Чтобы это «устранить» — нужно создать «авто-возобновляемую» конференцию (правда, до этого пришлось «додуматься», сходу это не так очевидно) ;
- подозреваю, что на некоторых ПК могут быть проблемы с аудио-звонками (в настройках программы нужно правильно задать параметры звука: выбрать микрофон, наушники и пр. Мне это было без надобности, поэтому на этом я не зацикливался. ).
Иные дополнения по теме — приветствуются в комментариях ниже.
За сим откланиваюсь, удачи!
Источник: ocomp.info
Как создать секретный или групповой чат в Telegram, пригласить в него пользователей, настроить или удалить надоевшую группу
Здравствуйте, уважаемые читатели! Сегодня я расскажу вам о том, как создать чат в Телеграмме. Секретный (закрытый), публичный (групповой), объясню, что это такое и в чём заключаются основные отличия от каналов. Покажу, как создать папку чатов.
Ранее я уже рассказывал о том, что такое Telegram. Благодаря чатам и каналам данный мессенджер стал идеальной платформой для конференций, общения между сотрудниками, одногруппниками, одноклассниками, большой компании. И хотя это не социальная сеть в привычном понимании, в сервисе есть что-то, что заставляет людей покидать ВКонтакте или Одноклассники.
Что такое чат в Телеграм
В одной из предыдущих статей я уже писал про такой способ общения, как каналы. В ней же рассказывалось о функционале этого вида сообществ. Если подытожить, то каналы – это что-то на подобии микроблога: идеальный инструмент для создания торговой площадки или ленты новостей. Каналы не подразумевают обсуждение записи читателями, а оценка постов происходит только при желании автора настроить специального бота или при помощи эмодзи.
А вот чат или группа (на самом деле это одно и то же) – это средство для общения внутри мессенджера. Существуют несколько видов таких сообществ. Одни позволяют двум пользователям вести личную переписку, вторые рассчитаны на большие группы людей. Есть даже супергруппы, в которых могут состоять до 200 000 человек (когда они только появились, было всего 5 000). Это идеальное решение для крупных конференций, где каждый может обсудить запись другого участника диалога.
Обычный
Самый обычный чат создается между двумя людьми, когда один из них пишет другому. А еще так можно отправлять любые типы файлов.
Групповой
Групповой чат – это переписка между несколькими пользователями. Чтобы её начать, потребуется:
- Создать новую группу;
- Пригласить людей из списка контактов.
В дальнейшем можно приглашать новых пользователей просто отправив им специальную ссылку. Или, как вариант, администратор и участники беседы раскидают приглашения своим друзьям из списка контактов.
Важно! Исключать пользователей может только создатель.
Секретный
Если вас интересует, как создать секретный (он же анонимный или закрытый) чат в Телеграмме, то, спешу обрадовать — это делается очень быстро и легко. Ну а о том, как это сделать я расскажу чуть ниже. Если же вы не знаете, что это такое, то это специальный диалог, который отлично подойдет для людей, беспокоящихся о своей конфиденциальности. Однако, существуют значительные ограничения. Например, анонимно отправлять сообщения не получится, но о переписке будете знать только вы и собеседник.
Отличия от классического диалога в следующих аспектах:
- сообщения, отправленные с одного устройства на другое, проходят шифровку-дешифровку;
- переданная друг-другу информация не хранится в облаке, а отправляется непосредственно с устройства на устройство;
- приложение запрещает делать скриншоты экрана смартфона, когда открыт секретный чат, что также защищает информацию от пересылки другому человеку в виде фотографии экрана;
- сообщения в переписке могут пропадать по истечении определенного времени;
- если удалить сообщение на одном устройстве, оно удалится на всех остальных автоматически.
Зная о том, как создать закрытый чат, в котором все сообщения проходят процесс шифрования и удаляются по истечении определенного периода времени, можно не переживать о своей личной жизни. Очень даже удобная фишка.
Как создать группу в Telegram
Как я уже говорил выше, обычный диалог между двумя людьми – это и есть чат. Но, не менее важно знать, как создать группу, в которой могли бы общаться сразу несколько пользователей.
Для того чтобы понять, как создать новый чат в Telegram, не нужно обладать особыми знаниями или умениями. Для этого понадобится только наличие хотя бы одного человека в списке контактов.
Браузерная версия мессенджера лишена функции создания сообществ.
Как сделать на компьютере
Вот пошаговая инструкция по созданию групп на ПК:
- Откройте приложение Telegram.
- В левом верхнем углу нажмите на кнопку в виде трех горизонтальных полосок. Откроется меню приложения.
- Выберите «Создать группу» или «New group».
- В открывшемся окне введите название
- В сообщество нужно обязательно пригласить хотя бы одного знакомого из списка контактов. В дальнейшем приглашение можно будет рассылать даже незнакомым людям.
Все довольно просто, не правда ли?
Создаём на мобильном телефоне
А теперь посмотрим, как общий (публичный) чат создается на смартфонах:
- Открываете приложение на смартфоне Android, iOS или Windows Mobile.
- Открываете меню, нажав на значок в виде трех горизонтальных полос в левом верхнем углу.
- Нажимаете на «Создать группу» или «New group».
- На следующей странице потребуется пригласить одного участника из списка контактов.
- Приложение предложит ввести название.
Как создать секретный чат
Если вы хотите создать секретную (анонимную) группу, потребуется:
- Зайти в приложение на смартфоне (не забывайте, что такие чаты на ПК не сделать по вполне понятным причинам) и нажать на три черточки слева сверху;
- В меню приложения (только на смартфонах) выбрать «Создать секретный чат» или «New secret chat».
- Указать одного собеседника из своего списка контактов.
Закрытая группа для общения между двумя пользователями создана.
Основные настройки
В группе главным считается ее создатель. Он может назначать других администраторов, исключать лишних пользователей. Приглашать людей в группу может каждый из участников. Также администраторы могут закреплять сообщения в самом верху сообщества, изменять аватар. Для этого нужно:
- Нажать на название чата в верхней части экрана (на скрине ниже оно закрашено).
- В правом верхнем углу расположена кнопка в виде трех точек. Нажмите ее.
- Выберите то, что вас интересует. Можно: поставить автоудаление, установить администраторов, изменить имя сообщества и т.д..
Кстати, если хотите очистить или выгрузить историю чата, то можете просто нажать на троеточие справа сверху:
И выбрать интересующий пункт (удаление или экспорт истории):
Таким вот образом можно управлять сообществом. При выборе администраторов, функция «Все участники Администраторы» или «All members are Admins» должна быть выключена. Если ее включить, любой сможет управлять группой.
Супергруппа – все то же самое, только с большим максимальным количеством участников. Также у нее есть ряд преимуществ: выбор между открытым/закрытым типом, формирование собственной ссылки доступа. Такие беседы можно найти даже в поиске.
Как приглашать других пользователей
Есть несколько вариантов. Первый – добавить из списка контактов:
- Откройте чат группы.
- Выберите «Пригласить».
- Отметьте всех людей в списке контактов, которых вам бы хотелось увидеть в сообществе.
- Нажмите «Пригласить» или «Invite».
Второй вариант – использовать ссылку на группу, перейдя по которой пользователи вступят в общую беседу. Чтобы ее получить:
- Откройте диалог.
- Нажмите на название сообщества.
- Выберите «Пригласить» или «Invite members».
- В следующем окне нажмите «Пригласить по ссылке».
Перед вами откроется окно с искомой ссылкой. Там же можно ее настроить. Для этого нажмите «Управление приглашениями»:
У вас либо сразу появится окно с настройками, либо придется нажать «Создать новую ссылку». Выглядит нужное окошко вот так:
Как удалить чат в Телеграм
Чтобы полностью удалить группу в Телеграмме потребуется:
- Перейти на страницу группы в мессенджере.
- Нажать на название сообщества.
- Перейти в его меню, нажав на три точки в правом верхнем углу.
- Выбрать «Удалить и выйти» или «Delete and Leave».
- Сообщество будет удалено, история сообщений удалена.
Данная функция доступна только создателю чата!
Как создать папки чатов
В Telegram существует такая удобная функция, как папки. Они нужны, чтобы сгруппировать различные чаты и группы и их было проще искать.Выглядит это вот так:
Создать их очень просто. Для этого зайдите в настройки:
Выберите раздел с папками:
Введите название, выберете чаты, которые в ней будут и щелкнете «Создать»:
Если нужно добавить новые чаты или удалить какой то из старых — просто заходите в раздел с папками и там редактируйте нужную.
Заключение
Теперь и вы знаете, как создать чат в Телеграмме. Удалить, настроить, администрировать группу. Предпочитаете конфиденциальность? Не любите, когда за вашими переписками следят? Без проблем, ведь существуют секретные чаты.
Другими словами — это просто идеальный мессенджер, который подходит на все случаи жизни.
Спасибо за внимание, подписывайтесь, рассказывайте друзьям и до встречи в следующих статьях! Пока-пока!
Источник: iflife.ru