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

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

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

Не возвращается значение TRUE в проверке на работоспособность сайта - Программирование Android

27.05.2014, 18:33. Просмотров 515. Ответов 3
Метки нет (Все метки)

Здравствуйте! Скажу сразу, я в программировании на андроид полный НОЛЬ. Есть задача написать приложения WebView на андроид. Страницу сайта открывает, наличие соединения проверяет. Практически приложение уже готово. Хочу еще доработать проверку на работоспособность сайта. Есть скрипт и он не возвращает значение true. Не могу разобратся почему, все время пишет: "Отсутствует соединение с сайтом. - false" если должно вернуть true.
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
if(checkIsWorkServer("http://google.com"))
{
   mWebView.loadUrl("http://example.com");
}
else
{
   mWebView.loadDataWithBaseURL(null, "<html><body style='background-color:#FFE600;'>"
     + "<div align='center' style='font-size:30px; font-weight:bold; color:#C70000;'>"
     + "<b>Отсутствует соединение с сайтом."
     + "</div></body></html>", "text/html", "utf-8", null);
}
 
public boolean checkIsWorkServer(String serviceURL) {
    try {
        URL url = new URL(serviceURL);
        HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
        urlc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
        urlc.setRequestProperty("Connection", "close");
        urlc.setConnectTimeout(1000 * 10);
         
        urlc.connect();
        if (urlc.getResponseCode() == 200) {
            urlc.disconnect();
             return true;
        }
    } 
    catch (Exception e) {
        e.printStackTrace();
    }
return false;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 18:33     Не возвращается значение TRUE в проверке на работоспособность сайта
Посмотрите здесь:

Движение ImageView. Объект возвращается на исходную позицию - Программирование Android
Здравствуйте! Пытаюсь двигать ImageView, оно движется, условие срабатывает, но постоянно возвращается на исходное место и моргает при...

GridView после нажатия назад возвращается на первую ячейку - Программирование Android
Всем привет В приложении использован GridView Имеются 58 категорий, всё работает прекрасно только вот если зайти на любой из...

При проверке элемента массива на пустоту вылетает исключение - Программирование Android
Всем привет. Есть сервис с задачей (Runnable) определить геолокацию, которая запущена в основном потоке приложения (runOnUiThread())....

MinifyEnabled true Log и комментарии - Программирование Android
Если при релиз сборке включен обфускатор minifyEnabled true , то конструкции типа Log.d(LOG_TAG, &quot;Test&quot;; и комментарии // /**/ ...

Равнозначность <Return true> и возврата конструктора суперкласса - Программирование Android
Добрый день! Изучая уроки для Андроид-разработки из нового источника, встретил у автора следующий приём: Создавали примитивное меню....

LayoutInflater и android:textIsSelectable="true" - Программирование Android
Довольно странная ситуация получается, видать мне везет на нестандартные баги андроида :) Есть фрагмент чата, в него с ресивера летят...

Android:debuggable="true" - Программирование Android
Обновил IntelliJ IDEA до версии 2016. При запуске отладки требует указания параметра debuggable в манифесте. Добавляю строку: ...

Переданное значение REQUEST_LOGIN = 1 возвращает другое значение - Программирование Android
Пытаюсь из фрагмента вызвать Другую активность и получить результа. Из фрагмента вызываю код: private void startActivity() { ...

Написать функцию, которая возвращается True, если символ, полученный функцией в качестве аргумента, является гласной буквой русского алфавита - C++
Люди добрые помогите исправить ошибки, а то в Си не оч) Написать функцию, которая возвращается True, если символ, полученный функцией...

Тестирую работоспособность сайта и есть неудача - PHP
Когда пытаюсь зарегаться или войти пишет: Warning: Cannot modify header information - headers already sent by (output started at...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
27.05.2014, 18:37     Не возвращается значение TRUE в проверке на работоспособность сайта #2
ну так эт, в дебаге посмотрите что он возвращает, или логи поставьте:

Java
1
2
3
4
5
6
urlc.connect();
Log.d("URL_CONNECTION", "" + urlc.getResponseCode()); 
        if (urlc.getResponseCode() == 200) {
            urlc.disconnect();
             return true;
        }
Rifano998822
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 18
28.05.2014, 15:54  [ТС]     Не возвращается значение TRUE в проверке на работоспособность сайта #3
Логами пользоватся еще не научился) Как аналог использую:
Java
1
Toast.makeText(this, "Ошибка: "  + urlc.getResponseCode(), Toast.LENGTH_LONG).show();
Интересно что до urlc.connect(); все сообщения работаю, а вто после - тишина, не работает дальше скрипт. Не получается отследить. Теперь понятно почему не ретурнится значение TRUE. Только не понятно где я сделал ошибку в запросе?

Добавлено через 15 часов 5 минут
Нашел решение (в нужном месте вызываем new checkIsWorkUrl().execute("http://example.com");):
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
//AsyncTask
private class checkIsWorkUrl extends AsyncTask<String, String, String> {
     protected String doInBackground(String... urls) {
     String n = "";
        try {
            URL url = new URL(urls[0]);
             
            HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
            urlc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
            urlc.setRequestProperty("Connection", "close");
            urlc.setConnectTimeout(1000 * 3);
            urlc.connect();
                        
                if (urlc.getResponseCode() == 200) {
                       urlc.disconnect();
                       n = "ok";
                }
                        
            } 
            catch (Exception e) {
                // Обрабатываем ошибку
                e.printStackTrace();
            }
            if(n == "ok"){
                mWebView.loadUrl(urls[0]);
            }
            else{
                mWebView.loadDataWithBaseURL(null, "<html><body style='background-color:#FFE600;'>"
                            + "<div align='center' style='font-size:30px; font-weight:bold; color:#C70000;'>"
                            + "Отсутствует соединение с сайтом."
                            + "</div></body></html>", "text/html", "utf-8", null);
                }
        return null;
          }
 
    }
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
28.05.2014, 18:44     Не возвращается значение TRUE в проверке на работоспособность сайта #4
Rifano998822, для справки. Любая тяжеловесная операция (работа с сетью, БД, обработка видео) выполняются в асинхронном режиме.
Yandex
Объявления
28.05.2014, 18:44     Не возвращается значение TRUE в проверке на работоспособность сайта
Ответ Создать тему
Опции темы

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