Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

27.05.2014, 18:33. Просмотров 540. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 18:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не возвращается значение TRUE в проверке на работоспособность сайта (Программирование Android):

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

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

Если возвращается переменная ссылочного типа, то возвращается объект или просто ссылка - C#
Почему-то авторы всегда акцентируют внимание на передачу параметров в функцию, а на возврат не очень: using System; using...

не возвращается значение - C#
В методе /// &lt;summary&gt; /// Воспроизведение звука после остановки /// &lt;/summary&gt; public static void...

Присвоить логической переменной T значение true, если значение d-цифра, и значение false в противном случае - Pascal ABC
Имеется символьная переменная d, присвоить логической переменной T значение true, если значение d-цифра, и значение false в противном...

Из функции возвращается не то значение - C++
Вот функция, программа возвращает -1, если все элементы равны. Этот кусок работает(если все одинаковые). Но если числа разные, то программа...

3
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
27.05.2014, 18:37 #2
ну так эт, в дебаге посмотрите что он возвращает, или логи поставьте:

Java
1
2
3
4
5
6
urlc.connect();
Log.d("URL_CONNECTION", "" + urlc.getResponseCode()); 
        if (urlc.getResponseCode() == 200) {
            urlc.disconnect();
             return true;
        }
0
Rifano998822
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 18
28.05.2014, 15:54  [ТС] #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;
          }
 
    }
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
28.05.2014, 18:44 #4
Rifano998822, для справки. Любая тяжеловесная операция (работа с сетью, БД, обработка видео) выполняются в асинхронном режиме.
0
28.05.2014, 18:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2014, 18:44
Привет! Вот еще темы с ответами:

Не возвращается значение из функции - JavaScript
вот такая функция: function auth() { ...

При проверке сайта валидатором, находит 30 ошибок и 16 предупреждений - HTML, CSS
При проверке сайта валидатором, находит 30 ошибок и 16 предупреждений, не могли бы вы помочь с ошибками связанными с тегами?...

Не возвращается значение указателя из функции. - C (СИ)
Подробное описание задания: В программе описать 3 функции. Функция f1 осуществляет ввод m-размера одномерного массива, а-значений...

Не возвращается значение из рекурсивной функции - JavaScript
Делаю тут задания из книги выразительный javascript. Столкнулся с небольшой проблемой. Надо написать рекурсивную функцию которая из...


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

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

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