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
- VUE
- 안드로이드
- Django
- 성능 최적화
- virtual dom
- jest
- 주니어 개발자
- lazy loading
- vue.js
- 세션스토리지
- frontend
- vuetify
- webpack
- vue #vue.js #font #web-font
- Router
- 프론트엔드
- 뷰
- 로컬스토리지
- 라우터
- vue-router
- css
- NavigationDuplicated
- 장고
- 자바스크립트 #javascript #렌더링 #렌더링순서
- Transition
- DOM
- 세션
- 렌더링 최적화
- 예외처리
- cubic-bezier
Archives
- Today
- Total
한준호
안드로이드 웹서버 통신 okhttp3 본문
728x90
앱에서 서버와 통신을 하기 위해 okhttp3 라이브러리를 사용하였다.
okhttp3는 HTTP 기반의 request / response 방식이며, Retrofit 라이브러리의 베이스가 된다. 추후에 해당 라이브러리에 대해 설명할 것이다.
이 라이브러리를 사용하기 위해선
1. okhttp3 라이브러리 설치
2. AndroidManifest에 INTERNET Permission 추가
가 선행되어야 한다.
Get request에 간단히 설명하면, 치킨집에 전화해서 양념반 후라이드반을 달라고 주문하는 것과 같다.
코드상에서 치킨집은 서버, 양반후반은 request, 나는 클라이언트가 될 것이다.
통신 이벤트를 위해 간단한 버튼을 생성한다.
APPLY =버튼을 누르면 서버에 Get 방식으로 호출할 것이다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_search);
textLine = findViewById(R.id.textLine);
submitBtn = findViewById(R.id.submitBtn);
String input = textLine.getText().toString();
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
System.out.println("ASDASDSD");
sendText(input);
}
});
클릭 리스너를 통해 sendText라는 메소드에 입력값 input을 매개변수로 보낸다
private static void sendText(String input){
Log.v("태그", "메시지");
Request request = new Request.Builder()
// .url("http://127.0.0.1:8000/app/hello/")
.url("http://10.0.2.2:8000/app/hello/")
// .post(requestBody)
.build();
OkHttpClient client = new OkHttpClient();
Log.v("태그", "pass");
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
// Callback function to check data returned
@Override
public void onResponse(Call call, Response response) throws IOException {
Log.d("TEST : ", response.body().string());
}
});
}
okhttp3 라이브러리에 존재하는 Request.Builder 클래스의 객체 request에 통신을 요청할 http url을 심어준 뒤 build()로 완성시키고 서버에 보내는 간단한 메소드이다.
요약하자면 Client객체를 만들어서 request를 보내고 callback함수로 response를 받는 형태이다.
728x90
'애플리케이션 > 안드로이드' 카테고리의 다른 글
(간단)안드로이드 고화질 이미지 에러 (0) | 2021.05.01 |
---|---|
안드로이드 에뮬레이터에서 로컬호스트 접속(서버 통신) (0) | 2021.04.19 |
Comments