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

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

Войти
Регистрация
Восстановить пароль
 
Милитари
2 / 2 / 1
Регистрация: 17.07.2013
Сообщений: 116
#1

Вывод уведомления в зависимости от условия - Программирование Android

28.07.2016, 09:27. Просмотров 169. Ответов 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);
        }
 
 
    }
 
}

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

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

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

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

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

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

Вывод уведомления в трее - Visual Basic .NET
как сделать чтобы NotifyIcon выводил уведомление при нажатии только левой кнопки мыши, а не при любом клике по иконке в трее.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
akyma40
16 / 15 / 3
Регистрация: 20.05.2015
Сообщений: 107
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 == "") {
//уведомление
}
и все
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2016, 21:45
Привет! Вот еще темы с ответами:

Вывод уведомления из трея - C#
Подскажите пожалуйста каким образом можно вывести подобное уведомление?

Вычислить в зависимости от условия - C++
Помогите решить задачу на с++ за ранее благодарен Если можно с комментариями и на базовом уровне.

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

Ответ в зависимости от условия - C++ Builder
Подскажите как написать код, что бы в программе задавался вопрос &quot;Как дела?&quot; И в зависимости от того что напишет человек, программа...


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

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

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