2017-01-01 15 views
-4

Мне нужна помощь с некоторым кодированием сервера, поэтому я впервые разработал онлайн-приложение (уже разработал некоторые приложения для Android и офлайн). в основном это приложение принимает данные, такие как строки или цифры, из EditText, что User1 введен и отправлен пользователю User2, и он обновляет его TextView с данными, которые он получил от User1 (здесь два разных приложения). Я читал о Java-программировании, и я узнал об этом. немного узнать о TCP/UDP.Простой общий текст и номер Приложения (на стороне клиента) через Интернет

Так что я мог бы реально использовать пример кода, чтобы увидеть, что его будет выглядеть (получение данных из EditText и отправить его в user2, чтобы обновить его/ее TextView с полученными данными.)
Я также посмотрел в некоторые проекты, которые разделяли одну и ту же цель, хотя я понял некоторые из них, но смутился.

Предположим, у меня есть кусочки головоломки, и мне нужен кто-то вроде, чтобы показать мне, как собрать их вместе.

+1

Вы пытаетесь нанять разработчика, чтобы написать это для вас? –

+1

Добро пожаловать в StackOverflow. Пожалуйста, см. [Здесь] (http://stackoverflow.com/help/on-topic) для того, что является вопросом по теме –

+0

@DavidWallace nope, первый раз за все, что мне нужно знать, как будут выглядеть коды (отправка и получать). – Drilan

ответ

0

Существует несколько способов решения этой проблемы (REST, WebSocket и т. Д.). В этом случае я рекомендую использовать сокеты, но я оставлю это вам, чтобы прочитать о плюсах и минусах различных подходов.

Socket.IO имеет популярную библиотеку Android для двунаправленной связи в режиме реального времени между двумя узлами в режиме реального времени.

На высоком уровне, чтобы использовать Socket.IO в вашем приложении, вам сначала нужно создать экземпляр его. Это позволит вам отправлять и получать сообщения. Например:

private Socket mSocket; 
mSocket = IO.socket("http://chat.socket.io"); 
mSocket.connect(); 

Чтобы отправить сообщение, необходимо emit к событию. Назовем это событие "new message". Следующий код отправляет сообщение с использованием emit.

mSocket.emit("new message", message); 

В приложении чата, вы бы emit новое сообщение, когда пользователь нажимает на кнопку Send. В вашем конкретном случае, вам нужно сначала получить значение вашей EditText так:

mEditText.getText().toString() 

и затем emit сообщение в OnClickListener вашей отправляющей кнопки.

Теперь, когда мы знаем, как отправить сообщение, нам нужно знать, как получить сообщение. Чтобы получить сообщение, вам необходимо прослушать событие, а не излучать событие.

mSocket.on("new message", onNewMessage); 

выше линия будет слушать на "new message" событие, и выполнить поведение, установленный в onNewMessage, который является Listener. В вашем приложении чата вы можете обновить TextView новым сообщением, добавив логику в ваш Listener.

mTextView.setText(message); 

Напомним, что вам нужно:

  1. Создание сокета.IO экземпляр
  2. Когда пользователь нажимает Send, захватить текст из EditText и испускают его
  3. Прослушайте сообщения и обновления TextView

Сведения о реализации можно найти в Socket.IO's Android tutorial. Я настоятельно рекомендую вам взглянуть на это, поскольку это полный рабочий пример.

Надеюсь, это поможет!

+0

Спасибо, сэр! не могу поверить, что это было так просто. – Drilan

+0

Рад, что я мог помочь! –

 Смежные вопросы

  • Нет связанных вопросов^_^