“<여기에 URL 삽입>”호스트를 확인할 수 없습니다. 호스트 이름과 연관된 주소가 없습니다.


98

이 자습서를 따라 시도했습니다 : 웹에서 데이터 가져 오기

태블릿 용 최신 플랫폼 인 Android 3.0에서 구현하려고했지만 다음 오류가 표시됩니다. " 호스트"www.anddev.org "를 확인할 수 없습니다. 호스트 이름과 연결된 주소가 없습니다. "

파일이 존재 함을 증명하기 위해 사용한 URL을 확인할 수 있습니다. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

개인 클래스를 만들고 asynctask로 확장했습니다. 다음은 코드입니다.

    private class Downloader extends AsyncTask<String,Void,String>{
    String myString = null;
    @Override
    protected String doInBackground(String... arg0) {
        try{
            URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt");
            URLConnection ucon = myURL.openConnection();
            InputStream is = ucon.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);

            ByteArrayBuffer baf = new ByteArrayBuffer(50);
            int current = 0;
            while((current=bis.read())!=-1){
                baf.append((byte)current);
            }
            myString = new String (baf.toByteArray());
        }catch(Exception e){
            myString = e.getMessage();
        }
        return myString;
    }
@Override
protected void onPostExecute(String result){
    tv.setText(result);
}
}

도움을 주시면 감사하겠습니다.


이 링크를 참조 할 수 있습니다 . 희망이 도움이 될 것입니다
Summved Jain

답변:


148

내 내기에는 앱에 인터넷 사용 권한을 부여하는 것을 잊었다는 것입니다. 다음을 Android 매니페스트에 추가해보세요.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

항상 logcat을 참조하여 오류 유형을 확인하면 시간 소비가 절약됩니다 .. 권한을 추가하는 것을 잊었을 때 .. logcat 오류를 표시하거나 ...... 충돌 보고서를 생성하십시오 ... ........
Vipin Sahu

14
글쎄 나도이 문제가 있습니다. 권한이 올바르게 설정되었습니다. URLConnection은 대부분 잘 작동합니다. 그러나 때로는이 오류가 여러 번 연속으로 발생합니다. 때때로 발생하기 때문에 디버그하기가 특히 어렵습니다.
hendrix

당신은 또한 지역 사회를 돕는 것에 대해 기분이
Sebastien FERRAND

이 권한을 추가 한 다음 동일한 오류가 발생했습니다. 에뮬레이터에 문제가 있습니까
Pratik Butani

7
이전에 모바일 데이터를 끄고 다시 켜는 것을 잊었 기 때문에이 오류가 발생했습니다. 사무실에서는 잘 작동했지만 익숙한 Wi-Fi를 끄 자마자 오류가 발생했습니다. 때때로 그것은 어리석은 것들입니다 : |
Karmic Coder

117

유효한 인터넷 연결이 있는지 확인하십시오.


흠 ... : DI가 확인했고, 당신이 옳은 것 같습니다. 이유는 모르겠지만 인터넷 연결은 괜찮지 만 에뮬레이터 내부의 브라우저는 아무것도 액세스 할 수 없습니다. 이상 하군요. 몇 분 전에 에뮬레이터 브라우저가 제대로 작동했습니다.
황현정

1
나는 가장 큰 바보처럼 느껴진다. 사무실 대신 집에서 개발 중이 었는데 WiFi 설정을 잊었습니다. 때때로 당신이 바보라는 것을 기억하기 위해 이런 일이 필요할 때가 있습니다. 그러니 내가 바보처럼 느끼게 해주셔서 진심으로 감사드립니다! :)
RileyE 2013 년

2
저도 마찬가지입니다! 난 단지 비행기 모드 (난 정말 인터넷-palmface에 연결 않네) 해제했다, 그래서 어떻게 든 와이파이 및 비행기 모드를 선택할 수 있습니다
d1jhoni1b

1
왜 무선이 켜지지 않고 S3가 로그인 할 것이라고 예상했는지 모르겠습니다.
Declan McKenna

젠장. 어제 시뮬레이터에 대한 인터넷 연결을 껐는데 오늘 아침에 켜는 것을 잊었습니다. 감사합니다!
Robert J. Clegg

65

허가를 받으 셨나요?

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

그러나

모바일 또는 모든 장치에서 인터넷켜는 것을 잊었을 수 있습니다 .


2
Wi-Fi에 장치가 없다는 것이 나를 붙잡은 것입니다! 이런.
Nico

11
에뮬레이터를 다시 시작하면 문제가 해결되었습니다.
Kacy

MOBILE DEVICE 부분을 강조해 주셔서 감사합니다. :)
Burak Karakuş

12

내장 된 브라우저 내에서 해당 URL에 도달 할 수 있습니까?

그렇지 않은 경우 네트워크 설정이 올바르지 않음을 의미합니다. 에뮬레이터 를 사용하는 경우 문서 의 네트워킹 섹션 을 살펴볼 수 있습니다 .

OS / X를 사용하는 경우 무선 (en1)을 사용하는 경우에도 에뮬레이터는 "첫 번째"인터페이스 en0을 사용합니다. 케이블이없는 en0은 여전히 ​​작동 상태로 표시됩니다. ifconfig en0 down에뮬레이터를 실행하고 다시 시작할 수 있습니다 . Windows에서 유사한 동작에 대해 읽은 것 같습니다.

Wi-Fi / 3G를 사용중인 경우 네트워크 제공 업체에 올바른 DNS 설정을 문의하십시오.


흠 ... : DI가 확인했고, 당신이 옳은 것 같습니다. 이유는 모르겠지만 인터넷 연결은 괜찮지 만 에뮬레이터 내부의 브라우저는 아무것도 액세스 할 수 없습니다. 이상하네요. 몇 분 전에 에뮬레이터의 브라우저가 제대로 작동했습니다.
황현정

감사! 제 경우에는 인트라넷이 오류를 일으키는 URL로 설정되었는데, 엑스트라 넷을 사용하면 분명히 문제가 해결되었습니다
CGR

11

저와 같은 USB 인터넷이 있으면 에뮬레이터가 연결을 켜고 끄는 것을 싫어하는 것 같아서 에뮬레이터를 다시 시작해야 할 수도 있습니다


6

이 오류는 호스트를 DNS를 통해 IP 주소로 변환 할 수 없기 때문에 발생합니다.

이 문제를 해결하십시오.

1- 인터넷에 연결되어 있는지 확인하십시오 (네트워크 품질 확인).

2- 네트워크 액세스에 대한 적절한 권한을 가지고 있는지 확인하십시오

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

4

나는 같은 오류가 있었고 문제는 내가 VPN에 있었고 그것을 깨닫지 못했습니다. VPN 연결을 끊고 Wi-Fi를 다시 연결하면 문제가 해결되었습니다.


2

또한 장치가 비행기 모드가 아니거나 데이터 사용이 활성화되어 있는지 확인하십시오.


0

Wi-Fi 또는 LAN에서 간헐적으로 표시되지만 모바일 인터넷 연결이 정상인 것 같으면 ISP의 저렴한 게이트웨이 라우터에서 높은 트래픽 부하를 겪고있을 가능성이 높습니다.

이러한 오류를 포착하고 네트워크를 사용하는 다른 앱을 닫으라는 알림을 사용자에게 표시해야합니다.

데스크탑에서 몇 가지 HD YouTube 비디오를 실행하여 테스트하거나 바쁜 스타 벅스로 이동하십시오.


0

에뮬레이터를 다시 시작하면 일부 시나리오에서 작동합니다.


0

Android 10 에뮬레이터에서 동일한 문제가 발생했으며 아래 단계에 따라 문제를 해결할 수있었습니다.

  1. 설정 → 네트워크 및 인터넷 → 고급 → 프라이빗 DNS로 이동합니다.
  2. 비공개 DNS 제공 업체 호스트 이름 선택
  3. 입력 : dns.google
  4. 저장을 클릭하십시오.

이 설정을 사용하면 URL이 예상대로 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.