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

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

Войти
Регистрация
Восстановить пароль
 
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
#1

Как обновить TextView с AsyncTask? - Программирование Android

08.05.2013, 21:01. Просмотров 998. Ответов 6
Метки нет (Все метки)

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
private class DownloadFilesTask extends AsyncTask<String, Integer, Long> {
    protected Long doInBackground(String... urls) {
        try{
            Listen();
        }
        catch (Exception x)
        {
            textIn.setText("shit! " + x.toString());
        }
        long i = 10;
        return i;
    }
}
public void Listen(){
    int count = 0;
    TextView msg = MyActivity.msg;
    ServerSocket server;
    Socket client;
    try {
        server = new ServerSocket(9797);
        Log.d("My log", "server started");
        Log.d("My log", "waiting for connnections");
        while (started) {
            try{
                msg.setText("waiting for connection"); <=== крешится здесь?
                client = server.accept();
                count++;
                Log.d("My Log", "Connected");
                Log.d("My Log", "aha" + count);
                int i = 0;
                String data = null;
                byte[] bytes = new byte[1024];
                InputStream is = client.getInputStream();
                OutputStream os = client.getOutputStream();
                while (is.available() == 0) {
                    try{
                        Thread.sleep(50);
                    }catch (Exception cc){}
                }
                is.read(bytes, 0, is.available());
                os.write("hala".getBytes());
                client.close();
            }catch (Exception cc)
            {
                cc.toString();
            }
        }
 
    } catch (Exception el) {
        el.printStackTrace();
    }
}
Помогите.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2013, 21:01     Как обновить TextView с AsyncTask?
Посмотрите здесь:
Android Как обновить textview в фрагменте после обновления preference
Как остановить AsyncTask? Android
Android Как приостановить doInBackground() из AsyncTask
AsyncTask как дождаться окончания Android
Как из AsyncTask Добавить элементы в ListView Android
Android Как получить значение String из UI потока в потоке AsyncTask?
Как написать простейший запрос на сервер без использование AsyncTask Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
08.05.2013, 21:11     Как обновить TextView с AsyncTask? #2
MegaSinner, внутри doInBackground не хорошо обращаться к UI

http://developer.android.com/trainin...onnecting.html
http://developer.android.com/referen...AsyncTask.html

если надо на Русском то http://startandroid.ru
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.05.2013, 22:00     Как обновить TextView с AsyncTask? #3
в onProgressUpdate и в onPostExecute
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
09.05.2013, 14:12  [ТС]     Как обновить TextView с AsyncTask? #4
Цитата Сообщение от V0v1k Посмотреть сообщение
в onProgressUpdate и в onPostExecute
пробовал, но эти методы не вызываются почему-то

Цитата Сообщение от c4sp3r Посмотреть сообщение
внутри doInBackground не хорошо обращаться к UI
возможно, но по другому низя работать с сетью..
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
09.05.2013, 14:23     Как обновить TextView с AsyncTask? #5
Цитата Сообщение от MegaSinner Посмотреть сообщение
пробовал, но эти методы не вызываются почему-то
у всех вызываются а у тебя нет?
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
09.05.2013, 19:50     Как обновить TextView с AsyncTask? #6
Цитата Сообщение от MegaSinner Посмотреть сообщение
возможно, но по другому низя работать с сетью..
Я про сеть нечего и не писал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2013, 15:19     Как обновить TextView с AsyncTask?
Еще ссылки по теме:
Android Как реализовать Синхронное выполнение двух функций при вызове AsyncTask
Android Как использовать TextView?
Android Работа с TextView как с числом
Как создать ссылку в TextView? Android
Как отформатировать текст в TextView Android

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

Или воспользуйтесь поиском по форуму:
jumb0jet
16 / 16 / 0
Регистрация: 08.05.2013
Сообщений: 40
10.05.2013, 15:19     Как обновить TextView с AsyncTask? #7
Рекомендую читать, документацию Android перед тем как задавать вопросы. Ведь там черным по белому написано, что нельзя обращаться к UI (пользовательскому интерфейсу) в методе AsyncTask.doInBackground(Object[]).
Если же очень сильно хочется, то в конструкторе вашего таска передайте ссылку на activity, в которой вы собираетесь обновлять интерфейс, и в методе AsyncTask.doInBackground(Object[]) вызовите метод Activity.runOnUiThread(Runnable action).
Насколько я понял у тебя переменная msg статическая - это не есть хорошо.

Было бы замечательно увидеть пример целиком. Ну и логи при падении приложения выложить тоже не помешало бы.
Yandex
Объявления
10.05.2013, 15:19     Как обновить TextView с AsyncTask?
Ответ Создать тему
Опции темы

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