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

Fragment 내 mysql 연동중 문의드립니다 [closed]

0 추천
public class Fragment3 extends Fragment implements OnClickListener  { // 배송요청
..중략 ..
}
 public void onClick(View v){
        if(v.getId() == R.id.btn_order) {          

           if (null != MySpinner1 && null != MySpinner2 && null != MySpinner3 && null != MySpinner4 && null != MyedtText5 && null != MySpinner6 ) {            
           
              location = MySpinner1.getSelectedItem().toString();                       
              group= MySpinner2.getSelectedItem().toString();                      
              quantity = MySpinner3.getSelectedItem().toString();                     
              weight = MySpinner4.getSelectedItem().toString();                       
              memo = MyedtText5.getText().toString();                        
              time = MySpinner6.getSelectedItem().toString();              
                                
              PostData task1 = new PostData();
       task1.execute(new String[]{"http://192.168.1.16/insertparcel.php"});
           
              FragmentTransaction transaction = getFragmentManager().beginTransaction();
              transaction.replace(R.id.fragment_mainContainer, new Fragment4A());
              transaction.commit();
        }
           
        else if(v.getId() == R.id.btn_ordercancel){
         // FragmentA 앱개발로 돌아가기
         FragmentTransaction transaction = getFragmentManager().beginTransaction();
            transaction.replace(R.id.fragment_mainContainer, new FragmentA());
            transaction.commit();
         
         
        }
      }
 }
 
 private class PostData extends AsyncTask<String, Void, Boolean> { // 데이터를 보내는 메서드입니다.
  
  @Override
  protected void onPreExecute() {
   
  }  
    @Override
    protected Boolean doInBackground(String... urls) {    
   
    for(String url1 : urls){ 
     try{        
      ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();
      pairs.add(new BasicNameValuePair("location",location));
      pairs.add(new BasicNameValuePair("group",group));
      pairs.add(new BasicNameValuePair("quantity",quantity));
      pairs.add(new BasicNameValuePair("weight",weight));
      pairs.add(new BasicNameValuePair("memo",memo));
      pairs.add(new BasicNameValuePair("time",time));
            
      HttpClient httpclient = new DefaultHttpClient();
      HttpPost httppost = new HttpPost(url1);      
      httppost.setEntity(new UrlEncodedFormEntity(pairs));
      Log.d("pairs", "111"+pairs);
      HttpResponse response = httpclient.execute(httppost);
      Log.d("httppost", "111"+httppost);
      
            Log.d("TAG", "111"+url1);                     
       }
       catch(ClientProtocolException e){
        e.printStackTrace();    
       }
       catch(IOException e){
        e.printStackTrace();
       }
    
      }
    return true;
   } 
  
   protected void onPostExecute(Boolean result){
  if(result == true){
    ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();
    pairs.add(new BasicNameValuePair("location",location));
    pairs.add(new BasicNameValuePair("group",group));
    pairs.add(new BasicNameValuePair("quantity",quantity));
    pairs.add(new BasicNameValuePair("weight",weight));
    pairs.add(new BasicNameValuePair("memo",memo));
    pairs.add(new BasicNameValuePair("time",time));
    Log.d("TAG", "111"+location);
    Log.d("TAG", "111"+group);
    Log.d("TAG", "111"+quantity);
    Log.d("TAG", "111"+weight);
    Log.d("TAG", "111"+memo);
    Log.d("TAG", "111"+time);
  
  }
  else{
  
  }
  
  
   }
   
 } 
}

php문은 문제가 없는걸 확인했습니다.

위 코드는  db에 INSERT 하는 액!티!비!티 의 코드를 그대로 프래그먼트에서 사용해봤는데.. 

안드로이드client에서 보내는 데이터를 php에서 받질 못합니다. (로그에 에러도 없어서..추측이지만 확신합니다)

혹시 액티비티와 프래그먼트의 생명주기때문일까요? 어떤 조치를 해야하는지 문의드립니다. 

 

질문을 종료한 이유: 해결했습니다. 안드로이드 코드문제가 아닌 php문에서 테이블이름 인식이 잘 되지않아 이름을 바꾸어 생성하였더니 되네요...제ㄱ..길..
sta48 (290 포인트) 님이 2015년 5월 16일 질문
sta48님이 2015년 5월 16일 closed
문의 정정하겠습니다. 지금 위 소스코드는 fragment에서 http 웹접속을 실행하고 있는데 웹접속하여 php 로 데이터를 넘길 수 있나요?

위 소스코드와 같이 location, group, quantity, weight, memo, time 이라는 변수에 저장된 값을 php로 넘기고 php에서 _POST로 받아서 INSERT 쿼리를 진행하려고 합니다.
현재 액티비티에선 정상적으로 쿼리실행이 되던 코드가 프래그먼트에선 안되서... 액티비티를 통해서만 웹접속이 가능한건지..문의드립니다.
...