Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
MrMistan
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 11
#1

Вытянуть информацию с кода страницы сайта - Программирование Android

30.08.2016, 15:10. Просмотров 598. Ответов 20

Всем привет! Нашел пример в интернете как сделать простое приложение, которое считывает температуру с сайта. По кнопке Button обновляет температуру, а в TextView отображаем ее. Пытаюсь сделать его рабочим, но все без успешно - ничего не выводит. Скажите, что не так.
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
package com.example.marymistan.temperature;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.*;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button btnRefreshTemperature = (Button) findViewById(R.id.btnRefreshTemperature);
 
        btnRefreshTemperature.setOnClickListener(new Button.OnClickListener(){
            @Override
            public void onClick(View view){
                RefreshTemper();
            }
        });
        RefreshTemper();
    }
 
    public String GetTemper(String urlsite) // функция загрузки температуры
    {
        String matchtemper = "";
        try
        {
            URL url = new URL(urlsite);
            URLConnection conn = url.openConnection();
            InputStreamReader rd = new InputStreamReader(conn.getInputStream());
            StringBuilder allpage = new StringBuilder();
            int n = 0;
            char[] buffer = new char[40000];
            while (n >= 0)
            {
                n = rd.read(buffer, 0, buffer.length);
                if (n > 0)
                {
                    allpage.append(buffer, 0, n);
                }
            }
 
            final Pattern pattern = Pattern.compile
                    ("^<li><b>Текущая:([-+0-9])°C</b></li>$");
            Matcher matcher = pattern.matcher(allpage.toString());
            if (matcher.find()){
                matchtemper = matcher.group(1);
            }
            return matchtemper;
        }
        catch (Exception e){
        }
        return matchtemper;
    }
 
    private void RefreshTemper(){
        final TextView textTemperature = (TextView) findViewById(R.id.textTemperature);
        String bashtemp = "";
        bashtemp = GetTemper("http://belmeteo.net/");
        textTemperature.setText(bashtemp.concat("°"));
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2016, 15:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вытянуть информацию с кода страницы сайта (Программирование Android):

API Авито вытянуть информацию об объявлении
Всем привет. Появилась нужда вытянуть информацию об объявлении, но при частом обращении к авито, они банят по ip. А мобильное...

Отпарсить страничку, вытянуть кусок кода между комментариями
Всем привет. Такой вопрос, есть html страница, необходимый мне кусок кода заключен в 2х комментариях ( &lt;!--ON--&gt; и &lt;!--OFF--&gt;). Каким...

Как скопировать информацию с сайта и вставить её в приложение?
На фотографиях не мое приложение, интересует создание такого приложения. Хотелось бы узнать как создается всплывающий список и как он...

Получение кода страницы
Приложение закрывается после нажатия на кнопку почему? public class MainActivity extends Activity { EditText editText; String s...

Извлечение кода из страницы WebView
Здравствуйте. Есть страница загруженная WebView с кодом авторизации, который нужно использовать в приложении. Как этот код можно...

Получение html кода страницы
Помогите разобраться с получением html кода интернет страницы в приложении android, для последующего извлечения из неё информации.

20
Pablito
2644 / 2126 / 725
Регистрация: 12.05.2014
Сообщений: 7,432
Завершенные тесты: 1
02.09.2016, 12:50 #21
Если уж так случилось и у сайта вообще нет api и нет другого выхода как вытягивать всю страницу и потом ее разбирать, я бы рекомендовал почитать про библиотеку JSOUP.
Не бежать тупо на форум что бы разжевали и помогли проглотить, а поработать с ней самостоятельно. Примеров в инете просто валом.
1
02.09.2016, 12:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2016, 12:50
Привет! Вот еще темы с решениями:

Получение кода web страницы
Не могу получить код web страницы: runOnUiThread(new Runnable() { @Override public void run() { try { ...

Ошибка при парсинге страницы сайта
В методе онклик пишу: public void onClick(View v) { Document doc = null; try { doc =...

Доступ из HTML кода страницы, загруженной в WebView, к данным приложения
Возможно ли это? В частности, мне нужно передать джаваскрипту страницы версию установленного приложения.

Как можно, например из сайта gmail из исходного кода вытянуть пустой ли ящик !?
Хочу написать программу какая будет проверять есть ли там письма .? может кто то делал, или это не возможно !? дайте совет ).Раньше...


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

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

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