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

UiThread, как вынести процесс из главного потока? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Книги по Android-разработке http://www.cyberforum.ru/android-dev/thread1370652.html
Посоветуйте лучшие по вашему мнению книгу по android develop для новичков.
Программирование Android Совершить звонок Мне нужно совершить звонок с символом # http://www.cyberforum.ru/android-dev/thread1370613.html
Программирование Android Погода в андроид
Как мне реализовать погоду, причем чтобы проорамма находила мое местоположение и по нем искала погоду
Авторизация на вебсервисе Программирование Android
Доброго времени суток, комрады! Сразу оговорюсь, пишу я в Xamarin, но мне кажется, что проблема моя общего характера и не зависит от среды разработки. Так собственно проблема: есть у меня вебсервис, я с ним работаю через SOAP протокол. На десктопе всё ОК, всё работает как швейцарские часы. А вот то же самое на Андроиде вылетает с ошибкой "http 401: Unauthorized". Перейдём к коду, хотя тут...
Программирование Android Посоветуйте хороший справочник по разметке http://www.cyberforum.ru/android-dev/thread1370559.html
Здравствуйте! Вот мне для понимания самые сложные языки, с которыми я сталкивался, являются CSS и XML. По CSS я нашёл ну просто очень удобный справочник: http://htmlbook.ru/css Подскажите, пожалуйста, есть ли какой-нибудь удобный справочник по XML разметке для макетов Android? Каждый раз мне очень сложно создавать макеты (с CSS тоже, но для него у меня хотя бы есть справочник), хотя уже вроде и...
Программирование Android Действие при взмахи телефона Всем привет, хочу сделать такую фишку чтобы во время взмаха телефона, тряске , запускался определенный код подробнее

Показать сообщение отдельно
IrenJensen
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 9
08.02.2015, 15:53  [ТС]     UiThread, как вынести процесс из главного потока?
contedevel, весь исходник не мой, взят из урока с сайта devcolibri.com. я не могу понять, что Вы имеете ввиду. Ткните носом, где в коде реализован доступ к элементам основного потока и как от этого избавиться, подробнее, пожалуйста

Добавлено через 10 минут
кстати, onPostExecute там тоже используется. вот полный код класса:

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
class GetProductDetails extends AsyncTask<String, String, String> {
 
        /**
         * Перед началом показать в фоновом потоке прогресс диалог
         **/
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(EditProductActivity.this);
            pDialog.setMessage("Loading product details. Please wait...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
        }
 
        /**
         * Получение детальной информации о продукте в фоновом режиме
         **/
        protected String doInBackground(String[] params) {
 
            // обновляем UI форму
            runOnUiThread(new Runnable() {
                public void run() {
                    // проверяем статус success тега
                    int success;
                    try {
                        // Список параметров
                        List<NameValuePair> params = new ArrayList<NameValuePair>();
                        params.add(new BasicNameValuePair("pid", pid));
 
                        // получаем продукт по HTTP запросу
                        JSONObject json = jsonParser.makeHttpRequest(url_product_detials, "GET", params);
 
                        Log.d("Single Product Details", json.toString());
 
                        success = json.getInt(TAG_SUCCESS);
                        if (success == 1) {
                            // Успешно получинна детальная информация о продукте
                            JSONArray productObj = json.getJSONArray(TAG_PRODUCT);
 
                            // получаем первый обьект с JSON Array
                            JSONObject product = productObj.getJSONObject(0);
 
                            // продукт с pid найден
                            // Edit Text
                            txtName = (EditText) findViewById(R.id.inputName);
                            txtPrice = (EditText) findViewById(R.id.inputPrice);
                            txtDesc = (EditText) findViewById(R.id.inputDesc);
 
                            // покаываем данные о продукте в EditText
                            txtName.setText(product.getString(TAG_NAME));
                            txtPrice.setText(product.getString(TAG_PRICE));
                            txtDesc.setText(product.getString(TAG_DESCRIPTION));
 
                        }else{
                            // продукт с pid не найден
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            });
 
            return null;
        }
 
        /**
         * После завершения фоновой задачи закрываем диалог прогресс
         **/
        protected void onPostExecute(String file_url) {
            // закрываем диалог прогресс
 
            super.onPostExecute("Hello");
            pDialog.dismiss();
        }
    }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru