새소식

개발일지

[android studio] 이미지 서버에 보내기 (+데이터)

  • -

 

안드로이드 스튜디오 프로젝트를 진행하면서 진단하는 기능이 있는데, 

진단을 위해 촬영한 이미지를 서버로 보내줘야 했다. 

 

어떻게 이미지를 보낼까 찾아보다가 레트로핏이라는 라이브러리를 사용하여 이미지를 보내고 진단된 결과를 서버로부터 응답받을 수 있다고 한다. 

 

2023.02.08 - [android studio] - [Android] retrofit 레트로핏이란?🔎

 

[Android] retrofit 레트로핏이란?🔎

Retrofit이란? Retrofit은 Square에서 개발한 Android, Java 및 Kotlin용 유형 안전 REST 클라이언트입니다. 라이브러리는 API를 인증 및 상호 작용하고, OkHttp를 사용하여 네트워크 요청을 보내기 위한 강력한

dvlpseo.tistory.com

 

2023.02.08 - [android studio] - [Android] retrofit 레트로핏 사용법 🔮

 

레트로핏을 설정하는 부분은 위 게시글을 참조하고, 

 

코드 부분만 간단히 설명하자면, 

 

 

먼저 POST 요청을 통해 멀티파트로 이미지를 보낸다. 

(데이터를 같이 보내고 싶을 때는 , requestBody를 사용하여 주석과 같이 사용한다.) 

 

 

 

그리고 BaseURL에 url을 넣어주고,

레트로핏을 생성하는 코드를 만들어준다. ㄹ

(okHttpClient는 시간을 지연시키기 위한 코드이다. )

 

 

우리가 서버에서 응답 결과를 받을 때 JSon 형식으로 받는데, 그 결과 값을 받기 위한 데이터 DTO를 설정해준다. 

 

아래는 우리가 응답 결과를 받는 형식이다. 

배열로 name, asymptomaticProbability, symptonProbability의 값을 받는다. 

 

위 값을 받기 위해 Kotlin data class File from JSON을 사용하여 data class를 생성해준다. 

main 코드 

 

카메라로 찍은 사진을 bitmap으로 변환후 bytearray 형식으로 서버에 보내주었다. 

 

 

 

레트로핏으로 이미지 보내는 방법은 처음 다뤄봐서 처음엔 너무 헤맸다. 

하나하나 어떤 방식으로 보내지는지 이해해가면서 코드를 구현했더니 성공하였다. 

 

이번기회에 레트로핏 낱낱히 파해진것 같다. 

아직 이미지만 보내고 데이터는 안보내서 데이터도 같이 보내는 부분도 코드를 추가하여구현해 볼 예정이다. 

'개발일지' 카테고리의 다른 글

[react] Datagrid pagination 커스텀해보기💫  (0) 2023.02.02
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.