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

안드로이드에서 jsp에서 post방식으로 mysql에 데이터를 넣고 싶은데 안돼요ㅜㅜ

0 추천
package com.example.datapass;

import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity  {
 EditText nametext;
 EditText phonetext;
 EditText addresstext;
 EditText emailtext;
 
 Button input;
 String name, phone, address, email;
 

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  nametext=(EditText)findViewById(R.id.nameText);
  phonetext=(EditText)findViewById(R.id.priceText);
  addresstext=(EditText)findViewById(R.id.marketText);
  emailtext=(EditText)findViewById(R.id.locationText);
  
  input=(Button)findViewById(R.id.button1);
  //input버튼 클릭시 데이터가 전송됨 
  input.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {
      
    name = nametext.getText().toString().trim();
    phone = phonetext.getText().toString().trim();
    address = addresstext.getText().toString().trim();
    email = emailtext.getText().toString().trim();
 
    insertMember(name, phone, address, email);  //데이터 전송 함수
   }
   
   });
  
  
 
 }
 public void insertMember(String name,String phone, String address, String email) {
  
  
  try{
   
    //전송할 데이터
   String data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(name, "UTF-8");
      data += "&" + URLEncoder.encode("phone", "UTF-8") + "=" + URLEncoder.encode(phone, "UTF-8");
      data += "&" + URLEncoder.encode("address", "UTF-8") + "=" + URLEncoder.encode(address, "UTF-8");
      data += "&" + URLEncoder.encode("email", "UTF-8") + "=" + URLEncoder.encode(email, "UTF-8");
    
   
   //String data="name="+name+"&address="+address+"&email="+email+"&phone"+phone;
   //URL url=null;
   //URLConnection urlconn;
   
   URL url = new URL("http://203.252.121.216:8080/test/product.jsp");
   URLConnection urlconn=url.openConnection();
   
   urlconn.setRequestProperty("content-type", "application/x-www-form-urlencoded");
   //urlconn.setRequestMethod("POST");   
   urlconn.setDefaultUseCaches(false);
   urlconn.setDoOutput(true);
   urlconn.setDoInput(true);
   //데이터 보내기
      OutputStreamWriter wr=new OutputStreamWriter(urlconn.getOutputStream());
   wr.write(data);
   wr.flush();
   Log.d("dolnbackground","데이터쓰기 완료");
   wr.close();
   
  }catch(Exception e) {
   e.printStackTrace();
  }
   
 }
 
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
 

}

일단은 jsp에서 mysql로 데이타를 전송하는 것은 됩니다. 그런데 안드로이드 앱 상에서 데이터를 넣으면 jsp로 데이터가 전송이 되질 않는 것 같습니다. 그래서 자바코드만 드립니다. 왜 안되는지 코드 분석좀 부탁드립니다.ㅜㅜ 능력자님들 ㅜㅜ

도와주세영 ㅜㅜㅜ

데이터 전송만 하는 코드입니다.

 

익명사용자 님이 2013년 11월 8일 질문

1개의 답변

0 추천
안녕하세요. 앱상에서 서버쪽으로 데이터를 보내고 싶다는 것이지요?

안드로이드는 네트워크 작업과 같은 비교적 시간이 많이 소요되는 것은 별도의 쓰레드를 생성해서 처리해야 합니다.

별도의 쓰레드를 상속받아서 그 쓰레드에 네트워크 작업에 사용되는 코드를 쓰고 실행하시면 될꺼에요.
인연 (31,880 포인트) 님이 2013년 11월 10일 답변
...