관리 메뉴

moozi

jsp post 처리 본문

안드로이드개발강좌

jsp post 처리

moozi 2015. 5. 12. 17:56

package com.example.user.json2;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Properties;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;

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

public class MainActivity extends Activity implements OnClickListener {

    String encodedString;
    HttpURLConnection urlConnection;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);


        // 버튼 클릭 대기: 시작
        Button btn = (Button)findViewById(R.id.button_call);
        btn.setOnClickListener(this);
        // 버튼 클릭 대기: 끝
    }

    public static String encodeString(Properties params) {
        StringBuffer sb = new StringBuffer(256);
        Enumeration names = params.propertyNames();

        while (names.hasMoreElements()) {
            String name = (String) names.nextElement();
            String value = params.getProperty(name);
            sb.append(URLEncoder.encode(name) + "=" + URLEncoder.encode(value) );

            if (names.hasMoreElements()) sb.append("&");
        }
        return sb.toString();
    }

    // @Override
    public void onClick(View v) {

// TODO Auto-generated method stub
    /*    String url = "http://10.0.2.2:8000/member1/list_ok.jsp";
        HttpClient http = new DefaultHttpClient();
        try {

            EditText etName=(EditText)findViewById(R.id.name);
            EditText etTitle=(EditText)findViewById(R.id.title);
            EditText etMemo = (EditText)findViewById(R.id.memo);

            ArrayList<NameValuePair> nameValuePairs =
                    new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("name", etName.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("title", etTitle.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("memo", etMemo.getText().toString()));
            HttpParams params = http.getParams();
            HttpConnectionParams.setConnectionTimeout(params, 5000);
            HttpConnectionParams.setSoTimeout(params, 5000);

            HttpPost httpPost = new HttpPost(url);
            UrlEncodedFormEntity entityRequest =
                    new UrlEncodedFormEntity(nameValuePairs, "EUC-KR");

            httpPost.setEntity(entityRequest);

            HttpResponse responsePost = http.execute(httpPost);
            HttpEntity resEntity = responsePost.getEntity();

            //tv_post.setText( EntityUtils.toString(resEntity));
        }catch(Exception e){e.printStackTrace();}

        */

        String strUrl = "http://10.0.2.2:8000/member1/list_ok.jsp";
        new InsertTask().execute(strUrl);

       /* URL url = null;
        HttpURLConnection urlConnection = null;
        BufferedInputStream buf = null;

        EditText etName=(EditText)findViewById(R.id.name);
        EditText etTitle=(EditText)findViewById(R.id.title);
        EditText etMemo = (EditText)findViewById(R.id.memo);

        Properties prop = new Properties();
        prop.setProperty("name", etName.getText().toString());
        prop.setProperty("title", etTitle.getText().toString());
        prop.setProperty("memo", etMemo.getText().toString());

        encodedString = encodeString(prop);

        String strUrl = "http://10.0.2.2:8000/member1/list_ok.jsp";
        new InsertTask().execute(strUrl);
        */
    }

    private class InsertTask extends AsyncTask<String, Void, Void> {

        @Override
        protected Void doInBackground(String... urls) {
            HttpClient http = new DefaultHttpClient();
            try {

                EditText etName=(EditText)findViewById(R.id.name);
                EditText etTitle=(EditText)findViewById(R.id.title);
                EditText etMemo = (EditText)findViewById(R.id.memo);

                ArrayList<NameValuePair> nameValuePairs =
                        new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("name", etName.getText().toString()));
                nameValuePairs.add(new BasicNameValuePair("title", etTitle.getText().toString()));
                nameValuePairs.add(new BasicNameValuePair("memo", etMemo.getText().toString()));
                HttpParams params = http.getParams();
                HttpConnectionParams.setConnectionTimeout(params, 5000);
                HttpConnectionParams.setSoTimeout(params, 5000);

                HttpPost httpPost = new HttpPost(urls[0]);
                UrlEncodedFormEntity entityRequest =
                        new UrlEncodedFormEntity(nameValuePairs, "EUC-KR");

                httpPost.setEntity(entityRequest);

                HttpResponse responsePost = http.execute(httpPost);
                HttpEntity resEntity = responsePost.getEntity();

                //tv_post.setText( EntityUtils.toString(resEntity));
            }catch(Exception e){e.printStackTrace();}


            /*try {
                // URL 접속
                URL url = new URL("http://10.0.2.2:8000/member1/list_ok.jsp");
                urlConnection = (HttpURLConnection) url.openConnection();

                urlConnection.setDoInput(true);
                urlConnection.setDoOutput(true);

                urlConnection.setUseCaches(false);

                urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

                DataOutputStream out = null;

                out = new DataOutputStream(urlConnection.getOutputStream());
                out.writeBytes(encodedString);
                out.flush();

                return "성공";
            } catch (IOException e) {
                return "실패";
            }
            */
            return null;
        }
    }
}

'안드로이드개발강좌' 카테고리의 다른 글

ActionBar예제  (0) 2015.10.01
jsp json 활용 샘플  (0) 2015.06.03
안드로이드 스튜디오에서 JSON 테스트  (0) 2015.04.30
BlurMaskFilter가 적용되지 않을 때  (0) 2015.04.24
그래픽코드  (0) 2015.04.01
Comments