반응형
들어가며
HTTP는 Server와 통신하는데 가장 modern한 방식 중 하나이다. 서버에 GET, POST, PUT, DELETE 요청을 통해 데이터를 주고 받는 방법에 대해서 설명한다. 오픈 소스인 OkHttp를 설치하고, HTTP요청 방법에 대해서 설명하겠습니다.
설치하기
설치하는 방법은 총 3가지이다. jar파일 다운 또는 Maven, Gradle 추가이다.
- v3.2.0 Jar [다운로드]
- Gradle
compile 'com.squareup.okhttp3:okhttp:3.2.0'
- Maven
com.squareup.okhttp3 okhttp 3.2.0
GET
package okhttp3.guide;
import java.io.IOException;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class GetExample {
OkHttpClient client = new OkHttpClient();
String run(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
public static void main(String[] args) throws IOException {
GetExample example = new GetExample();
String response = example.run("https://raw.github.com/square/okhttp/master/README.md");
System.out.println(response);
}
}
POST, PUT, DELETE
Request의 객체를 만들때 post를 put, delete로 변경하면 POST, PUT, DELETE 요청을 할 수 있다.
package okhttp3.guide;
import java.io.IOException;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class PostExample {
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
String bowlingJson(String player1, String player2) {
return "{'winCondition':'HIGH_SCORE',"
+ "'name':'Bowling',"
+ "'round':4,"
+ "'lastSaved':1367702411696,"
+ "'dateStarted':1367702378785,"
+ "'players':["
+ "{'name':'" + player1 + "','history':[10,8,6,7,8],'color':-13388315,'total':39},"
+ "{'name':'" + player2 + "','history':[6,10,5,10,10],'color':-48060,'total':41}"
+ "]}";
}
public static void main(String[] args) throws IOException {
PostExample example = new PostExample();
String json = example.bowlingJson("Jesse", "Jake");
String response = example.post("http://www.roundsapp.com/post", json);
System.out.println(response);
}
}
[참고] http://square.github.io/okhttp/
반응형
'Programming > Android' 카테고리의 다른 글
| [Android] 파일 삭제하기 (0) | 2016.04.24 |
|---|---|
| [Android] 안드로이드 파일 목록 가져오기 (3) | 2016.04.24 |
| [Android] 안드로이드 전체 화면 사용하기 - 상태바, 액션바 숨기기, 제거하기 (Status Bar, Action Bar Hiding/Removing) (1) | 2016.04.17 |
| [Android] 안드로이드 SharedPreference 사용하기 (0) | 2016.03.26 |
| [Android] 안드로이드 스튜디오 File size exceeds configured limit 오류가 발생하는 경우 (0) | 2016.03.21 |