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

자바 json을 이용한 서비스에 정보를 보내려합니다 어떻게 해야하는지 알려주세요...ㅠㅠ

–1 추천
public class MemberDTO extends Activity implements OnClickListener{
    
HttpClient client1;
EditText  id, pwd, name,age,rid,loginfo,miss,phone,rname;
WifiManager.WifiLock wifiLock;
Intent intent;
Intent intent3;
ReadData3 rd3;
SendRssi sendrssi;
WifiManager wifiManager;
Context context;
AccessPoint UsingAP;
boolean IsRunning;
final static String URL = "http://---------:8080/RestService/RestServiceImpl.svc/Insert/";
MemberDTO dto;

   public RelativeLayout RL;

   public int screenWidth;
   public int screenHeight;
protected Object device;

@Override
protected  void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
        setContentView(R.layout.join2);
    
       
        findViewById(R.id.regist).setOnClickListener(this);
        findViewById(R.id.back).setOnClickListener(this);
        id = (EditText) findViewById(R.id.id1);
        pwd = (EditText) findViewById(R.id.pwd1);
        name = (EditText) findViewById(R.id.name1);
        age = (EditText) findViewById(R.id.age1);
        rid = (EditText) findViewById(R.id.rid1);
        loginfo = (EditText) findViewById(R.id.log1);
        pro = (RadioButton) findViewById(R.id.protect1);
        vic = (RadioButton) findViewById(R.id.victim1);
        miss = (EditText) findViewById(R.id.miss1);
        phone = (EditText) findViewById(R.id.phone1);
        rname = (EditText) findViewById(R.id.rname1);
        
        wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
     UsingAP = new AccessPoint();
UsingAP.setSSID("AP-CENTER");
UsingAP.setMacAddress("64:e5:99:63:67:40");
UsingAP.setPassword("asdf1234");
      

}
public JSONArray getPersonsData1() throws ClientProtocolException, IOException, JSONException
    {
     String ID,PW,AGE,NAME,LOGINFO,MISSING,RELATION,PHONE,ID2,NAME2;
     ID = id.getText().toString();
     PW = pwd.getText().toString();
     AGE = age.getText().toString();
     NAME = name.getText().toString();
     LOGINFO = loginfo.getText().toString();
     MISSING = miss.getText().toString();
     PHONE = phone.getText().toString();
     RELATION = "0";
     ID2 = rid.getText().toString();
     NAME2 = rname.getText().toString();
     
     if(ID.getBytes().length<=0 || PW.getBytes().length<=0|| NAME.getBytes().length<=0|| AGE.getBytes().length<=0|| LOGINFO.getBytes().length<=0|| PHONE.getBytes().length<=0|| ID2.getBytes().length<=0|| NAME2.getBytes().length<=0|| RELATION.getBytes().length<=0|| MISSING.getBytes().length<=0){
     ID ="0";
     PW ="0";
     AGE = "0";
          NAME =  "0";
          LOGINFO =  "0";
          MISSING =  "0";
          PHONE =  "0";
          RELATION = "0";
          ID2 =  "0";
          NAME2 = "0";
     }
        HttpGet get1 = new HttpGet(URL+ID+"/"+PW+"/"+NAME+"/"+AGE+"/"+PHONE+"/"+LOGINFO+"/"+ID2+"/"+NAME2+"/"+RELATION+"/"+MISSING);
       HttpResponse response1 = client1.execute(get1);
        int status = response1.getStatusLine().getStatusCode();

        if(status == 200) //sucess
        {
            HttpEntity e1 = response1.getEntity();
            String data1 = EntityUtils.toString(e1);
            JSONArray personsData1 = new JSONArray(data1);

            return personsData1;
        }
        else
        {
         printToast("FAIL1 !!!");

            return null;
        }

    }

  @Override
public void onClick(View v) {

    switch (v.getId()) {
      case R.id.regist:
       if (name.getText().toString().equals("")
          || id.getText().toString().equals("")
          || pwd.getText().toString().equals("")
          || phone.getText().toString().equals("")) {
         Toast.makeText(MemberDTO.this, "입력오류입니다",
           Toast.LENGTH_SHORT).show();
         return;
       }
   
     try{
    
  
        rd3 = (ReadData3) new ReadData3(this.context,this).execute();
        String data;
        if(rd2.get().size()>0)
        {
        data = rd3.get().get(0);
        Intent intent = new Intent(getApplicationContext(), MemberDTO.class);
        intent.putExtra("infop",data);
        startActivity(intent);
    
        }
     }      
     catch(Exception e)
     {
     Log.v("join",e.toString());
     printToast(e.toString());
     }
    
      break;
     case R.id.back:
          finish();
          break;
     case R.id.check:
      String url = intent.getData().getQueryParameter("url");
      String data = intent.getData().getQueryParameter("id");
      int i = Integer.parseInt(data);
    
      if(R.id.id1 == i)
      {
      printToast("아이디가 이미 있답니다");
      }
      else
      {
      printToast("아이디 사용이 가능하다고한다");
      }
    
      break;
     case R.id.rcheck:
      finish();
      break;
  
}
};

 

07-31 19:39:46.893: E/AndroidRuntime(15350): FATAL EXCEPTION: AsyncTask #1
07-31 19:39:46.893: E/AndroidRuntime(15350): java.lang.RuntimeException: An error occured while executing doInBackground()
07-31 19:39:46.893: E/AndroidRuntime(15350):  at android.os.AsyncTask$3.done(AsyncTask.java:278)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.lang.Thread.run(Thread.java:856)
07-31 19:39:46.893: E/AndroidRuntime(15350): Caused by: java.lang.NullPointerException
07-31 19:39:46.893: E/AndroidRuntime(15350):  at com.example.jsonsampleapp.MemberDTO.getPersonsData1(MemberDTO.java:173)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at com.example.jsonsampleapp.ReadData3.doInBackground(ReadData3.java:58)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at com.example.jsonsampleapp.ReadData3.doInBackground(ReadData3.java:1)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at android.os.AsyncTask$2.call(AsyncTask.java:264)
07-31 19:39:46.893: E/AndroidRuntime(15350):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
07-31 19:39:46.893: E/AndroidRuntime(15350):  ... 5 more

 

 
밑은 로그 입니다 
HttpResponse response1 = client1.execute(get1);-> MemberDTO.java 173
 JSONArray personsNames = act1.getPersonsData1(); -> ReadData3 58
package com.example.jsonsampleapp; -> ReadData3 1
아오쿠르 (900 포인트) 님이 2015년 7월 31일 질문
아오쿠르님이 2015년 8월 3일 수정

1개의 답변

+1 추천
 
채택된 답변
HttpClient client1;
HttpResponse response1 = client1.execute(get1);

client1 은 선언만 해놓고 바로 쓰고 있네요.

쎄미 (162,410 포인트) 님이 2015년 8월 3일 답변
아오쿠르님이 2015년 8월 19일 채택됨
client1 = new DefaultHttpClient(); 이걸 추가시켯는데도 에러가;;;
...