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

Asynctask를 이용한 센서값 전달 (서블릿 서버)

0 추천
스레드와 함수를 이용해 Asynctask로 센서 값을 전달 한 후

Asynctask를 이용하여 서블릿으로 값을 전송헀습니다.
하지만 서블릿에서 값을 확인해보면 null 값으로 나오는데..

정확한 이유를 모르겠습니다.. 도와주십시오..


1. Asynctask

class AsyncServlet extends AsyncTask<String, String, String> {
  
  String result;
  
 
  protected String doInBackground(String... arg0) { 
   HttpClient httpclient = new DefaultHttpClient();

   
   HttpPost httppost = new HttpPost("http://IP 주소/WebServer/WebServer"); 
    
   try{
    System.out.println("AsyncServlet start");
    
    List<NameValuePair> Params = new ArrayList<NameValuePair>();
    Params.add(new BasicNameValuePair("Sacc_x", arg0[0]));
    Params.add(new BasicNameValuePair("Sacc_y", arg0[1]));
    Params.add(new BasicNameValuePair("Sacc_z", arg0[2]));
    Params.add(new BasicNameValuePair("Sgyro_p", arg0[3]));
    Params.add(new BasicNameValuePair("Sgyro_r", arg0[4]));
    Params.add(new BasicNameValuePair("Sgyro_y", arg0[5]));
    Params.add(new BasicNameValuePair("Smag_x", arg0[6]));
    Params.add(new BasicNameValuePair("Smag_y", arg0[7]));
    Params.add(new BasicNameValuePair("Smag_z", arg0[8])); 
    Params.add(new BasicNameValuePair("currentDate", arg0[9])); 
    
    System.out.println("Params :" + arg0[0]);    
    System.out.println("Params :" + arg0[1]); 
    
    httppost.setEntity(new UrlEncodedFormEntity(Params));
    HttpResponse response = httpclient.execute(httppost);
       
       
    
           
       HttpEntity entity = response.getEntity();
      
       InputStream is = entity.getContent();
       
       
       BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"),8);
       
       
       StringBuilder sb = new StringBuilder();
       
       
       String line = null;
       
       
       while((line = reader.readLine()) != null) {
        sb.append(line).append("\n");
       }
       is.close();
       result = sb.toString();
       
      
      } catch(IOException e){
       e.printStackTrace();
       
      } catch(Exception e){
       e.printStackTrace();
      } finally {
       httpclient.getConnectionManager().shutdown();
      }
  
      return result;
  }
    }

}



2. 서블릿


 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("text/html;charset=UTF-8"); 
  
  
  response.setCharacterEncoding("euc-kr");
  System.out.println("doPost");
  
  String AccX, AccY, AccZ, GyroP, GyroR, GyroY, MagX, MagY, MagZ, CurrentDate;
  
  
   AccX = request.getParameter("Sacc_x");
   AccY = request.getParameter("Sacc_y");
   AccZ = request.getParameter("Sacc_z");
   GyroP = request.getParameter("Sgyro_p");
   GyroR = request.getParameter("Sgyro_r");
   GyroY = request.getParameter("Sgyro_y");
   MagX = request.getParameter("Smag_x");
   MagY = request.getParameter("Smag_y");
   MagZ = request.getParameter("Smag_z");
   CurrentDate = request.getParameter("currentDate");
  
  
  System.out.println(AccX);
  System.out.println(AccY);
  System.out.println(AccZ);
}
}

 

 

 

익명사용자 님이 2014년 6월 13일 질문
2014년 6월 14일 수정

답변 달기

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