안드로이드 개발 질문/답변
(글 수 45,052)
게시판에 글쓰는 어플을 만들려고 합니다..
첨부파일에 있어요 ㅠㅠ
하지만
post 로 넘겨주는데 밑에 값을 어떻게 넘겨줘야할지 모르겟네요
완전초보인 저에게 좀 알려주실 고수님들 안계십니까?
레퍼런스도 감사합니다.. 부탁드려요
완전초보인 저에게 좀 알려주실 고수님들 안계십니까?
레퍼런스도 감사합니다.. 부탁드려요
2011.02.23 08:18:07
앱에 액티비티로 글쓰기화면에서 요구하는 항목들을 입력받도록 만들어주시고 .do 페이지의 소스보기를 해보시면 내용을 전달할 주소를 찾을 수 있을 것입니다. action 키워드로 찾으시면 됩니다. 마지막으로 httpclient 패키지를 이용해서 액티비티에서 받은 자료를 전공하도록 작성하시면 됩니다.
2011.02.23 17:19:19
댓글 감사합니다
전달할 주소는 찾았는데 받은자료를 전송하려고 input tag에 있는 변수를 모두 넣어서 해봣는데.... 안되네요 리스폰스되는 html코드는 게시판작성하는 페이지가 나오네요 ...
그리구 보낼때 boundry값과 header 의 Content-Type: multipart/form-data; boundary=---------------------------7db278297205ba
값이 다르면 오류가 나네요 ㅠㅠ
코드
코드
package kr.co.androidnote.webserver;
import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Vector;
import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair;
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.EditText;
public class WebServerMain extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById( R.id.submitBtn ) ;
btn.setOnClickListener( this ) ;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String name = ((EditText) findViewById(R.id.nameF)).getText().toString() ;
String sex = ((EditText) findViewById(R.id.sexF)).getText().toString() ;
EditText resultField = ( EditText ) findViewById( R.id.resultF ) ;
try {
//데이터를 웹서버에 보내고 받아온 결과를 출력합니다.
resultField.setText( sendData( name, sex ) ) ;
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private String sendData(String name, String sex) throws ClientProtocolException, IOException {
// TODO Auto-generated method stub
HttpPost request = makeHttpPost( name, sex, "http://www.catholic.ac.kr/wcms/Common/MessageBoard/ArticleWrite.do?forum=11168&id=&subject_code=" ) ;
HttpClient client = new DefaultHttpClient() ;
ResponseHandler<String> reshandler = new BasicResponseHandler() ;
String result = client.execute( request, reshandler ) ;
return result ;
}
private HttpPost makeHttpPost(String $name, String $sex, String $url) {
// TODO Auto-generated method stub
HttpPost request = new HttpPost( $url ) ;
Vector<NameValuePair> nameValue = new Vector<NameValuePair>() ;
nameValue.add( new BasicNameValuePair( "max_subject", "100" ) ) ;
nameValue.add( new BasicNameValuePair( "body_html","" ) ) ;
nameValue.add( new BasicNameValuePair( "subject", "123" ) ) ;
nameValue.add( new BasicNameValuePair( "unknown_name", "111" ) ) ;
nameValue.add( new BasicNameValuePair( "name_active", "N" ) ) ;
nameValue.add( new BasicNameValuePair( "body_html", "<div>asdf</div>" ) ) ;
nameValue.add( new BasicNameValuePair( "new_file1", "" ) ) ;
nameValue.add( new BasicNameValuePair( "new_file1_desc", "" ) ) ;
nameValue.add( new BasicNameValuePair( "new_file2", "" ) ) ;
nameValue.add( new BasicNameValuePair( "new_file2_desc", "" ) ) ;
nameValue.add( new BasicNameValuePair( "new_file3", "" ) ) ;
nameValue.add( new BasicNameValuePair( "new_file3_desc", "" ) ) ;
nameValue.add( new BasicNameValuePair( "btnSave.x", "123" ) ) ;
request.setEntity( makeEntity(nameValue) ) ;
return request ;
}
private HttpEntity makeEntity( Vector<NameValuePair> $nameValue ) {
HttpEntity result = null ;
try {
result = new UrlEncodedFormEntity( $nameValue ) ;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result ;
}
}
코드
전송할내용은 어떻게 지정해야되나요 ㅠㅠ



