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

XXXX.setText - Как задать в отдельном методе

08.08.2018, 22:41. Просмотров 330. Ответов 1
Метки нет (Все метки)

Добрый день, всем!
Появилась необходимость написать приложение для сайта.
Есть некая страница в сети... на которой выведена информация от микроконтроллера.
И есть кнопка "Обновить".
Что бы не грузить страницу через браузер решил написать приложение для телефона.
В Андройде не силен, первый раз что то пишу...

Вот тестовый код... на котором отрабатываю...
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
package com.test.testget;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
import java.io.IOException;
import java.util.concurrent.TimeUnit;
 
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
 
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    String verNum = "1.0 Beta";
    // < ---- Рабочие переменные ---- >
    String nowTime;
    // url для Get
    public String url;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        // грузим оболочку (экран)
        setContentView(R.layout.activity_main);
 
        // < ---- Блок объектов ---- >
        TextView textObjNowTime = (TextView) findViewById(R.id.nowTime); 
        Button butRefInfo = (Button) findViewById(R.id.butRefInfo);
 
        // присваиваем значение...
        textObjNowTime.setText("" + nowTime); // <----- Как вынести это в отдельный метод ???
 
        // < ---- Отлов кликов по кнопкам ---- >
        butRefInfo.setOnClickListener(this); // обнова
    }
 
    @Override
    public void onClick(View view) {
        // < ---- Обработка кликов ---- >
        switch (view.getId()) {
            case R.id.butRefInfo:
                //обновляем инфу
                Toast.makeText(getApplicationContext(), "Обновляем...", Toast.LENGTH_SHORT).show();
                url = "урл....";
                getData(url);
                break;
        }
    }
 
    public void getData (String url) {
        // < ---- okHttp ---- >
        OkHttpClient client = new OkHttpClient();
        // не видит setConnectTimeout и setReadTimeout ????? 
        client.setConnectTimeout(15, TimeUnit.SECONDS); // connect timeout
        client.setReadTimeout(15, TimeUnit.SECONDS); // socket timeout
 
        Request reqCl = new Request.Builder()
                .url(url)
                .build();
        client.newCall(reqCl).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
            }
 
            @Override
            public void onResponse(Call call, Response resCL) throws IOException {
                if(resCL.isSuccessful()){
                    final String myData = resCL.body().string();
                    Log.i("Ответ - >>>", myData);
                }
            }
        });
    }
}
Собственно процесс проходит так...
жмешь кнопку, посылается Get запрос... Далее прилетает ответ в виде html кода
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE HTML>
        <html>
        <head>
            <meta name='apple-mobile-web-app-capable' content='yes'><meta name='apple-mobile-web-app-status-bar-style' content='black-translucent'><meta charset="UTF-8">
            <script type="text/javascript" src="http://ff.kis.v2.scr.kaspersky-labs.com/9868224F-0661-FD47-BC3C-E141A2B6AE91/main.js" charset="UTF-8"></script>
            <link rel="stylesheet" crossorigin="anonymous" href="http://ff.kis.v2.scr.kaspersky-labs.com/667AEA16-03DD-B84B-B8A6-8017EC69C27E/abn/main.css"/>
        </head>
            <body bgcolor = "#f7e6ec">
                <hr><h4><center> Тестовая страница </center></h4>
                <hr>&nbsp;Текущее время:<a id = "time"> 22:49:57</a><br>
                    <a href="/ref""><button>Обновить!</button></a>
          </html>
Который надо будет распарсить (пока не реализовано) и вывести значение времени в текстовое поле...

Собственно вопрос в том, что сейчас присвоение значения происходит при загрузке Активити, но на момент загрузки Активити данных от контроллера нет.
Пытаюсь вынести эту строку в отдельный метод
Java
1
textObjNowTime.setText("" + nowTime);
Андройд студиа ругается.
Как быть? Что я делаю не так?

Еще вопрос, почему Андройд Студиа не видит setConnectTimeout и setReadTimeout ?
Какую библиотеку надо подключить?

Заранее спасибо за помощь.

Добавлено через 1 час 42 минуты
Вопрос отпал... не правильно объявил объекты. Поэтому не смог к ним обратиться из другого метода.
Но вопрос по таймауту остался
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2018, 22:41
Ответы с готовыми решениями:

Как заставить setText(); выводить строку а не ее название?
Добрый вечер! Необходимо выводить строку из strings.xml, которая будет меняться в зависимости от...

Найти текст по шаблону на сайте, по примеру "xxxxx-xxxx-xxxx-xxxx"
Здравствуйте, помогите пожалуйста с кодом. Цель: найти текст по шаблону на сайте, по примеру...

Как сделать подматрицу в данной матрице в отдельном методе
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Как в методе задать цвет по умолчанию
Следующий код выдает: Ошибка 1 Значение параметра по умолчанию для &quot;color&quot; должно быть константой...

Проверка информации из нескольких текстбоксов в отдельном методе
На форме два текстбокса - в них вводим цену и курс бакса. Десятичный разделитель у меня, например,...

1
ExFau$t
973 / 771 / 230
Регистрация: 08.05.2012
Сообщений: 3,679
08.08.2018, 22:52 2
Java
1
2
3
4
5
client = new OkHttpClient.Builder()
        .connectTimeout(10, TimeUnit.SECONDS)
        .writeTimeout(10, TimeUnit.SECONDS)
        .readTimeout(30, TimeUnit.SECONDS)
        .build();
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2018, 22:52

Нужно чтобы введённый студент в методе in вывелся на экран как в методе out
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;iostream.h&gt; #include&lt;windows.h&gt;...

как сделать дату xx.xx.xxxx
Вот у меня текстовое окно: &lt;tr&gt;&lt;th&gt;Срок&lt;/th&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;date&quot;...

Перевод спецсимволов в вид U+xxxx
Не знал в каком разделе спросить, решил тут. Есть ли какая-нибудь готовая утилита для перевода...


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

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

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