Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Милитари
3 / 3 / 3
Регистрация: 17.07.2013
Сообщений: 116
1

Вывод уведомления в зависимости от условия

28.07.2016, 09:27. Просмотров 812. Ответов 1
Метки нет (Все метки)

Имеется код который парсит страницу на сайте, получает одну из двух возможных цифр
Задача у меня такая:
Необходимо помещать полученные данные в переменную, а не выводить в ListView как это делается сейчас
После этого необходимо проверить, каким числом является пришедший ответ (1 или 2)
И в зависимости от этого вывести уведомление или не делать ни чего
Данную операцию необходимо проворачивать с интервалом от 5 до 30 секунд
Вот пожалуйста код, который парсит страничку (jsoup)


Кликните здесь для просмотра всего текста
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
81
package com.example.nikolay.jsoupdemo;
 
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
 
import java.io.IOException;
import java.util.ArrayList;
public class MainActivity extends Activity {
 
 
    // благодоря этому классу мы будет разбирать данные на куски
    public Elements title;
    // то в чем будем хранить данные пока не передадим адаптеру
    public ArrayList<String> titleList = new ArrayList<String>();
    // Listview Adapter для вывода данных
    private ArrayAdapter<String> adapter;
    // List view
    private ListView lv;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // определение данных
        lv = (ListView) findViewById(R.id.listView1);
        // запрос к нашему отдельному поток на выборку данных
        new NewThread().execute();
        // Добавляем данные для ListView
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, titleList);
    }
 
    /** А вот и внутрений класс который делает запросы, если вы не читали статьи у меня в блоге про отдельные
     * потоки советую почитать */
    public class NewThread extends AsyncTask<String, Void, String> {
 
        // Метод выполняющий запрос в фоне, в версиях выше 4 андроида, запросы в главном потоке выполнять
        // нельзя, поэтому все что вам нужно выполнять - выносите в отдельный тред
        @Override
        protected String doInBackground(String... arg) {
 
            // класс который захватывает страницу
            Document doc;
            try {
                // определяем откуда будем воровать данные
                doc = Jsoup.connect("http://xn--80aaefv0am4bqv.xn--p1ai/t.php").get();
                // задаем с какого места, я выбрал заголовке статей
                title = doc.select(".title");
                // чистим наш аррей лист для того что бы заполнить
                titleList.clear();
                // и в цикле захватываем все данные какие есть на странице
                for (Element titles : title) {
                    // записываем в аррей лист
                    titleList.add(titles.text());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            // ничего не возвращаем потому что я так захотел)
            return null;
        }
 
        @Override
        protected void onPostExecute(String result) {
 
            // после запроса обновляем листвью
            lv.setAdapter(adapter);
        }
 
 
    }
 
}

Очень надеюсь на Вашу поддержку, спасибо за понимание :з
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2016, 09:27
Ответы с готовыми решениями:

Вывод картинки при выполнении условия
Доброго времени суток нужна помощь необходимо выводить картинку при выполнении условия подскажите...

Вывод информации в зависимости от выбранной позиции элемента в списке
Всем привет! Такой вопрос... Есть главная активити со списком, при нажатии на элемент которого...

Уведомления
Приветствую, форумчане! Возникла такая задача, при написании приложения... Нужно чтобы в...

Вывод данных на форму в зависимости от условия
Доброго времени суток! Вопрос такой: как сделать чтобы при нажатии на первой форме определенной...

Вывод текста в зависимости от условия совпадения
Привет, помогите прописать правильно условие для такого функционала. Есть скрипт который по...

1
akyma40
16 / 15 / 3
Регистрация: 20.05.2015
Сообщений: 115
28.07.2016, 21:45 2
Лучший ответ Сообщение было отмечено Милитари как решение

Решение

Думаю намного лучше будет делать это через httpclient
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("your URL"); 
                                
 
        HttpResponse response;
        String responseBody;
        try {
            response = client.execute(request);
            responseBody = EntityUtils.toString(response.getEntity());
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
Потом просто ставь
Java
1
2
3
if (responseBody == "") {
//уведомление
}
и все
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2016, 21:45

Вывод числа разного цвета в зависимости от условия (tasm)
Здравствуйте, необходимо реализовать следующее: число выводится на экран. Если чётное, то выводится...

Решение в зависимости от условия
Задание: При x&lt;0 и b не равно 0 (ax^2+b) При x&gt;0 и b=0 ((x-a)/(x-c)) В остальных случаях...

Перенаправление в зависимости от условия
Задача вроде бы простая: сделать сравнение 2х переменных, если $a&gt;=$b автоматом переходим на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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