Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바스크립트
- 코드이그나이터
- 자바
- 7월 공모주 청약 일정
- php
- JavaScript
- linux
- 주식 청약
- 맥
- html
- 주식
- 리눅스
- 제이쿼리
- java
- jquery
- Stock ipo
- codeigniter
- css
- SQL
- Eclipse
- 공모주
- 오라클
- MYSQL
- Stock
- Oracle
- 공모주 청약 일정
- 6월 공모주 청약 일정
- IPO
- 주식 청약 일정
- 공모주 청약
Archives
- Today
- Total
개발자의 끄적끄적
[안드로이드] AsyncTask 를 이용한 HttpURLConnection 사용법 본문
728x90
반응형
[안드로이드] AsyncTask 를 이용한 HttpURLConnection 사용법
안드로이드에서 http 통신을 할려면 AsyncTask 를 이용해야 합니다.
동기로 구현할 경우 앱이 멎는 현상이
발생할 수 있으니 안드로이드에서 정책상 동기방식으로 동작이 안 되도록 막아둔 것이구요.
네트웍 뿐만 아니라
앱의 동작을 매끄럽게 하기 위해서는 비동기 방식으로 동작할 수 있도록 AsyncTask 를 활용하는 것이 좋습니다.
아래는 AsyncTask 를 확장한 Http 통신 클래스입니다.
public class HttpUtil extends AsyncTask<String, Void, Void> {
@Override
public Void doInBackground(String... params) {
try {
String url = "http://example.com/test.jsp";
URL obj = new URL(url);
HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type","application/json");
byte[] outputInBytes = params[0].getBytes("UTF-8");
OutputStream os = conn.getOutputStream();
os.write( outputInBytes );
os.close();
int retCode = conn.getResponseCode();
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer response = new StringBuffer();
while((line = br.readLine()) != null) {
response.append(line);
response.append('
');
}
br.close();
String res = response.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
위 클래스를 호출시는 아래와 같이 호출하면 됩니다. 예제 코드라 윗 부분은 생략했습니다.
try {
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(param);
new HttpUtil().execute(json);
} catch (Exception e) {
e.printStackTrace();
}
출처 : https://fun25.co.kr/blog/android-asynctask-httpurlconnection-post/?category=003
반응형
'개발 > android & ios' 카테고리의 다른 글
[android] 안드로이드 처음부터 배우기: REST API 사용하기 [펌] (0) | 2020.07.03 |
---|---|
[안드로이드] Thread(스레드) 파헤치기 [펌] (0) | 2020.07.03 |
[android] Thread를 올바르게 생성, 시작, 중단하는 방법(feat. deamon thread와 자바런타임 메모리 공유) [펌] (0) | 2020.07.02 |
[안드로이드] runOnUiThread란? (개념과 사용법) [펌] (0) | 2020.07.02 |
[안드로이드 HTTP 통신] HttpURLConnection으로 웹서버 통신하기 [펌] (0) | 2020.07.01 |
Comments