안녕하세요?


극초보분께 해당되는 글입니다만.. 도움이 되길바라며..


진행단계는 이렇습니다.


1. php에 post방식으로 요청합니다.(요처어에 포함될 전달인자를 원하는 캐릭터셋으로 셋팅포함)

2. php에서 DB쿼리를 해온결과값을 다시 안드로이드에 뿌려줍니다.(결과값을 원하는 캐릭터셋으로 셋팅포함)

3. get방식을 통해 받아온 문자열을 맞게끔 뿌려줍니다.


첨부파일에 post.zip 파일이 있습니다. 



php문서내용


22.PNG

13라인의 ★ CUT★ 는 배열의 구분자 역활로 활용하기위해서 넣어놨습니다.

(주의: index.php에 html문법이 포함될경우 태그 그대로 결과값에 전달받게됍니다. 문서를 분리해서 처리하셔야합니다.)



MYSQL TABLE내용

11.PNG

간단하게 다루기위해서 심플하게 셋팅해봤습니다.




111.PNG


222.PNG

66,67라인은 GET방식마냥 인자를 전달해주더군요.

PHP에서 인자를 받으려면


$_POST[name] ;

$_POST[content] ;

방식으로 받으시면됩니다.



70라인이 전달될 인자 캐릭터셋을 셋팅하는부분입니다.





333.PNG

93라인에서 결과값을 받을때 캐릭터셋을 셋팅하는부분입니다.





fff.PNG




~~~ 내용 추가합니다. 인터넷 퍼미션을 추가해주는 작업입니다.~~~~


AndroidManifest.xml 을 열으신후


11.png


빨간박스내용을 추가해주시면됩니다..이걸 안하시면 인터넷이안되는걸로 압니다.




아래부터는 java 소스내용이 되겠습니다.


package ex.asus;


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;


import java.util.Vector;


import org.apache.http.client.HttpClient;


import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpPost;


import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.protocol.HTTP;


import org.apache.http.*;



import android.app.Activity;

import android.os.Bundle;


import android.view.View;


import android.widget.Button;


import android.widget.TextView;



public class PostActivity extends Activity {

    /** Called when the activity is first created. */

Button bn ;

TextView result ;


    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        bn = (Button)findViewById(ex.asus.R.id.btn);

        result = (TextView)findViewById(ex.asus.R.id._result);

       

        bn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

request_logic() ;

}

});

    }

    

    

    public void request_logic() {

   

    try { 

HttpPost request = new HttpPost( "http://fmstest.wo.tc/test.php" ) ;  

       

       Vector<NameValuePair> nameValue = new Vector<NameValuePair>() ;  

       

       nameValue.add( new BasicNameValuePair( "name", "홍길동" ) ) ;  

       nameValue.add( new BasicNameValuePair( "content", "내용이야" ) ) ;  

       

       

       HttpEntity enty = new UrlEncodedFormEntity(nameValue, HTTP.UTF_8) ;

       request.setEntity(enty) ; 


   

    HttpClient client = new DefaultHttpClient() ;  

      

            HttpResponse res = client.execute(request) ;

                        

            return_logic(res) ;

   

} catch (Exception e) {

// TODO: handle exception

}


    }

    

    public void return_logic(HttpResponse res) {

   

   

    try {

    HttpEntity entityResponse = res.getEntity() ;

   

    InputStream im = entityResponse.getContent() ;


    BufferedReader reader = new BufferedReader(new InputStreamReader(im,HTTP.UTF_8),30);

   

   

    String total = "" ;

    String tmp = "" ;

    while ( (tmp=reader.readLine()) != null ) {

    if ( tmp != null ) {

    total += tmp ;

    }

    }

   

    im.close() ;


    //대분류

    String main[] = total.split("★CUT★") ;


    //소분류

      String str = "" ;

     

      //세분류

      String temp[] = main[0].split("&") ; 

   

     

    str += "번호: " + (temp[0].split("="))[1] + "\n" ;

    str += "이름: " + (temp[1].split("="))[1] + "\n" ;

    str += "내용: " + (temp[2].split("="))[1] ;

   

    result.setText(str);


   

} catch (Exception e) {

// TODO: handle exception

}

   

    }


}