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

HttpURLConnection 질문드립니다.

0 추천

import org.json.JSONException;
        import org.json.JSONObject;

        import java.io.BufferedReader;
        import java.io.DataOutputStream;
        import java.io.IOException;
        import java.io.InputStreamReader;
        import java.io.OutputStream;
        import java.net.HttpURLConnection;
        import java.net.MalformedURLException;
        import java.net.ProtocolException;
        import java.net.URL;

/**
* Created by Sin on 2015-09-14.
*/
public class SendHttp {

    public  String sendhttp(String email, String pass) throws IOException, JSONException {
        String Gyse_url = "서버주소";
        URL url = new URL(Gyse_url);
        String jsonHtml = null;
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();

        if(connection != null){
            connection.setConnectTimeout(3000);
            connection.setReadTimeout(3000);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/json");
            connection.setRequestProperty("Accept", "application/json");
            connection.setUseCaches(false);
            connection.setDoInput(true);
            connection.setDoOutput(true);

            JSONObject job = new JSONObject();
            job.put("EMAIL", email);
            job.put("PASS", pass);

            OutputStream os = connection.getOutputStream();
            os.write(job.toString().getBytes());
            os.flush();

            if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){
                //DataOutputStream out = null;

                BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));

                for(;;){

                    // 웹상에 보여지는 텍스트를 라인단위로 읽어 저장.

                    String line = br.readLine();

                    if(line == null) break;

                    // 저장된 텍스트 라인을 jsonHtml에 붙여넣음

                    jsonHtml = line;

                }

                br.close();

                connection.disconnect();

            }

        }

        return jsonHtml;
    }

}

 

위와 같이 클래스 하나를 따로 만들어서

메인 액티비티에서 

result = sendhttp.sendhttp(email, pass); 와 같이 사용했습니다.

sendhttp요청시 앱이 중단되서 꺼져버립니다. 왜인지 이유를 찾지도 못해서

질문드립니다. 어떠한 문제로 생각되시나요??  서버주소는 제대로 적어 넣었습니다.

bedz (700 포인트) 님이 2015년 9월 14일 질문

1개의 답변

0 추천
에러 메세지를 올려주셔야 정확한 답변이 가능하죠.

그냥 하시는 말만 들어서 추측하면 메인스레드에서 네트워크 작업해서 에러난거같네요.
익명사용자 님이 2015년 9월 15일 답변
...