android httpurlconnection 예제

Github 참조의 전체 예제: https://gist.github.com/udacityandroid/d6a7bb21904046a91695 아래 샘플 코드는 네트워크 작업에 AsyncTask를 사용하는 방법을 보여 주며(날씨 데이터 다운로드). 이 샘플 코드를 Android에서 실행하려면 활동 클래스 MainActivity.java와 이 활동에 대한 레이아웃 파일이라는 두 개의 파일을 만들면 됩니다. 레이아웃에는 TextView와 단추라는 두 개의 보기만 있습니다. 주요 활동에서, 에 몇 가지 초기화가 있을 것 이다는텍스트 뷰 및 버튼에 대 한 메서드 만들기, 그리고 HttoURLConnection를 통해 날씨 데이터를 다운로드 하기 위한 AsyncTask 내부 클래스. HTTP 응답 메시지에서 상태 코드를 가져옵니다. 예를 들어 다음 상태 줄의 경우: 연결이 실패했지만 서버가 유용한 데이터를 보낸 경우 오류 스트림을 반환합니다. 일반적인 예는 HTTP 서버가 404로 응답하여 FileNotFoundException이 연결에 throw되지만 서버가 수행할 작업과 관련하여 제안사항이 포함된 HTML 도움말 페이지를 보낸 경우입니다. 이 예제에서는 URL에 아무 것도 쓰지 않기 때문에 이 집합을 false의 기본값으로 둡니다. 예를 들어 http://www.android.com/ 웹 페이지를 검색하려면 일부 연결 유형(예: http-ng)에 미리 구문 분석된 헤더가 있기 때문에 이 형태의 getHeaderField가 존재합니다. 해당 연결 형식에 대한 클래스는 이 메서드를 재정의하고 구문 분석단락을 단락시킬 수 있습니다. allowUserInteraction 필드의 기본값을 반환합니다.

HTTP 리디렉션 (3xx)이 자동으로 따라야하는지 여부를 나타내는 부울을 반환합니다. . . 대기 시간을 줄이기 위해 이 클래스는 동일한 기본 Socketfor 다중 요청/응답 쌍을 다시 사용할 수 있습니다. 따라서 HTTP 연결이 필요 이상으로 길게 열려 있을 수 있습니다. #disconnect()에 대한 호출은 연결된 소켓 풀로 소켓을 반환할 수 있습니다. HTTP 요청을 실행하기 전에 http.keepAlive 시스템 속성을 false로 설정하여 이 동작을 비활성화할 수 있습니다. http.maxConnections 속성은 각 서버에 대한 유휴 연결 수를 제어하는 데 사용할 수 있습니다.

activity_main.xml, 그것은 이미 당신을 위해 만든 경우 다음으로 코드를 대체 당신이 안드로이드 스튜디오에서 프로젝트를 만들 때, 그렇지 않으면 그냥 레이아웃 폴더 uner res에이 파일을 만들. 요약하자면 HTTP 연결을 구체적으로 다루고 있다는 것을 알게 되면 HttpURLConnection 클래스는 프로그래밍 수명을 좀 더 쉽게 만들 수 있는 다양한 편리한 방법과 필드를 제공합니다.