Приложение мгновенных сообщений android

Я не знаю, насколько конкретно этот вопрос, но я рискну.

В настоящее время я изучаю Java и Android, и мне стало интересно, как сделать приложение для обмена мгновенными сообщениями. Я предполагаю, что есть подключение к серверам. Но я ничего не знаю.

Мой вопрос в том, какие технологии/языки программирования/темы мне нужно знать, чтобы создать его самостоятельно? (приложение с функциональностью, похожее на whatsapp. Я думал, что php, но я понятия не имею).

Я по-настоящему оценю обширный ответ, который объяснит мне, что я хорошо пойму то, что мне нужно сделать, узнать и узнать, чтобы сделать это. Благодарю!

1 ответ

Простое приложение Android Instant Messaging Просто потому, что это не приложение для конечных пользователей.

Это простое приложение для мгновенных сообщений, запущенное на Android, приложение делает HTTP-запрос на сервер, реализованный в php и mysql, для аутентификации, регистрации и получения статуса и данных других друзей, затем он обменивается данными с другими приложениями на других устройствах сокет.

Возможности Регистрация пользователя Аутентификация пользователя Добавление нового друга по имени пользователя Подтверждение друга Сообщения с другом в списке (конечно) Показывает онлайн-пользователей и офлайн-пользователей Запускает фоновый сервис, чтобы получать сообщения, даже когда приложение закрыто. Область уведомлений при получении нового сообщения. Выход из приложения (убивает фоновый сервис) Как выполнить его запуск Существует папка с именем "Сервер", скопируйте все файлы под папкой "Сервер" в папку в каталоге вашего веб-сервера, например, android_im, к которой можно получить доступ по http://192.168.7.5/android_im/ (192.168.7.5 - IP-адрес компьютера, на котором выполняется apache и mysql, используйте локальный сетевой IP-адрес вместо использования localhost или 127.0.0.1). Откройте index.php и введите параметры подключения к базе данных, такие как хост, имя пользователя, пароль и т.д. Напишите error_reporting (0) в верхней части index.php Создайте таблицы в базе данных mysql

CREATE TABLE 'friends' (
 'Id' int(10) unsigned NOT NULL auto_increment,
 'providerId' int(10) unsigned NOT NULL default '0',
 'requestId' int(10) unsigned NOT NULL default '0',
 'status' binary(1) NOT NULL default '0',
 PRIMARY KEY ('Id'),
 UNIQUE KEY 'Index_3' ('providerId','requestId'),
 KEY 'Index_2' ('providerId','requestId','status')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='providerId is the Id of the users who wish to be friend with';

CREATE TABLE 'users' (
 'Id' int(10) unsigned NOT NULL auto_increment,
 'username' varchar(45) NOT NULL default '',
 'password' varchar(32) NOT NULL default '',
 'email' varchar(45) NOT NULL default '',
 'date' datetime NOT NULL default '0000-00-00 00:00:00',
 'status' *******(3) unsigned NOT NULL default '0',
 'authenticationTime' datetime NOT NULL default '0000-00-00 00:00:00',
 'userKey' varchar(32) NOT NULL default '',
 'IP' varchar(45) NOT NULL default '',
 'port' int(10) unsigned NOT NULL default '0',
 PRIMARY KEY ('Id'),
 UNIQUE KEY 'Index_2' ('username'),
 KEY 'Index_3' ('authenticationTime')
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

установите AUTHENTICATION_SERVER_ADDRESS в socketOperator, это должен быть адрес, в котором находится папка сервера, для нашего примера это http://192.168.7.5/android_im/ (не использовать localhost)

Затем запустите приложение в Eclipse с помощью плагина ADT.

можно узнать, как установить Android SDK и плагин ADT

Каждое приложение открывает случайный порт (более 10000) для прослушивания, для передачи приложений требуется переадресация портов. Можно узнать, что номера портов - это то, что приложения открываются в таблице "users".

если он хочет запускать приложения на одном компьютере, удалите косые черты в строке //IP=10.0.2.2 в функции sendmessage в imService. Затем вам нужно переадресовать порт. позвольте мне привести пример, например, user1 войдет в систему эмулятора-5554 с номером порта 12345, а user2 войдет в систему эмулятора-5556 с номером порта 54321

затем выполните эти команды

adb -s эмулятор-5554 вперед tcp: 12345 tcp: 12345

adb -s эмулятор-5556 вперед tcp: 54321 tcp: 54321

licensed under cc by-sa 3.0 with attribution.