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

Почему Handler не отображает сообщение на экране - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Ускорение времени срабатывания кнопок с несколькими кодами (Key android:codes="97,98,99") http://www.cyberforum.ru/android-dev/thread1594460.html
Есть олд стайл клавиатура (см. файл) и очень быстрый набиратель текста по-старинке :) Мне надо напечатать, например, "abac", что потребует достаточного много времени ожидания: 1-но нажатие для "а", подождать ~1 секунду, чтобы буква зафиксировалась и сдвинулся курсор, 2 нажатия для "b", подождать 1 сек. и т.д. Как можно программно указать, что, если прошло, предположим, 0.5 сек, то...
Android Безопасность амазоновского identity pool в app Как можно защитить identity pool? Если его даже зашифровать и оставить в ресурсах, все равно при декомпиляции он станет доступен взломщику ч/з функцию дешифровки. Есть ли идеи на сей счет? Спасибо. http://www.cyberforum.ru/android-dev/thread1594381.html
Out of memory imageLoader Android
Добрый день. Проблема такая, есть таск, загружающий некую информацию и там же imageLoader. Переписал для этого в Thread'ы, но переполнение памяти не исключается. Вопрос такой: как оптимально использовать память, чтобы не цеплять out of memory, грузить медленно, но уверенно? Желательно через thread, так как нужно высокоприеритетный поток запустить поверх загрузки. Может быть можно как-то...
Сложение флагов Android
Пример из урока startandroid: pMeasure.getMatrix(distance, matrix, PathMeasure.POSITION_MATRIX_FLAG + PathMeasure.TANGENT_MATRIX_FLAG); флаги. Их два POSITION_MATRIX_FLAG – в матрицу попадут данные только по позиции точки, TANGENT_MATRIX_FLAG – в матрицу попадут данные только по повороту в точке. Мы используем сразу оба флага. Скажите пожалуйста, почему мы используем...
Android Сделать звуковой генератор http://www.cyberforum.ru/android-dev/thread1593984.html
Всем привет. Ребят, как выдать в наушник звук импульсами примерно прямоугольной формы? Нужно сделать звуковой генератор от ~10 до ~10.000 герц частотой. Как сделать? Я кроме как PlaySound про вывод звука ничего не знаю.
Android Выбор шрифта для EditText Всем здравствуйте. Пишу текстовый редактор. Помогите организовать выбор шрифта. Текст вводится в EditText. У меня маленький опыт, я только начала изучение разработки программ для мобильных приложений, поэтому буду рада любой помощи. подробнее

Показать сообщение отдельно
Вячеслав_1988
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 21

Почему Handler не отображает сообщение на экране - Android

27.11.2015, 16:18. Просмотров 137. Ответов 1
Метки (Все метки)

Есть Handler, который выполняет Runnable, во входящий поток отправляется сообщение, по сути он должен отобразить его на экране, но нет, если не работает, то явно что-то я не так делаю, подскажите и не судите строго, я пока только пробую))
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
80
package com.example.client_1;
 
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
 
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
 
public class MainActivity extends Activity {
    
    TextView tvCon, tvRes;
    Button btnCon;
    Socket client = null;
    int cPort = 6574;
    String  msg1;
    Handler h;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        btnCon = (Button)findViewById(R.id.btnCon);
        tvRes = (TextView)findViewById(R.id.tvRes);
 
 
        btnCon.setOnClickListener(oclBtn);
    }
        
        OnClickListener oclBtn = new OnClickListener(){
 
            @Override
            public void onClick(View v) {
                
                Thread t = new Thread (new Runnable(){
                    public void run(){
                        DataOutputStream dataOutputStream = null;
                        DataInputStream dataInputStream = null;
                try 
                {
                    client = new Socket ("10.0.2.2", cPort);
                    dataOutputStream = new DataOutputStream (client.getOutputStream());
                    dataOutputStream.writeBytes("123 Android !@#$%^&*()_+");
                    
                    dataInputStream = new DataInputStream (client.getInputStream());
                    msg1 = dataInputStream.readUTF();
                    h.post(tvResCh);
                }
                catch (UnknownHostException e)
                {
                    tvCon.append('\n' + "Error" + e.getMessage());
                    e.printStackTrace();
                }
                catch (IOException e)
                {
                    tvCon.append('\n' + "Error" + e.getMessage());
                    e.printStackTrace();
                }
                    }
                });
                t.start();
            }
            
        };
        Runnable tvResCh = new Runnable() {
            public void run(){
                tvRes.setText(msg1);
            }
            
        };
 
    }
Кстати, сообщение серверу отправляется и приходит только один раз по нажатию кнопки, дальше, сколько не кликай не идет...

Добавлено через 43 минуты
Начал отправлять, я просто не написал h = new Handler(); в основном потоке, только он отображает на экран сообщение "java.io.dataInputStream@цифры-буквы" и, как в случае с отправкой сообщения серверу, это происходит только один раз, а дальше - сколько не кликай...
Может это потому, что отправка.прием сообщений и подключение к серверу происходят по нажатию одной и той же кнопки?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru