Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
JanCover
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 48
#1

Перенос кода клиент/сервера на Android - Программирование Android

06.10.2016, 18:24. Просмотров 320. Ответов 2
Метки нет (Все метки)

Здравствуйте =)
Начал изучать андроид и возникла такая проблема, а именно перенос Java кода в код приложения
У меня есть работающий код сервера и клиента, а именно на сервере пишется с клавиатуры 1 или 0 и отправляется клиенту, клиент же выводит у себя значение статуса в зависимости от присланной переменной
1 - dor_open
0 - dor_close

Сервер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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(); }
    }
}
Клиент
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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, может нормально )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2016, 18:24     Перенос кода клиент/сервера на Android
Посмотрите здесь:

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

Клиент на Android не получает данные с сервера - Программирование Android
Сервер на компе, написан на .Net, клиент на Android, ставится на устройство. Находясь в одной сети клиент подключается к серверу на .Net,...

Get и Post обязательный атрибут для клиент-сервера Android? - Программирование Android
Существуют ли другие методы для отправления запросов на сервер с приложения помимо GET запроса? Или использовать лишь get запрос?

Android клиент-серверное приложение. Не могу получить данные с сервера - Программирование Android
Добрый день. Пытаюсь сделать клиент-серверное приложение: клиент Android, сервер - Windows, программа на Java. Проблема в том, что с...

Перенос Java-кода на платформу Android - Программирование Android
Всем доброе утро! Есть неплохой код. Но мне оказалось этого мало и хочу перенести на платформу Android с помощью Android Studio. ...

Реализация клиент сервера - Программирование Android
Здравствуйте! Нашел все таки тему для своего дипломного проекта - система тестирования знаний с помощью мобильных приложений. Пока что вижу...

Клиент-сервер Linux-Android - Программирование Android
Передо мной стоит задача - написать простенький клиент сервер. Сервер на Debian, клиент Android 4.2.2. Вопрос собссно какой - подсказать в...

Клиент Android не коннектится к Серверу пк - Программирование Android
Клиент Android не коннектится к Серверу ПК. Сервер: import java.io.*; import java.net.*; public class Server { ...

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

Клиент-сервер для android - Программирование Android
Здравствуйте. Мне нужно сделать следующее:сервер с базой данных и клиенты на пк и android с помощью которых будет выполняться работа с бд....

Клиент-серверное приложение android - Программирование Android
Ребят, такая задача: Необходимо, чтобы пользователь1 мог отправлять сообщение со своего приложения на телефоне/компьютере на другое...

Чтение данных с сервера (TCP клиент) - Программирование Android
Добрый день подскажите как реализовать чтение данных с сервера непрерывным потоком и выводить все в TextView. отправку на сервер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
shavuz
101 / 107 / 20
Регистрация: 29.01.2014
Сообщений: 534
11.10.2016, 10:53     Перенос кода клиент/сервера на Android #2
ну по идее у сервера должно быть API, через него приложение должно отправлять гет/пост на сервер. смотрите ретрофит или volley через них шлете запросы на сервер.
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 584
15.10.2016, 01:16     Перенос кода клиент/сервера на Android #3
shavuz, ты вообще читаещь что ТС пишет??

JanCover, ну сперва надо понять что в андроиде нельзя выполнять такую работу как передача данных, надо обязательно создать отдельный поток.
Не понятно на андроиде что будет сервер или клиент?
Вообще море мануалов в инете. Да и от студии был сэмпл с чатом.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru