|
Модераторы: javastic |
|
JanCover |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 6.10.2016 Репутация: нет Всего: нет |
Здравствуйте =)
Начал изучать андроид и возникла такая проблема, а именно перенос Java кода в код приложения У меня есть работающий код сервера и клиента, а именно на сервере пишется с клавиатуры 1 или 0 и отправляется клиенту, клиент же выводит у себя значение статуса в зависимости от присланной переменной 1 - dor_open 0 - dor_close Сервер Код: import java.net.*; import java.io.*; public class Server { public static void main(String[] ar) { int port = 6666; // случайный порт (может быть любое число от 1025 до 65535) try { ServerSocket ss = new ServerSocket(port); // создаем сокет сервера и привязываем его к вышеуказанному порту System.out.println("Waiting for a client..."); Socket socket = ss.accept(); // заставляем сервер ждать подключений и выводим сообщение когда кто-то связался с сервером System.out.println("Got a client ... Finally, someone saw me through all the cover!"); System.out.println(); // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиенту. InputStream sin = socket.getInputStream(); OutputStream sout = socket.getOutputStream(); // Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения. DataInputStream in = new DataInputStream(sin); DataOutputStream out = new DataOutputStream(sout); BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in)); String dor = null; while (true) { dor = keyboard.readLine(); // ждем пока пользователь введет что-то и нажмет кнопку Enter. out.writeUTF(dor); // отсылаем введенную строку текста клиенту. out.flush(); // заставляем поток закончить передачу данных. } } catch(Exception x) { x.printStackTrace(); } } } Клиент Код: import java.net.*; import java.io.*; enum Status {dor_close, dor_open} public class Client { public static void main(String[] ar) { int serverPort = 6666; // здесь обязательно нужно указать порт к которому привязывается сервер. String address = "127.0.0.1"; // это IP-адрес компьютера, где исполняется наша серверная программа. // Здесь указан адрес того самого компьютера где будет исполняться и клиент. try { InetAddress ipAddress = InetAddress.getByName(address); // создаем объект который отображает вышеописанный IP-адрес. System.out.println("Any of you heard of a socket with IP address " + address + " and port " + serverPort + "?"); Socket socket = new Socket(ipAddress, serverPort); // создаем сокет используя IP-адрес и порт сервера. System.out.println("Yes! I just got hold of the program."); // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиентом. InputStream sin = socket.getInputStream(); OutputStream sout = socket.getOutputStream(); // Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения. DataInputStream in = new DataInputStream(sin); DataOutputStream out = new DataOutputStream(sout); Status status = Status.dor_close; System.out.println(status); while (true) { String dor = in.readUTF(); // ожидаем пока сервер пришлет строку текста. out.flush(); // заставляем поток закончить передачу данных. if (Status.dor_close == status && "1".equals(dor)) { status = Status.dor_open; System.out.println(status); continue; } else if (Status.dor_open == status && "0".equals(dor)) { status = Status.dor_close; System.out.println(status); continue; } } } catch (Exception x) { x.printStackTrace(); } } } Что мне нужно от андроида Нужно перенести код в андроид приложение так, что бы устанавливалось соединение с сервером и на сервере вводилась переменная и отправлялась на приложение, а в приложении в зависимости от присланной переменной менялся цвет небольшого индикатора 0 - красный цвет 1 - зелёный цвет Что я прошу от тебя, читатель, что бы ты помог мне с написанием приложения или помог с нужно литературой (потому что я не нашёл ничего такого :/ ) и подсказал нужное ПО, что бы там писать (пользуюсь Android Studio, может нормально ) |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Android | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |