Android Studio 5

volley를 이용한 통신

예전에 메로나 프로젝트를 진행할 때, 통신 라이브러리로 volley를 사용했었다.그 당시에는 급하게 프로젝트를 완성해야해서 어떻게 사용하는지도 잘 모르고, 예제를 보고 대충 가져다 썼었다.이번에 리팩토링할 때, 어떻게 volley를 사용하고, 간단하게 요청하여 사용할 수 있을지 공부해보려고 한다!  Volley 소개간단한 http 통신을 위해 안드로이드에서 제공하는 http통신 라이브러리이다.  장점네트워크 요청의 자동 예약이 가능하고, 여러 개의 동시 네트워크를 연결할 수 있다.요청 우선순위를 자동으로 관리하고, 비동기식으로 가져온 데이터를 ui에 쉽게 적용할 수 있다.  사용 방법1. 요청 객체를 만들어 요청 큐에 넣어줌2. 요청 큐가 알아서 웹 서버에 요청하고 응답을 받음3. 응답 메서드를 만들어 ..

안드로이드 sdk 버전 설정

안드로이드 os api안드로이드 운영 체제의 다양한 버전에서 제공되는 api 집합을 의미한다.각 안드로이드 버전은 해당 버전에 맞는 api가 추가되거나 업데이트 된다. sdk 버전 설정build.gradle 파일에 앱의 sdk 설정하는 부분이 있다.android { compileSdk 33 defaultConfig { minSdk 26 targetSdk 33 }} 1. targetSdkVersion앱이 기기에서 실행시 실제로 사용되는 안드로이드 api 레벨이다. 컴파일에는 관여하지 않고, 앱 실행 시(런타임)에 실제로 영향을 준다. 지정한 버전까지 최적화 및 테스트 했음을 의미한다.구글 스토어에 앱 업로드 최소 요구 api 레벨이 있어, 해당 레벨을 맞추어야 한다..

기본 생성되는 gradle 파일

gradle 파일어떤 타입의 소프트웨어든 유연하게 빌드할 수 있도록 설계된 오픈 소스 빌드 자동화 툴이다.- compile, test, run과 같은 과정을 한번에 편리하게 실행할 수 있다.- 다양한 repository와 라이브러리를 편하게 추가/삭제할 수 있다.- 한번 빌드된 프로젝트는 다음 빌드에서 더 빠른 속도로 빌드된다.- jvm 기반으로 동작하기 때문에 jdk 설치가 되어있어야 한다. 1. gradlew (gradle-wrapper)새로운 환경에서 개발을 시작하더라도, gradle을 설치할 필요없이 동일한 환경에서 실행할 수 있도록 해주는 내장 gradle이다. 프로젝트를 생성하면 gradle-wrapper.jar과 gradle-wrapper.properties 파일이 생긴다. 2. gradle..

Retrofit 사용법

안드로이드 스튜디오에서 Rest api 통신을 하는 방법을 알아보겠습니다!  Retrofit이란 REST API 통신 라이브러리로, 통신 라이브러리 중 가장 많이 사용되는 대표적인 라이브러리이다.OkHttp 라이브러리의 상위 구현체이고, OkHttp를 네트워크 계층으로 활용하고 그 위에 구축된다. AsyncTask 없이 백그라운드 스레드를 실행하고, 콜백을 통해 메인 스레드에서 ui를 업데이트 한다.  구성 요소1. DTO, POJO2. Interface : 사용할 http crud 동작들을 정의해놓은 인터페이스3. Retrofit.Builder 클래스 :인터페이스를 사용할 인스턴스, baseUrl, 변환기 설정  사용 방법1. 초기 설정1-1. gradle 설정// Retrofit 라이브러리implem..

안드로이드 스튜디오 MVVM 패턴

안드로이드 스튜디오를 사용할 때 패키지 구조에 대해 신경쓴 적이 없었는데, 코드가 너무 지저분해지는 것 같다는 생각이 들어 찾아보게 되었다. MVC, MVP 등 여러 패턴이 있지만, MVVM 패턴에 대해 조사한 내용을 정리해보려고 한다!   MVVM 패턴은 Model, View, ViewModel로 구성된 디자인 패턴이다. 뷰에 모델간의 의존성을 줄여주기 때문에 체계적으로 앱을 만들고 관리할 수 있다. 또한, 뷰가 데이터를 실시간으로 관찰할 수 있고, 뷰와 로직의 통신이 명확해진다.  Model  :ViewModel이 요청한 데이터를 반환해줌View : Activity, Fragment 등 UI를 나타내는 역할ViewModel : View가 요청한 데이터를 Model에 요청, View와 Model 사이의..