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

안드로이드 어플에서 웹서버로 데이터를 전송하는 방법

0 추천

제목 그대로

예를 들어서 어플리케이션에서 어떤 로직을 통해 숫자 2를 String 형식 "2" 로 변환을 한 데이터를 추출했습니다.

추출한 "2"라는 정보를 php 웹 서버에 전송을 하면 웹 서버 화면에 2가 print가 돼야 하는데 코드가

 

private void sendSenserData() {  // 센서 번호 웹 서버로 넘기기
        new Thread() {
            public void run() {
                StringBuffer buf = new StringBuffer();
                buf.append("http://192.168.0.104:80");
                Map<String,Object> pmap = new HashMap<String,Object>();
                pmap.put("sensor", sensorId); // "sensor" = 숫자 "2"의 키값, sensorId = String "2"
                httpConn.requestWebServer(buf.toString(), pmap, callbackSend);  // 파라미터와 미리정의한 콜백함수를 매개변수로 전달하여 호출
            }
        }.start();
    }

    /** 웹 서버로 데이터 수신후 처리 */
    private final Callback callbackSend = new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            Log.d(TAG, "콜백오류:"+e.getMessage());
        }
        @Override
        public void onResponse(Call call, Response response) throws IOException {
            String returnMsg = response.body().string();
            Log.d(TAG, "서버에서 응답한 Body:"+returnMsg);
            JSONObject jsRslt = (JSONObject) JSONSerializer.toJSON(returnMsg);
            String rslt = jsRslt.getString("sensor");
            Log.d(TAG, "senserId = " + rslt );
        }
    };

 

현재 코드는 이렇게 짜여져 있고 현재 웹 서버에 Print 돼있는 문자는 hello 입니다.

제가 데이터를 전송을 하면 hello가 2로 바뀌어야 하는데

 

D/btnReg.setOnClickListener ==>: 콜백오류:Unexpected status line: hello

 

디버그를 해보면 이런식으로 콜백오류메세지가 뜹니다.

 

뭐가 문제인건가요?

 

 

창종하기싫다 (140 포인트) 님이 2018년 11월 14일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...