Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 26

Изменение цвета текста, когда код цвета берется с сервера

19.12.2017, 15:29. Показов 2191. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задание :
Отправить на сервер название цвета, получить от сервера цвет в формате RGB и изменить цвет текста в поле на полученный от сервера код (например, red -> #FF0000). Использовать протокол UDP.

Собственно, у меня все работает, но есть проблема в клиентской части. Когда первый раз отправляешь на сервер к примеру "red", то он присылает тебе код и красит его в этот же цвет. Но когда пытаешься повторить это действие, то приложение крашится. Название цвета на это не влияет, вторая попытка всегда приводит к неудаче.

Вот код клиента:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.example.myapplication;
 
import android.graphics.Color;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
 
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        final EditText serverIpEdit = (EditText)findViewById(R.id.serverIP);
        serverIpEdit.setText("192.168.56.1");/**/
        final EditText requestMessageEdit = (EditText)findViewById(R.id.requestMessage);
        requestMessageEdit.setText("red");/**/
        Button sendMessageButton = (Button)findViewById(R.id.sendMessage);
 
 
        class MyAsyncTask extends AsyncTask {
 
            @Override
            protected Object doInBackground(Object[] params) {
                String responseMessage = "";
                try{
                    DatagramSocket socket = new DatagramSocket();
                    byte[] request = ((String)params[1]).getBytes();
                    InetAddress address = InetAddress.getByName((String) params[0]);
                    DatagramPacket packet = new DatagramPacket(request, request.length, address, 4445);
                    socket.send(packet);
 
                    byte[] response = new byte[socket.getReceiveBufferSize()];
                    packet = new DatagramPacket(response, response.length);
                    socket.receive(packet);
                    socket.close();
 
                    responseMessage = new String(packet.getData());
 
                } catch(UnknownHostException e){
                    e.printStackTrace();
                } catch (SocketException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
 
                return responseMessage;
            }
 
            @Override
            protected void onPostExecute(Object o) {
                requestMessageEdit.setText((String)o);
            }
 
        };
 
        sendMessageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new MyAsyncTask().execute(serverIpEdit.getText().toString(), requestMessageEdit.getText().toString());
                requestMessageEdit.setTextColor(Color.parseColor(requestMessageEdit.getText().toString()));
            }
        });
 
    }
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2017, 15:29
Ответы с готовыми решениями:

ContextMenu изменение цвета выбора и цвета текста
Добрый день подскажите как сделать так что бы после выбора пункта меню цвет текста менялся обратно class...

Изменение цвета названия файла/папки (либо цвета подсветки)
Привет супер уважаемые супер форумчане!) Очень интересно, есть ли какой-то способ изменить цвет названия файла/папки, либо изменить цвет...

Изменение цвета прямоугольника, увеличивая или уменьшая составляющие цвета (почему не работает программа?)
2.2 Работа с кнопками и цветом Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета. Задание ...

3
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.12.2017, 15:43
лог ошибки показать не?
0
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 26
19.12.2017, 16:03  [ТС]
Цитата Сообщение от Pablito Посмотреть сообщение
лог ошибки показать не?
Так в том и суть, там ничего нет. Никаких ошибок. Только в эмуляторе окошко всплывает с текстом "Unfortunately, My Application has stopped"
0
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
19.12.2017, 16:19
MyAsyncTask вынести из метода onCreate(), а чтоб он был внутри MainActivity
переменные serverIpEdit и requestMessageEdit сделать полями класса.

requestMessageEdit.setTextColor(Color.pa rseColor(requestMessageEdit.getText().to String()));
продублировать в onPostExecute(Object o), потому что там вы просто вставляете текст и не парсите его в цвет.

А лог всегда есть, вы в Logcat смотрели?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2017, 16:19
Помогаю со студенческими работами здесь

Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы
1. Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы. 2. Создайте кнопку «Перемещение формы» ...

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

Плавное изменение цвета фона по времени в рандомные цвета
В общем, есть изображение (фон), мне необходимо, чтобы оно плавно окрашивалось в различные цвета Помогите, пожалуйста

Оперативное изменение цвета фона и цвета символов строки.
я уже задала строку,вывела на экран в виде бесконечно бегущей строки. осталось сделать оперативное изменение цвета фона и цвета символов...

Изменение цвета ячейки в QTableView когда меняется значение QCheckBox
Доброго времени суток. Имеется QTableView с моделью QStandardItemModel. Задача такая, на некоторых ячейках я разрешил Checkable, мне нужно...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru