일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 클린아키텍처
- 회원가입
- Authentication
- Build variants
- XML
- NavController
- MVVM
- sharedFlow
- Android
- 파이어베이스
- Flow
- ListAdapter
- Compose
- 알고리즘
- 컴포즈
- 플레이스토어
- 코틀린
- 리사이클러뷰
- cleanarchitecture
- 뷰
- 코딩테스트
- 커스텀뷰
- 로그인
- 안드로이드
- Jetpack
- NavHost
- UiState
- Kotlin
- coroutine
- DiffUtil
- Today
- Total
목록Android (9)
Grusie 안드로이드 개발 기술 블로그
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..
청년정책 앱을 만들던 도중, 검색 기능이 있어야겠다고 판단하여, 검색 기능을 만들게 되었다.간단하게도 청년정책 앱의 Api는 검색 Api와, 전체를 불러오는 Api가 같은 url을 사용하는 것이라, 파라미터만 추가해주면 될 것 같았다. 참고https://www.youthcenter.go.kr/opi/openApiPlcy.do 오픈 API | 청년정책 www.youthcenter.go.kr 요청 파라미터항목타입필수여부I" style="text-align: center; width: 75.9303%;">설명openApiVlakStringYI" style="text-align: center; width: 75.9303%;">마이페이지 > OpenAPI관리 에서 발급받은 인증키displayNumberYI" s..
지난 번에 JetPack 네비게이션에 대해서 익히고 실제로 사용도 해보았으나, 데이터 전송에 대한 부분은 다루지 않았었다.이번엔 네비게이션을 사용할 때 데이터를 전송하는 법에 대해서 알아보도록 하자. composable( route = Screen.Second.name) { SecondScreen( modifier = Modifier .fillMaxSize() .padding(8.dp), items = testItems, onItemClicked = { item -> navController.navigate("${Screen.Third.name}/$item") })} 우선 데이터를 전송할 SecondScreen에서 아..
JetPack:Compose를 사용해 개발을 하던 도중, 화면 이동을 위해서 네비게이션 라이브러리가 사용되는 것을 알았다.예시를 보고 구현을 하였으나, 완벽히 이해를 한 것이 아니어서 공식문서를 보며 정리 해두려고 한다. 이론적인 부분보다, 구현 부분이 많아 예시코드를 분리하지 않고 코드랩을 따라가면서 정리할 예정이다. 의존성dependencies { val nav_version = "2.7.7" implementation("androidx.navigation:navigation-compose:$nav_version")} Navigation의 주요 구성요소NavController : 대상(즉, 앱의 화면) 간 이동을 담당한다.NavGraph : 이동할 컴포저블 대상을 매핑한다.NavHost :..
페이징3 라이브러리란Paging3는 JetPack 라이브러리 중 하나로, 데이터 소스로부터 데이터를 나누어 효과적으로 로딩 할 수 있게 해준다.로컬 DB 혹은 네트워크에서 쉽게 데이터를 불러올 수 있도록 도와주기 때문에 개발 시간을 단축시켜 준다.Paging3는 코틀린으로 우선 개발이 되고, 코루틴 및 Flow와 같은 새로운 방식의 비동기 작업으로 동작한다. 또한 RxJava와 LiveData도 지원한다. 페이징 라이브러리를 사용하여 얻을 수 있는 이점Paging된 데이터의 메모리 내 캐싱.요청 중복 삭제 기능이 기본 제공되므로 앱에서 네트워크 대역폭과 시스템 리소스를 효율적으로 사용할 수 있다.사용자가 로드된 데이터의 끝까지 스크롤 할 때 구성 가능한 RecyclerView 어댑터가 자동으로 데이터를 ..