자라나라 개발머리

0. 안드로이드 스튜디오 - 스프링 부트 - MySQL 프로젝트 본문

프로젝트/개인

0. 안드로이드 스튜디오 - 스프링 부트 - MySQL 프로젝트

iammindy 2023. 1. 19. 15:28

2022-1학기에 캡스톤을 수강하게 되었다.

 

캡스톤 수강 전, 제작 흐름을 파악하기 위해 이제까지 배우고, 경험했던 내용을 활용해 restapi 서버를 활용한 간단한 안드로이드 어플을 제작해보려고 한다.

 

안드로이드 제작 경험이 있어서 클라이언트는 안드로이드로 개발하면 될 것 같았고,

이제껏 내가 스프링 부트를 가지고 공부했으므로 스프링 부트가 서버 역할을 하면 아주 좋겠다 생각은 했지만 지식이 없으니 스프링 부트를 앱 서버로 써도 되는지부터 알아봐야했다.

 

이것저것 구글링 해 본 결과 안드로이드 스튜디오에 스프링 부트 서버를 쓰는건 흔한 일 같다. 마찬가지로 스프링 부트에 MySQL을 연결해서 쓰는 게시글도 아주 많다.

 

결론은  안드로이드 스튜디오 - 스프링 부트 - MySQL 로 백을 구현해보기로 했다.

 

목표는 1/29일까지 위 기술스택으로 회원가입/조회 등 간단한 기능을 하는 프로젝트를 구현해보는 것이다.

 

아래는 구글링하며 얻어 온 정보들을 정리한 것이다.

 

-

 

백엔드 동작 순서 (참고: https://choi-dev.tistory.com/53)

1. 안드로이드 어플에서 버튼 클릭

2. *레트로핏 통신으로 *dto 객체를 Gson 라이브러리를 이용하여 json 으로 담아 url 로 서버에 요청 

3. 서버에서 해당 url 를 담당하는 controller 가 값을 받아서 내부로직 실행

4. service 로 값을 전달

5. *dao에서 값을 받고 *Mybatis 를 이용하여 쿼리실행

6. Mysql에  값이 변경됐음을 확인가능

 

Retorofit: 서버-클라이언트 간 http통신을 위한 라이브러리 (안드로이드 스튜디오 - 스프링부트)

dto: 계층(Controller, View, service 등) 간 데이터 교환을 위한 객체

dao: 데이터베이스의 데이터에 접근하기 위한 객체

Mybatis: 스프링에서 데이터베이스 연동을 도와주는 프레임워크

 

postman: rest api 클라이언트(rest api 테스트 툴)