마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드에서 HttpClient를 사용하고 있는데 이것을 대체할 수 있는 기능 있을까요?

0 추천

안녕하세요 현재 open api를 사용해서 앱개발을 하고 있는 초보 개발자 입니다.

앱을 구현하면서 HttpClient, HttpEntity 클래스 등을 사용하게 되는데 자바 SE에서

공식 지원하는 것이 아니라 외부 라이브러리 형태로 가져와서 사용중입니다.

안드로이드 자체 API를 사용해서 위 클래스를 사용하지 않는 형태로 코드를 바꾸고 싶은데

방법을 잘 몰라서 글을 올립니다.

        HttpClient client = HttpClientBuilder.create().build();

        HttpGet request = new HttpGet(url);

        request.addHeader("X-Naver-Client-Id", clientId);

        request.addHeader("X-Naver-Client-Secret", clientSecret);

        HttpResponse response = null;

        response = client.execute(request);

        HttpEntity entity = response.getEntity();

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

        DocumentBuilder db = null;

        Document doc = null;

 

        db = factory.newDocumentBuilder();

        doc = db.parse(entity.getContent());

 

현재 제가 사용하고 있는 코드입니다. URL 클래스를 이용해서 구현하는 방법도 있지만

위에서 addHeader 메소드를 사용해서 헤더값을 필수로 넣어줘야 하기 때문에

HttlClient를 사용하고 있습니다. 위 코드를 안드로이드에서 제공하는 기능으로만

바꿀 수 있는 방법이 있을까요? 아시는 분 답변 부탁드립니다.

Optimist (690 포인트) 님이 2016년 2월 25일 질문

1개의 답변

+1 추천
 
채택된 답변
HttpUrlConnection 사용하시거나

라이브러리인 Volley를 사용하시면 될것 같습니다.
모나미153 (17,540 포인트) 님이 2016년 2월 25일 답변
Optimist님이 2016년 2월 26일 채택됨
이유는 기억이 안나지만, volley보다는 retrofit이 더 낫다는 비교글을 본 적이 있어요.
volley는 UI와 쓰레드 단을 왔다갔다 한다고 했던 기억도 나고요
...