Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234

Как правильно вставить AlertDialog, если нет интернета?

20.01.2015, 22:19. Показов 5673. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!Как правильно вставить AlertDialog если нет интернета?
Т.е. я через webView (wv) гружу сайт и если есть инет,то все идет дальше и в wv грузится сайт. Если жк инет нет вылетает AlertDialog о том,что нужно включить инет и обновить страницу.

Я пробовал вот так,но у меня диалог на диалог лезет...даже если например инет включен,то AlertDialog лезет на ProgressDialog.

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
 webview = (WebView) findViewById(R.id.webView);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
            public void onLoadResource (WebView view, String url) {
                if (mProgressDialog == null) {
                    mProgressDialog = new ProgressDialog(Second.this);
                    mProgressDialog.setTitle("Открываем сайт");
                    mProgressDialog.setMessage("Пожалуйста подождите...");
                    mProgressDialog.show();
                }  else {
                    AlertDialog alertDialog = new AlertDialog.Builder(Second.this).create();
                    alertDialog.setTitle("Нет доступа в интернет!");
                    alertDialog.setMessage("Включите моб.данные и нажмите кнопку обновить);
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    alertDialog.show();
                }
            }
            public void onPageFinished(WebView view, String url) {
                if (mProgressDialog.isShowing()) {
                    mProgressDialog.dismiss();
                    mProgressDialog = null;
                }
            }
        });
        webview.loadUrl("http://google.ru");
    }
Заранее спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2015, 22:19
Ответы с готовыми решениями:

Как установить лицензионный Metro 2033, если нет интернета?
Привет всем! Я живу в сельской северной местности, где интернет только в школе и на почте (спутниковый), а сотовой связи вообще нет (да,...

Как вставить пробел после знака препинания, если его там нет?
Приветствую! Такую вот программку реализовал. Она считывает строку (как сделать, чтобы считывала сразу текст, и делала это уже везде, а...

Всё правильно, а интернета нет. Чего не хватает?
Всем доброго времени суток! Я первый раз на этом форуме. Возможно, что создал тему не в том разделе. Если что – прошу поправить меня. Но...

42
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
20.01.2015, 23:02
Странно проверять наличие доступа в "интернет" по инициализации mProgressDialog...

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
public static boolean isConnected(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
 
        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        if (activeNetwork != null && activeNetwork.isConnected()) {
            try {
                URL url = new URL("http://www.google.com/");
                HttpURLConnection urlc = (HttpURLConnection) url
                        .openConnection();
                urlc.setRequestProperty("User-Agent", "test");
                urlc.setRequestProperty("Connection", "close");
                urlc.setConnectTimeout(1000); // mTimeout is in seconds
                urlc.connect();
                if (urlc.getResponseCode() == 200) {
                    Toast.makeText(context, "Internet connection is Ok",
                    Toast.LENGTH_SHORT).show();
                    return true;
                } else {
                    Toast.makeText(context,
                    "Please, check your internet connection",
                    Toast.LENGTH_SHORT).show();
                    return false;
                }
            } catch (IOException e) {
                Toast.makeText(context, "Warning" + "\n"+
                "Error checking internet connection \n"+
                 e.toString(), Toast.LENGTH_SHORT).show();
                return false;
            }
        } else {
            Toast.makeText(context, "Check your network connection",
                    Toast.LENGTH_SHORT).show();
            return false;
        }
    }
Добавлено через 3 минуты
О..еще ж разрешение в манифест надо добавить тогда

XML
1
2
<uses-permission
            android:name="android.permission.ACCESS_NETWORK_STATE"/>
(с)пёрто где-то когда-то с stackoverflow...
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 00:29  [ТС]
Armagedo, Спасибо,но я не совсем понимаю как совместить эти два примера. К примеру если я уберу кусок AlertDialog из прогресса,то все идет как надо. И теперь нужно впихнуть кусок проверки инета из вашего кода и прикрутить к этому сообщение (можно и Toast,но лучше Alert) о том, что сайт не загрузился по причине отсутствия инета.
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
21.01.2015, 08:40
Цитата Сообщение от Kroshandowski Посмотреть сообщение
AlertDialog лезет на ProgressDialog
Выключайте ProgressDialog через progressDialog.dismiss();
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
21.01.2015, 09:32
Kroshandowski, я бы весь подход поменял. Написал бы проверку на наличие подключения, она выполняется мгновенно. Если подключения нет, дальше можно не грузить.
Дальше изучил бы AsyncTask, применил бы его. Затем во время загрузки рисовал бы progressDialog. По окончании убирал бы его и, может быть, выводил бы сообщение.
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 10:02
Kroshandowski, в принципе CoolMind расписал всё как оно должно быть.

Цитата Сообщение от Kroshandowski Посмотреть сообщение
Спасибо,но я не совсем понимаю как совместить эти два примера
Так, а что непонятно?
Вместо проверки существует ли mProgressDialog проверяйте существует ли подключение к интернет в принципе

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void onLoadResource (WebView view, String url) {
                if (isConnected()) {
                    mProgressDialog = new ProgressDialog(Second.this);
                    mProgressDialog.setTitle("Открываем сайт");
                    mProgressDialog.setMessage("Пожалуйста подождите...");
                    mProgressDialog.show();
                }  else {
                    AlertDialog alertDialog = new AlertDialog.Builder(Second.this).create();
                    alertDialog.setTitle("Нет доступа в интернет!");
                    alertDialog.setMessage("Включите моб.данные и нажмите кнопку обновить");
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    alertDialog.show();
                }
            }
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 19:14  [ТС]
CoolMind,Armagedo я где-то читал..по-моему на stackoverflow такой коммент (там чувак хотел сделать Asynctask в webview)
Don't use AsyncTask, as you are not in charge of loading the webview. If you want to show a progress dialog, here is how to do it.
И мало где можно найти примеры c AsyncTask...многие примеры содержат методы:
shouldOverrideUrlLoading
onLoadResource
onPageFinished

Может я чего-то не понимаю и это вполне легко сделать для тех,кто это уже полностью освоил или применял в своих приложениях.
Если идти по-порядку и собирать приложение по кускам вместе с вами,то думаю я получу,что изначально задумывалось.
Итак все возможные разрешения в манифесте уже есть.
Далее код который идет в onCreate:
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
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        
        webview = (WebView) findViewById(R.id.webView);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
            public void onLoadResource (WebView view, String url) {
                if (mProgressDialog == null) {
                    mProgressDialog = new ProgressDialog(Second.this);
                    mProgressDialog.setTitle("Открываем сайт");
                    mProgressDialog.setMessage("Пожалуйста подождите...");
                    mProgressDialog.show();
                }
            }
            public void onPageFinished(WebView view, String url) {
                if (mProgressDialog.isShowing()) {
                    mProgressDialog.dismiss();
                    mProgressDialog = null;
                }
            }
        });
        webview.loadUrl("file:///android_asset/index.html");
    }
Т.е. данный код подразумевает открытие html файла (да,для загрузки данного файла нужен инет) в независимости от того есть интернет или нет.
Как предлагал Armagedo и CoolMind можно сделать проверку на определение инета еще ДО загрузки всего контента.
Переписываем onLoadResource:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void onLoadResource (WebView view, String url) {
                if (isConnected()) {
                    mProgressDialog = new ProgressDialog(Second.this);
                    mProgressDialog.setTitle("Открываем сайт");
                    mProgressDialog.setMessage("Пожалуйста подождите...");
                    mProgressDialog.show();
                }  else {
                    AlertDialog alertDialog = new AlertDialog.Builder(Second.this).create();
                    alertDialog.setTitle("Нет доступа в интернет!");
                    alertDialog.setMessage("Включите моб.данные и нажмите кнопку обновить");
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    alertDialog.show();
                }
            }
Получается isConnected определяет включен ли инет.
Теперь сам метод isConnected. В каком месте он должен быть?В самом низу или внутри кода?
И что должно находится в методе public static boolean isConnected(Context context)?
Вроде бы все написал,в чем были вопросы.
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 20:11
Цитата Сообщение от Kroshandowski Посмотреть сообщение
CoolMind,Armagedo я где-то читал..по-моему на stackoverflow такой коммент (там чувак хотел сделать Asynctask в webview)
Don't use AsyncTask, as you are not in charge of loading the webview. If you want to show a progress dialog, here is how to do it.
... даже как бы и логично...

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
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        
        webview = (WebView) findViewById(R.id.webView);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
            public void onLoadResource (WebView view, String url) {
                if ( isConnected(Second.this)) {
                    mProgressDialog = new ProgressDialog(Second.this);
                    mProgressDialog.setTitle("Открываем сайт");
                    mProgressDialog.setMessage("Пожалуйста подождите...");
                    mProgressDialog.show();
                }
            }
            public void onPageFinished(WebView view, String url) {
                if (mProgressDialog.isShowing()) {
                    mProgressDialog.dismiss();
                    mProgressDialog = null;
                }
            }
        });
        webview.loadUrl("file:///android_asset/index.html");
    }
 
public static boolean isConnected(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
 
        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        if (activeNetwork != null && activeNetwork.isConnected()) {
            try {
                URL url = new URL("http://www.google.com/");
                HttpURLConnection urlc = (HttpURLConnection) url
                        .openConnection();
                urlc.setRequestProperty("User-Agent", "test");
                urlc.setRequestProperty("Connection", "close");
                urlc.setConnectTimeout(1000); // mTimeout is in seconds
                urlc.connect();
                if (urlc.getResponseCode() == 200) {
                    Toast.makeText(context, "Internet connection is Ok",
                    Toast.LENGTH_SHORT).show();
                    return true;
                } else {
                    Toast.makeText(context,
                    "Please, check your internet connection",
                    Toast.LENGTH_SHORT).show();
                    return false;
                }
            } catch (IOException e) {
                Toast.makeText(context, "Warning" + "\n"+
                "Error checking internet connection \n"+
                 e.toString(), Toast.LENGTH_SHORT).show();
                return false;
            }
        } else {
            Toast.makeText(context, "Check your network connection",
                    Toast.LENGTH_SHORT).show();
            return false;
        }
    }
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
21.01.2015, 20:48
Kroshandowski, согласен, тут я дал маху, забыл, что речь только о WebView.
Я имел в виду несколько другой метод для определения подключения, чем указал Armagedo, у меня в программе проверяется только подключение к Wi-Fi или сотовым сетям (без проверки наличия там Интернета). Пытался в своё время сделать нормальную проверку на наличие Интернета, выставлял таймаут, но это можно делать только в фоновом потоке.
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 20:55  [ТС]
Armagedo, в итоге полный код выглядит вот так:
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
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        webview = (WebView) findViewById(R.id.webView);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
            public void onLoadResource (WebView view, String url) {
                if ( isConnected(Second.this)) {
                    mProgressDialog = new ProgressDialog(Second.this);
                    mProgressDialog.setTitle("Открываем сайт");
                    mProgressDialog.setMessage("Пожалуйста подождите...");
                    mProgressDialog.show();
                }   else {
                    AlertDialog alertDialog = new AlertDialog.Builder(Second.this).create();
                    alertDialog.setTitle("Нет доступа в интернет!");
                    alertDialog.setMessage("Включите моб.данные и нажмите кнопку обновить");
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    alertDialog.show();
                }
            }
            public void onPageFinished(WebView view, String url) {
                if (mProgressDialog.isShowing()) {
                    mProgressDialog.dismiss();
                    mProgressDialog = null;
                }
            }
        });
        webview.loadUrl("file:///android_asset/index.html");
    }
 
    public static boolean isConnected(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
 
        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        if (activeNetwork != null && activeNetwork.isConnected()) {
            try {
                URL url = new URL("http://www.google.com/");
                HttpURLConnection urlc = (HttpURLConnection) url
                        .openConnection();
                urlc.setRequestProperty("User-Agent", "test");
                urlc.setRequestProperty("Connection", "close");
                urlc.setConnectTimeout(1000); // mTimeout is in seconds
                urlc.connect();
                if (urlc.getResponseCode() == 200) {
                    Toast.makeText(context, "Internet connection is Ok",
                            Toast.LENGTH_SHORT).show();
                    return true;
                } else {
                    Toast.makeText(context,
                            "Please, check your internet connection",
                            Toast.LENGTH_SHORT).show();
                    return false;
                }
            } catch (IOException e) {
                Toast.makeText(context, "Warning" + "\n"+
                        "Error checking internet connection \n"+
                        e.toString(), Toast.LENGTH_SHORT).show();
                return false;
            }
        } else {
            Toast.makeText(context, "Check your network connection",
                    Toast.LENGTH_SHORT).show();
            return false;
        }
    }
Но когда я запускаю Second активити,то приложение вылетает и Logcat пишет:
01-21 17:50:08.324: ERROR/AndroidRuntime(742): FATAL EXCEPTION: main
java.lang.NullPointerException
at com.example.pimpim.Second$1.onPageFinish ed(Second.java:82)
at android.webkit.CallbackProxy.handleMessa ge(CallbackProxy.java:274)
at android.os.Handler.dispatchMessage(Handl er.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(Activity Thread.java:3683)
at java.lang.reflect.Method.invokeNative(Na tive Method)
at java.lang.reflect.Method.invoke(Method.j ava:507)
at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 21:17
Ну, возьмите контекст у WebView

Java
1
if ( isConnected(view.getContext()))
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 21:39  [ТС]
Armagedo, все равно приложение вылетает и та же ошибка в Logcat(((
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 21:46
Давайте сюда код для onPageFinished
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 21:51  [ТС]
Armagedo,
Java
1
2
3
4
5
6
 public void onPageFinished(WebView view, String url) {
                if (mProgressDialog.isShowing()) {
                    mProgressDialog.dismiss();
                    mProgressDialog = null;
                }
            }
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 21:56
Аааааа, пилятъ, не увидел...

А так?

Java
1
2
3
4
5
public void onPageFinished(WebView view, String url) {
                if ((mProgressDialog!=null)&&mProgressDialog.isShowing()) {
                    mProgressDialog.dismiss();
                    mProgressDialog = null;
                }
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 22:10  [ТС]
Armagedo, ААААААААААА ЗАРАБОТАЛО!!!!!!!!!!!!!!!!!!!!!!
Осталось два вопроса.
1)Когда я нажимаю OK на сообщении AlertDialog'a, мне приходится нажимать OK трижды. С первого раза диалог не пропадает.
2)mProgressDialog не появляется.
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 22:16
Цитата Сообщение от Kroshandowski Посмотреть сообщение
Осталось два вопроса.
Шо? Опять? (с) м/ф "Жил-был пёс"
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 22:26  [ТС]
Цитата Сообщение от Armagedo Посмотреть сообщение
Шо? Опять? (с) м/ф "Жил-был пёс"
Нее...как бэ приложение работает и грузит содержимое html файлика,но без "плюшек" таких как прогресс диалог на предзагрузке и нормальное-одинарное нажитие кнопки ОК
0
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 22:29
Давай весь код с самого начала объявления класса...
0
 Аватар для Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
21.01.2015, 22:56  [ТС]
Armagedo,
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
public class Second extends Activity {
 
    ProgressDialog mProgressDialog;
    WebView webview;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        
        webview = (WebView) findViewById(R.id.webView);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebViewClient(new WebViewClient() {
 
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
            public void onLoadResource (WebView view, String url) {
                if (isConnected(view.getContext())) {
                    mProgressDialog = new ProgressDialog(Second.this);
                    mProgressDialog.setTitle("Открываем сайт");
                    mProgressDialog.setMessage("Пожалуйста подождите...");
                    mProgressDialog.show();
                }   else {
                    AlertDialog alertDialog = new AlertDialog.Builder(Second.this).create();
                    alertDialog.setTitle("Нет доступа в интернет!");
                    alertDialog.setMessage("Включите моб.данные и нажмите кнопку обновить");
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    alertDialog.show();
                }
            }
 
            public void onPageFinished(WebView view, String url) {
                if ((mProgressDialog!=null)&&mProgressDialog.isShowing()) {
                    mProgressDialog.dismiss();
                    mProgressDialog = null;
                }
            }
        });
        webview.loadUrl("file:///android_asset/index.html");
    }
 
    public static boolean isConnected(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
 
        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        if (activeNetwork != null && activeNetwork.isConnected()) {
            try {
                URL url = new URL("http://www.google.com/");
                HttpURLConnection urlc = (HttpURLConnection) url
                        .openConnection();
                urlc.setRequestProperty("User-Agent", "test");
                urlc.setRequestProperty("Connection", "close");
                urlc.setConnectTimeout(1000); // mTimeout is in seconds
                urlc.connect();
                if (urlc.getResponseCode() == 200) {
                    Toast.makeText(context, "Internet connection is Ok",
                            Toast.LENGTH_SHORT).show();
                    return true;
                } else {
                    Toast.makeText(context,
                            "Please, check your internet connection",
                            Toast.LENGTH_SHORT).show();
                    return false;
                }
            } catch (IOException e) {
                Toast.makeText(context, "Warning" + "\n"+
                        "Error checking internet connection \n"+
                        e.toString(), Toast.LENGTH_SHORT).show();
                return false;
            }
        } else {
            Toast.makeText(context, "Check your network connection",
                    Toast.LENGTH_SHORT).show();
            return false;
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2015, 22:56
Помогаю со студенческими работами здесь

Если нет интернета, то ожидать его появления
Нужно чтобы программа сначала проверяла подключен ли ПК к интернету,если да,то выполнять код дальше,если нет,то ожидать его появления. ...

если запускать приложение в вижуалке (ctrl + f5) то оно работает правильно, но если запустить через .exe файл - нет!
если запускать приложение в вижуалке (ctrl + f5) то оно работает правильно, но если запустить через .exe файл - нет! Что делать? Возможно...

Заменить значения по WHERE, а если совпадений нет то вставить
Приветствую. Можно ли одним запросом выполнить замену строки по совпадению WHERE, а если совпадения нет, то вставить строку? ...

Как правильно написать тэг, чтобы IMG SRC=КАРТИНА загружал например другую картину если нет той на которую ссылался?
как правильно написать тэг, чтобы IMG SRC=КАРТИНА загружал например другую картину если нет той на которую ссылался или вообще этот тэг не...

Стоит ли скрывать robots txt или нет? Если стоит, то как это надо правильно сделать?
Ребят, если стоит скрывать роботс, то скажите как это сделать, особо толком ничего не нашел в поисковике(больше спама).


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru