분류 전체보기 51

안드로이드 리사이클러뷰 아이템 클릭(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..

안드로이드의 다양한 데이터 바인딩(editText, Progress bar...)

안녕하세요. 이번 포스팅에서는 xml에서 데이터 바인딩이 가능한 다양한 뷰들을 알아보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 우선 프래그먼트를 하나 생성해 줍니다. DataBindingPracticeFragment.kt @AndroidEntryPoint class DataBindingPracticeFragment : Fragment() { private var _binding: FragmentDataBindingPracticeBinding? = null private val binding get() = _binding!! private lateinit var viewModel: DataBindingPracticeViewModel o..

안드로이드 회차별 로또 정보 받아오기(retrofit2 + MVVM)

안녕하세요. 이번 포스팅에서는 다른 포스팅에서 구현한 로또 정보 받아오는 소스에 MVVM 패턴을 적용해 보겠습니다. 의존성 주입은 hilt를 사용합니다. retrofit2, mvvm, hilt 내용은 아래를 참고해 주세요. https://it-of-fortune.tistory.com/30 안드로이드 retrofit2 사용(with Coroutine) - 로또 api 요청 안녕하세요. 이번 포스팅에서는 coroutine과 retrofit2를 심플하게 사용하여 회차별 로또 정보를 받아와 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 dependency를 추가합니다. build.gr it-of-fortune.tistory.com https:..

안드로이드 retrofit2 사용(with Coroutine) - 로또 api 요청

안녕하세요. 이번 포스팅에서는 coroutine과 retrofit2를 심플하게 사용하여 회차별 로또 정보를 받아와 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 dependency를 추가합니다. build.gradle(:app) dependencies { ... implementation 'com.squareup.retrofit2:converter-moshi:2.9.0' ... } Fragment를 생성해 줍니다. fragment_lotto.xml LottoFragment.kt class LottoFragment : Fragment() { private var _binding: FragmentLottoBinding? = null pri..

안드로이드 이벤트버스(EventBus) 사용

안녕하세요. 이번 포스팅에서는 다른 포스팅에서 구현한 QR scan 기능에 EventBus를 달아보겠습니다. 아래 포스팅에서 구현한 소스를 refactoring 하겠습니다. https://it-of-fortune.tistory.com/28 안드로이드 ML Kit - qr scan 구현 안녕하세요. 이번 포스팅에서는 ml kit과 androidx camera 라이브러리를 사용하여 QR scanner를 구현해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 dependency를 추가합니다. build.gradle(:a it-of-fortune.tistory.com 언어: 코틀린 sdk vsersion - compile: 33 - min: 2..

안드로이드 ML Kit - QR scan 구현

안녕하세요. 이번 포스팅에서는 ml kit과 androidx camera 라이브러리를 사용하여 QR scanner를 구현해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 dependency를 추가합니다. build.gradle(:app) dependencies { ... implementation 'com.google.mlkit:barcode-scanning:17.1.0' implementation "androidx.camera:camera-camera2:1.3.0-alpha05" implementation "androidx.camera:camera-lifecycle:1.3.0-alpha05" implementation "android..

반응형