안드로이드 프로젝트 5

안드로이드 샘플 프로젝트

https://github.com/supremehyo/SampleCleanArchitecture GitHub - supremehyo/SampleCleanArchitecture: 안드로이드 샘플앱을 위한 레포입니다. 더 좋은 방법이 생길때안드로이드 샘플앱을 위한 레포입니다. 더 좋은 방법이 생길때마다 꾸준히 업데이트 될 예정입니다. - supremehyo/SampleCleanArchitecturegithub.com최근에 만들고 있는 샘플 프로젝트가 있다.관련해서 다른 포스트에서도 언급을 했었던거 같은데 암튼. 예전에 했던 사이드 프로젝트들을 쭉 돌아보는데 정리도 잘안되고 지금와서 모든 프로젝트들을내가 만족할만한대로 다 수정하기에는 너무 어지러워서몇년이고 꾸준히 업데이트 해볼 프로젝트를 진행하기로 했다. 기..

4. 안드로이드 MVP 패턴

MVP 패턴은 앞에서 설명했던 MVC 패턴과 유사하다. MVC 패턴을 경험했다면 대략적이 감을 잡는데 크게 어렵지 않을것이다. MVP는 Model + View + Presenter를 말합니다. 출처: https://beomy.tistory.com/43 [beomy] 가장 큰 차이점이라고 하면 presenter 라는게 중간에서 view와 model 사이에서 데이터를 받고 넘겨주고하는 우편배달부 같은 역할을 한다. 그로인해 MVC 패턴에서 있었던 view와 model 사이의 의존성이 해결된다. 물론 좋은점이 있으면 나쁜점이 있는것처럼 view 와 presenter 의 의존성은 어플리케이션이 복잡해질수록 늘어난다는 단점이 있다. 그래서 추가로 등장한 mvvm 패턴 등이 생겨났지만 이들도 각자 장단점이 있으므로..

3. Java Spring 과 안드로이드 통신 , DB로 데이터 전달까지

스프링에 대한 이야기를 다 적고 안드로이드로 넘어가려고 했으나 그렇게 되면 중복되는 이야기가 많을 것 같아서 안드로이드와 함께 이야기를 하려고한다. 그게 다시 읽게 되어도 이해하기 수월하고 시간의 흐름도 맞을거 같다. 나는 서버와 안드로이드가 통신할때 Retrofit 이라는 라이브러리를 사용했다. Restful api 통신을 하기에 아주 적합한 라이브러리고 1. 속도가 기존의 Okhttp 에 비해서 속도가 빠르다는 장점이 있다. 2. 구현 또한 HttpUrlConection의 사용보다 훨씬 간단하여 몇줄만으로도 완벽하게 작동하는것을 볼 수 있다. 3. 그리고 개인적으로 생각하기에 가장 큰 장점은 동기/비동기를 구현하기가 매우 편리하다는 점이다. 먼저 retrofit 을 사용하려면 retrofit 객체를 ..

2. Java Spring 서버(1)

나는 Spring 서버를 많이 쓰이는 MVC 패턴으로 개발했다. 먼저 MVC 패턴에 대해서 정리를 하자면 아래 그림과 같은데 일단 MVC 가 어떤 약자들인지부터 설명하는것이 맞겠다. M : Model 을 의미한다. 모델은 쉽게 말하면 Controller에서 받은 데이터를 저장하는 역할을 한다. V : VIew 를 의미한다. Controller로 부터 받은 Model 데이터를 바탕으로 사용자가 보고 있는 화면에 표현한다. 웹의 경우에는 HTML , JSP 등이 있겠다. C : Controller를 의미한다. 사용자가 요청한 URL 에 따라서 그 URL 를 받는 컨트롤러에서 Method를 호출하여 Service를 통해 비즈니스 로직을 처리한다 최종적으로 나온 결과를 Model 에 저장하고 그 결과를 View..

1. 전체적인 프로젝트 개요

개발환경 : Windows 10 , Java Spring , Mysql , Android Studio Java Spring : 어플리케이션의 api 서버로 사용하기 위해서 채택. Mysql : 실제 서비스를 하기위해서 적당한 DB를 고르다보니 Mysql 을 지원하는곳이 많았고 비용면에서도 합리적이라고 생각하여 채택. 대충 흐름도를 그려보자면 간략하게는 아래 그림과 같다. 일단은 Spring 의 구조에 대해서 다음 글에 포스팅하겠다.