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

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

Войти
Регистрация
Восстановить пароль
 
Lenchik_19
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 83
#1

Не выводит результат регулярных выражений - Android

16.12.2015, 16:04. Просмотров 177. Ответов 2
Метки нет (Все метки)

Первый раз разрабатываю приложение под андроид. Работаю в андроид студио, но пробовала и в Eclipse.
Наверное, главная проблема в том, что у меня нигде не запускается эмулятор, но в принципе есть возможность проверить на своем андроиде.
Так вот, приложение просто должно вытянуть температуру воздуха с сайта. Это я всё написала и проверила в Netbeans, что всё работает правильно. А вот когда запускаю приложение, то выводится только статический текст. Не могу понять в чем проблема. Помогите разобраться...
Вот листинг MainActivity.java:
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package com.example.termometrkremenchug;
 
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.*;
 
@SuppressLint("NewApi") public class MainActivity extends ActionBarActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button button = (Button) findViewById(R.id.refrbutton);
        button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) // пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ
            {
                RefreshTemper();
            }
        });
 
        RefreshTemper();
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
    public static 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
            ("<strong.*?>.*?</strong>\n(.+?)</span>");
            Matcher matcher = pattern.matcher(allpage.toString());
            if (matcher.find())
            {    
                matchtemper = matcher.group(1);            
            }
            return matchtemper;
        }
        catch (Exception e)
        {
            
        }
        return matchtemper;  
    }
    //----------------------------------------------------------------
    public void RefreshTemper()
    { 
        final TextView tTemper = (TextView) findViewById(R.id.temper);
         String bashtemp = GetTemper("http://www.kreminhotel.com.ua/ru/travel-tools/weather-in-kremenchuk.html");
          String[] rez = bashtemp.split("&");
            rez[0] = rez[0].replace("  ", "");
          tTemper.setText(rez[0].concat("°"));
        System.out.println(rez[0].concat("°"));
    }
}
Миниатюры
Не выводит результат регулярных выражений  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2015, 16:04     Не выводит результат регулярных выражений
Посмотрите здесь:

не выводит остаток в 1с 8.2 Android
Android Получить результат от стороннего приложения
Отрисовоку выводит за ошибку почему? Android
Android На телефоне не выводиться результат
Android Не понимаю результат операции деления
Почему Canvas не выводит текст? Android
Не выводит Toast Android
Не выводит список Android
Результат одинаковый? Android
Не выводит данные в textview Android
Android Выводит кракозябры
Запрос к БД возвращает некорректный результат Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2007 / 1749 / 543
Регистрация: 12.05.2014
Сообщений: 6,192
Завершенные тесты: 1
16.12.2015, 17:36     Не выводит результат регулярных выражений #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сто миллионов раз писалось на форуме и на каждом углу что все операции с сетью надо делать в отдельном потоке.
То есть весь этот getTemper выносить например в AsyncTask.
Тем на форуме полно, используй поиск по слову NetworkOnMainThreadExeption
Lenchik_19
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 83
16.12.2015, 19:04  [ТС]     Не выводит результат регулярных выражений #3
Спасибо большое. Очень помогли))))
Я уже двое суток над ним мучаюсь. Делала по примеру с интернета, там было так описано.
Yandex
Объявления
16.12.2015, 19:04     Не выводит результат регулярных выражений
Ответ Создать тему
Опции темы

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