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

안드로이드 스튜디오로 http 서버에 리퀘스트 주는법 부탁드려요!

0 추천
Open = (Button)findViewById(R.id.open);
        Open.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
//                    Toast.makeText(getApplicationContext(), "open", Toast.LENGTH_LONG).show();

//                    URL url = new URL("http://192.168.35.208/on");
//                    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//                    conn.setRequestMethod("GET");
//                    conn.setDoOutput(true); // 쓰기모드 지정
//                    conn.setDoInput(true); // 읽기모드 지정
//                    conn.setUseCaches(false); // 캐싱데이터를 받을지 안받을지
//                    conn.setDefaultUseCaches(false); // 캐싱데이터 디폴트 값 설정

                    HttpClient httpClient = new DefaultHttpClient();
                    String urlString = "http://아두이노ip주소/on";

                    URI url = new URI(urlString);
                    HttpPost httpPost = new HttpPost();
                    httpPost.setURI(url);

                    HttpResponse response = httpClient.execute(httpPost);


                } catch (Exception e) {
                    // TODO Auto-generated catch block
                }
            }
        });

 

 

제가 이렇게 코딩을 했습니다. 현재 아두이노에 http서버가 구동중이며 주소/on에 요청이 들어오면 핸들러 함수가 작동하게 되어있습니다. 일반 웹브라우저로 주소/on을 쓰고 엔터를 치면 저 핸들러 함수가 작동을 하는데 어플에서는 어떻게 해야할지 잘 모르겠습니다. 조언 부탁드려요!

 

익명사용자 님이 2019년 5월 30일 질문

1개의 답변

0 추천
위에 주석처리한 부분(HttpURLConnection)처럼 하시면 되는데요

HttpClient 사용한 부분은 지우시고요

 

결과는 이렇게 받아오시면 됩니다.

String response = "";

Scanner scan = new Scanner(conn.getInputStream());

while (scan.hasNext()) {

response += scan.nextLine();

}

scan.close();
얼룩얼룩 (890 포인트) 님이 2019년 5월 31일 답변
...