일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드
- Flow
- Jetpack
- Compose
- 코딩테스트
- 알고리즘
- Android
- coroutine
- Kotlin
- 컴포즈
- Authentication
- MVVM
- sharedFlow
- cleanarchitecture
- NavController
- 커스텀뷰
- XML
- 코틀린
- NavHost
- 파이어베이스
- 회원가입
- ListAdapter
- 뷰
- 리사이클러뷰
- 플레이스토어
- 로그인
- UiState
- DiffUtil
- 클린아키텍처
- Build variants
- Today
- Total
목록안드로이드 개발 (45)
Grusie 안드로이드 개발 기술 블로그
Retrofit으로 서버통신을 오랫동안 해왔지만, 코드가 없을 때 새로 구현하려고 하면, 시행착오가 조금 필요한 것 같다는 생각을 해서 정리를 해보려고 한다. 파싱하는 방법, 로깅 인터셉터 등 여러 추가 기능들을 구현해야하겠지만, 그냥 기본 Retrofit의 사용법만을 우선 정리 해두려고 한다. Retrofit2 라이브러리OkHttp 라이브러리를 기반으로 구현된된 라이브러리이며, Squareup사에서 만들었다.서버와 Http 통신을 해서 주고받은 데이터를 앱에서 특정 형태로 활용할 수 있도록 하는 라이브러리이다.GET, POST, PUT, DELETE 등을 전달하면 서버에서 처리 후 xml, json, text, rss 등으로 응답을 제공 받을 수 있다. Retrofit 라이브러리 사용법 의존성추가im..
현재 근무중인 회사의 안드로이드 프로젝트는 기존 MVC 패턴으로 구현되어 있으며, Retrofit 같이 여러 곳에서 사용 되어야 하는 객체도 Singleton으로 의존성 주입을 활용하여 되어있지 않다.현재 새로 개발하는 프로젝트들은 필자가 MVVM패턴을 적용하고 있으나, DI는 아직 적용하지 못했던 상태이다.클린 아키텍처를 공부하며 프로젝트까지 진행한 이번 기회에 클린 아키텍처 + MVVM + Hilt를 적용해 볼 예정이다. 우선 클린 아키텍처를 위해, 각 계층들을 추가한다.- data모듈(실질적인 통신)- domain모듈(중개자)- presentation모듈(UI)- DI(DI 및 앱 설정) 기존에 사용했던 프로젝트들을 분리하려고 했으나, 얽혀있는 것들이 너무 많아 모듈로 분리하지 않고, 디렉토리로 ..
개발을 하던 중 프래그먼트에서 UiState를 얻어오기 위해, 기존에 사용하던 방법대로 lifeCycleScope.launcedWhenStarted를 사용하려고 하였다. 하지만 deprecated 되었다는 메세지가 발생했다. 공식문서를 찾아보니, 메모리릭이 있을 수 있어, 더 이상 사용되지 않고, repeatOnLifeCycle에서 Lifecycle.State로 관리하라고 나와있다. This function is deprecated. launchWhenCreated is deprecated as it can lead to wasted resources in some cases. Replace with suspending repeatOnLifecycle to run the block whenever the..
이전 게시글까지 이메일 인증을 구현하였고, 이제는 온전한 회원가입을 진행하기 위해, 이메일과 비밀번호로 진짜 회원가입을 진행하고 자동로그인을 처리하는 것까지 진행해보자. 이 전 게시글들을 못 본 사람들은 보고 오도록 하자. 2024.03.15 - [안드로이드 개발] - [Android] 파이어베이스 이메일 회원가입 - 1 (이메일 링크 인증) [Android] 파이어베이스 이메일 회원가입 - 1 (이메일 링크 인증) 파이어베이스 설정을 완료 하였으니, 이제 회원가입과 로그인을 다뤄야 할 차례이다. 제일 먼저 이메일로 인증을 하는 방법을 먼저 알아보자. 만약 파이어베이스 설정을 아직 완료하지 않았다 grusie.tistory.com 2024.03.15 - [안드로이드 개발] - [Android] 파이어베이..
JetPack의 Compose를 활용하여 UI 개발을 하던 중 사용하는 사이드 이펙트들이 궁금해서 공부 해보려고 한다. 사이드 이펙트란? - 사이드 이펙드는 UI에서 발생하는 Effect들을 효율적으로 관리 할 수 있는 함수이다. - JetPack Compose에서 사이드 이펙트의 목적은 제어되고 예측 가능한 방식으로 컴포저블 함수 밖에서 앱의 상태를 변경하는 non-UI 관련 작업을 실행 할 수 있도록 하는 것이다. - 데이터를 업데이트 하거나, 네트워크 요청을 하는 등의 효과들은 UI 랜더링과 별도로 유지하여 코드의 성능과 유지보수성을 향상시켜야 한다. JetPack Compose는 UI 랜더링 로직에서 사이드이펙트를 분리하고 별도의 코루틴 스코프에서 실행함으로써 개발자가 효과적으로 부수효과를 관리 ..
이전에 잘못 된 판단으로 인한 플로우 변경을 시도한다.이메일 인증을 지원하는 것 같기에 그걸 사용해 보려고 한다. 이메일 인증을 요청하기 이전 내용들을 동일하기에 이전 글과 이어서 작성한다. 파이어베이스 설정, 동적링크생성, 도메인 적용 등은 이전 글을 참고하도록 하자.2024.03.15 - [안드로이드 개발] - [Android] 파이어베이스 이메일 회원가입 - 1 (이메일 링크 인증) [Android] 파이어베이스 이메일 회원가입 - 1 (이메일 링크 인증)파이어베이스 설정을 완료 하였으니, 이제 회원가입과 로그인을 다뤄야 할 차례이다. 제일 먼저 이메일로 인증을 하는 방법을 먼저 알아보자. 만약 파이어베이스 설정을 아직 완료하지 않았다grusie.tistory.com sendEmailVerifica..
파이어베이스 설정을 완료 하였으니, 이제 회원가입과 로그인을 다뤄야 할 차례이다.제일 먼저 이메일로 인증을 하는 방법을 먼저 알아보자.만약 파이어베이스 설정을 아직 완료하지 않았다면, 이 전 글을 보고 오도록 하자.2024.03.13 - [안드로이드 개발] - [Android] 안드로이드 프로젝트에 Firebase 추가하기 [Android] 안드로이드 프로젝트에 Firebase 추가하기프로젝트를 진행하다 보면, 회원가입, 로그인이 필요하거나, 통신을 통해 불러올 DB를 직접 만들어서 사용해야 하는 경우들이 많이 생긴다. 그럴 때, 서버 개발자가 없는 개인프로젝트의 경우들grusie.tistory.com 회원가입 플로우이메일 입력이메일을 보내 이메일 인증비밀번호 입력 후 회원가입 완료 회원가입 프로세스를 ..
프로젝트를 진행하다 보면, 회원가입, 로그인이 필요하거나, 통신을 통해 불러올 DB를 직접 만들어서 사용해야 하는 경우들이 많이 생긴다.그럴 때, 서버 개발자가 없는 개인프로젝트의 경우들은 파이어베이스를 활용한다. 필자도 몇 번 사용해 보았으나, 만들 때 마다 헷갈려서 다시 찾아보곤 했다. 그런 수고를 덜기 위해 직접 정리를 해보려고 한다. 현재 진행중인 청년정책 앱을 기준으로 작성할 것이며, 회원가입 + 로그인 뿐 아니라, FireStore도 다룰 예정이다. 기본 요건Android 스튜디오를 설치하거나 최신 버전으로 업데이트한다.프로젝트가 다음 요구사항을 충족하는지 확인한다. API 수준 19(KitKat) 이상 타겟팅Android 4.4 이상 사용다음 버전 요구사항을 충족하는 JetPack(Andr..