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

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

19.12.2017, 15:29. Показов 2147. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru