Android 23

안드로이드 Firebase Cloud Functions 연동하기

안녕하세요. 이번 포스팅에서는 안드로이드 앱과 firebase cloud functions를 연동하여 간단한 동작을 구현해 보겠습니다. 언어: kotlinsdk vsersion  - compile: 33  - min: 24  - target: 33 파이어베이스 프로젝트는 지난 포스팅에서 사용했던 것을 그대로 써보겠습니다.프로젝트 등록 및 연동은 아래 포스팅을 참고해 주세요.https://it-of-fortune.tistory.com/40 안드로이드 Firebase Cloud Firestore database 생성, 연동, 사용법안녕하세요. 이번 포스팅에서는 안드로이드 스튜디오 프로젝트에 파이어스토어 데이터베이스를 연결하고, 간단하게 사용해 보겠습니다. 언어: 코틀린 sdk vsersion - comp..

안드로이드 컴포즈 원형 프로그레스 (Jetpack Compose CircularProgressIndicator)

안녕하세요. 이번 포스팅에서는 컴포즈 원형 프로그레스를 구현해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 우선 아무런 설정 없이 CircularProgressIndicator를 적용하겠습니다. MainComposeActivity.ky @Composable fun CircularProgress() { Box( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center ) { CircularProgressIndicator() } } 아래와 같이 동작합니다. 이번에는 여러 속성을 추가하여 커스터마이징 해주겠습니다. MainComposeActivity.ky @Composa..

안드로이드 컴포즈(jetpack compose) - state hoisting

안녕하세요. 이번 포스팅에서는 상태 호이스팅 패턴을 안드로이드 컴포즈를 통해 구현해 보겠습니다. state hoisting 패턴은 단방향 데이터 흐름과 관계가 있습니다. 이벤트가 발생하면 상태를 필요에 맞게 변경하고 UI에 표시하는 과정을 하나의 방향으로만 흐르도록 설계하는 것입니다. 여기에 state hoisting을 적용한다면, 이벤트가 발생 -> 이벤트를 뷰모델까지 올려줌 -> 뷰모델에서 필요한 기능을 처리 -> 상태를 변경 -> UI가 이에 맞게 변경되는 식으로 동작하게 됩니다. 간단한 예제를 작성해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 가장 먼저 뷰모델을 작성합니다. ComposeViewModel.kt @HiltVie..

안드로이드 Firebase Cloud Firestore database 생성, 연동, 사용법

안녕하세요. 이번 포스팅에서는 안드로이드 스튜디오 프로젝트에 파이어스토어 데이터베이스를 연결하고, 간단하게 사용해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 - Firebase Firestore database 생성 가장 먼저 파이어베이스 페이지에 들어가 시작하기를 누르고 프로젝트를 생성합니다(figure1, figure2 참조). https://firebase.google.com/?hl=ko Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 이름을 정하고 3/3까지 계속을 눌러줍니다. 3/3단계에서 accoun..

안드로이드 리사이클러뷰 아이템 클릭(recyclerView item click)처리

안녕하세요. 이번 포스팅에서는 리사이클러뷰의 아이템의 클릭 이벤트를 처리하는 기능을 구현해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 가장 먼저 예제에 쓰일 아이템을 만들겠습니다. RecyclerViewItemProvider.kt object RecyclerViewItemProvider { fun getItems(): List { return listOf( Animal("포유류", "고양이"), Animal("포유류", "강아지"), Animal("포유류", "토끼"), Animal("포유류", "미어캣"), Animal("조류", "팽귄"), Animal("조류", "참새"), Animal("어류", "잉어"), Animal("파..

안드로이드 프로그레스 바(progress bar) 사용하기(with timer)

안녕하세요. 이번 포스팅에서는 프로그레스 바를 사용해 보겠습니다. 프로그레스 바 표시에 timer를 사용합니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 가장 먼저 프래그먼트를 생성합니다. ProgressFragment.kt class ProgressFragment : Fragment() { private var _binding: FragmentProgressBinding? = null private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ):..

안드로이드 DI, DIP 예시(with hilt)

안녕하세요. 이번 포스팅에서는 DI(dependency injection)와 DIP(dependency inversion principle)를 간략하게 구현해 보겠습니다. dependency injection, 의존성 주입이란 간단하게 말해 어떤 클래스에서 다른 클래스를 사용 시, 자신이 사용할 클래스의 객체를 직접 생성하는 것이 아니라 외부에서 생성된 객체를 주입받아 사용하는 것을 뜻합니다. dependency inversion principle, 의존관계 역전 원칙이란 상위에 있는 클래스가 하위에 있는 클래스를 사용 시, 해당 클래스를 직접 참조하는 것이 아닌 interface를 통해 상위 클래스와 하위 클래스 모두가 해당 interface에 의존하도록 구현하는 원칙입니다. 이제 예제 소스를 구현하겠..

안드로이드 Repository pattern 간단 예시(with MVVM pattern)

안녕하세요. 이번 포스팅에서는 repository pattern을 간략하게 적용한 예시를 구현해 보겠습니다. UI의 표시 영역은 MVVM 패턴을 적용하여, MVVM + Repository pattern 구성이 됩니다. 저는 아래의 포스팅에서 MVVM 소스를 가져오겠습니다. https://it-of-fortune.tistory.com/27 안드로이드 MVVM 패턴 예시 안녕하세요. 이번 포스팅에서는 소프트웨어 디자인 패턴 중 하나인 mvvm 패턴을 안드로이드 앱을 통해 알아보겠습니다. MVVM 패턴에서 M은 Model, V는 View, VM은 ViewModel을 의미합니다. 쉽게 말해 V는 UI it-of-fortune.tistory.com 언어: 코틀린 sdk vsersion - compile: 33 -..

안드로이드 스피너(spinner) 사용

안녕하세요. 이번 포스팅에서는 spinner를 사용해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 프래그먼트를 하나 생성하여 아래와 같이 작성합니다. fragment_spinner.xml SpinnerFragment.kt class SpinnerFragment : Fragment(), AdapterView.OnItemSelectedListener { private var _binding: FragmentSpinnerBinding? = null private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewG..

반응형