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

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

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

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

17.07.2016, 22:37. Просмотров 169. Ответов 6
Метки нет (Все метки)

Java
1
2
3
4
5
URL url = new URL("http://api.openweathermap.org/data/2.5/forecast?q=London&APPID=eb52c829ac2e5f298eda587dc2e091e5");
// Create the request to OpenWeatherMap, and open the connection
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.connect();
My url is defenitely OK. U can check it on your own. Byt I get this(
(Моя ссылка однозначно правильная,но к сожалению я получаю вот это)
Кликните здесь для просмотра всего текста
`7-16 22:14:19.109 17502-17596/com.example.android.sunshine.app E/FetchWeatherTask: Error
java.net.UnknownHostException: api.openweathermap.org
at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
at java.net.InetAddress.getAllByName(InetAddress.java:256)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:69)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpConnect...onPool.java:89)
at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpURLConn...nImpl.java:285)
at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpURLConn...nImpl.java:267)
at org.apache.harmony.luni.internal.net.http://www.protocol.http.HttpURLConn...nImpl.java:205)
at com.example.android.sunshine.app.ForecastFragment$FetchWeatherTask.doInBackground(ForecastFragment.java:128)
at com.example.android.sunshine.app.ForecastFragment$FetchWeatherTask.doInBackground(ForecastFragment.java:101)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
`
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2016, 22:37     UnknownHostException
Посмотрите здесь:

Ошибка UnknownHostException - Java Сети
Почему пишет Unhandled exception type UnknownHostException? import java.net.*; import java.io.*; public class mainclass { ...

UnknownHostException: Unable to resolve host "api.openweathermap.org" - Программирование Android
Приветствую всех, недавно стал изучать андройд и столкнулся с маленькой проблемкой... Есть простое приложение для вывода погоды. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
17.07.2016, 23:25     UnknownHostException #2
Попробуй добавить:

Java
1
2
3
urlConnection.setRequestMethod("GET");
urlConnect.setConnectTimeout(10000);
urlConnection.connect();
Я надеюсь, ты в отдельном потоке это делаешь?

Добавлено через 31 минуту
Проверил, все работает:

параметр String s = "http://api.openwea........

Кликните здесь для просмотра всего текста
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
    private void getUrl(final String s) {
        Log.e("TAG", "getUrl" );
        new AsyncTask<String, Void, String>() {
 
            @Override
            protected String doInBackground(String... params) {
                HttpURLConnection urlConnect;
                String responce = null;
                try {
                    URL url = new URL(s);
                    urlConnect = (HttpURLConnection) url.openConnection();
                    urlConnect.setRequestMethod("GET");
                    urlConnect.setConnectTimeout(10000);
                    urlConnect.connect();
                    InputStream is = urlConnect.getInputStream();
                    OutputStream os = new ByteArrayOutputStream();
                    byte[] buffer = new byte[1024];
                    int bufferLenth = 0;
                    while ((bufferLenth = is.read(buffer)) > 0) {
                        os.write(buffer, 0, bufferLenth);
                    }
                    responce = os.toString();
                    is.close();
                    os.close();
                    urlConnect.disconnect();
                }
                catch (MalformedURLException me) {
                    Log.e("TAG", "MalformedURLException " + me);
                }
                catch (SocketTimeoutException te) {
                    Log.e("TAG", "SocketTimeoutException " + te);
                }
                catch (Exception e) {
                    Log.e("TAG", "Exception " + e);
                }
                return responce;
            }
 
            @Override
            protected void onPostExecute(String responce) {
                Log.e("TAG", "onPostExecute ");
                if (context != null) {
                    Log.e("TAG", "RESP " + responce);
                }
            }
        }.execute(s);
    }
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 313
17.07.2016, 23:25     UnknownHostException #3
А разрешение на интернет прописано?
XML
1
<uses-permission android:name="android.permission.INTERNET" />
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
17.07.2016, 23:29     UnknownHostException #4
А разрешение на интернет прописано?
В таких случаях в логах обычно:

Java
1
Exception java.lang.SecurityException: Permission denied (missing INTERNET permission?)
Хотя проверить надо...
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
18.07.2016, 11:54     UnknownHostException #5
okunetsky, please, look at http://stackoverflow.com/questions/3...-is-unresolved. Probably you have forgotten to add some permissions (and they must be in mixed case, not only in upper as "ANDROID.PERMISSION.INTERNET").
okunetsky
0 / 0 / 0
Регистрация: 27.02.2015
Сообщений: 29
18.07.2016, 12:37  [ТС]     UnknownHostException #6
Да, я это сделал в отдельном потоке, спасибо, не ожидал, что тут так помогают)
Разрешение есть в манифесте, без него и вправду будет тот ексепш. Уже работает,но я не могу посмотреть результат , тоесть JSON-объект в логах, как мне это сделать? Хочу убедиться,что объект получен
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
18.07.2016, 13:02     UnknownHostException #7
Java
1
Log.e("TAG", "RESP " + responce);
В моем примере эта строчка выдает результат.
Yandex
Объявления
18.07.2016, 13:02     UnknownHostException
Ответ Создать тему
Опции темы

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