반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
안드로이드의 Http라이브러리인 okhttp3 사용 방법에 대해 공부합니다.
현재 버전은 3.8.1 버전이 최신버전입니다.
먼저 build.gradle(Module:app)에 의존성을 추가해줍니다.
implementation 'com.squareup.okhttp3:okhttp:3.8.1'
1. get 방식으로 요청을 보내고 값 받아오기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.io.IOException; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class GetEx { OkHttpClient client = new OkHttpClient(); String run(String url) throws IOException { Request request = new Request.Builder() .url(url) .build(); try (Response response = client.newCall(request).execute()) { return response.body().string(); } } public static void main(String[] args) throws IOException { GetEx ex = new GetEx(); String response = ex.run("요청을 보낼 주소 ex: http://localhost:8080"); System.out.println(response); } } | cs |
2. POST 방식 + 요청 쿼리 보내고 값 받아오기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class PostEx { public static void main(String[] args) throws IOException { OkHttpClient client = new OkHttpClient(); RequestBody body = new FormBody.Builder().add("key", "value").build(); Request request = new Request.Builder() .url("http://localhost:8080/users") .post(body) .build(); Response response = client.newCall(request).execute(); ResponseBody responseBody = response.body(); String res = responseBody.toString(); System.out.print(res); } } | cs |
3. Callback 함수 추가하기
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 | public class PostEx { public static void main(String[] args) throws IOException { OkHttpClient client = new OkHttpClient(); RequestBody body = new FormBody.Builder().add("key", "value").build(); Request request = new Request.Builder() .url("http://localhost:8080/users") .post(body) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { System.out.print(e.getMessage()); e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { String res = response.toString(); System.out.print(res); } }); } } | cs |
직접사용해보면 크게 어렵지 않습니다.
※ import 시에는 okhttp3 으로 시작하는 클래스들을 추가해야합니다.
이상입니다.
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 스플래시화면 만들기 without layout xml (0) | 2018.09.05 |
---|---|
Android swipeLayout 사용 예제. 페이스북, 유튜브 등등에서 사용되는 새로고침 기능. (0) | 2018.09.04 |
안드로이드 파이어베이스 클라우드 파이어 스토어(Cloud FireStore 예제! (0) | 2018.07.13 |
안드로이드 Error:Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 74362 > 65536 해결방법 (0) | 2018.07.11 |
안드로이드 Volley 와 Vertx HttpServer HTTP 통신하기! (0) | 2018.07.04 |