안드로이드 20

안드로이드 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..

안드로이드 MVVM 패턴 예시

안녕하세요. 이번 포스팅에서는 소프트웨어 디자인 패턴 중 하나인 mvvm 패턴을 안드로이드 앱을 통해 알아보겠습니다. MVVM 패턴에서 M은 Model, V는 View, VM은 ViewModel을 의미합니다. 쉽게 말해 V는 UI, Model은 UI가 그려지는데 필요한 데이터 혹은 UI에 표시되어야 하는 데이터입니다. 이 model과 view의 사이에서 view model이 중간 다리 역할을 하여 view와 model을 분리시켜 주는 것입니다. view(ui) - view model - model(data) 위와 같은 형태가 될 수 있으며, view model은 view에서 버튼 클릭 등의 사용자의 동작을 받아 필요한 기능을 수행하고 view에 알려줄 데이터를 가공합니다. 예시를 통해 알아보겠습니다. 언..

안드로이드 리사이클러뷰(recyclerview) 사용(with DiffUtil)

안녕하세요. 이번 포스팅에서는 리사이클러뷰를 diffUtil과 함께 사용해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 먼저 프래그먼트를 하나 생성한 후, xml을 아래와 같이 수정합니다. 저는 RecyclerFragment라는 이름으로 생성하였습니다. fragment_recycler.xml 프래그먼트에서는 view binding을 사용하도록 수정합니다. 뷰바인딩에 관한 내용은 아래 링크를 참고해 주세요. https://it-of-fortune.tistory.com/21 안드로이드 ViewBinding(뷰바인딩) 구현 안녕하세요. 이번 포스팅에서는 안드로이드 프래그먼트에서의 뷰바인딩 구현을 진행해 보겠습니다. 언어: 코틀린 sdk v..

안드로이드 네비게이션(navigation) 사용

안녕하세요. 이번 포스팅에서는 기본적인 안드로이드 네비게이션을 구현해 보겠습니다. dependency를 추가합니다. build.gradle(project) buildscript { ext { nav_version = '2.5.3' } dependencies { classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version" } } build.gradle(:app) plugins { ... id 'androidx.navigation.safeargs.kotlin' ... } dependencies { ... implementation "androidx.navigation:navigation-fragment-ktx:$nav_vers..

안드로이드 데이터바인딩(dataBinding) 사용

안녕하세요. 이번 포스팅에서는 저번 포스팅에서 사용했던 프래그먼트와 뷰모델을 이용해 데이터바인딩을 구현해 보도록 하겠습니다. 아래 링크에서 이전에 구현한 내용을 참고해 주세요. 새로 프래그먼트를 생성하셔도 문제없습니다. https://it-of-fortune.tistory.com/22 안드로이드 뷰모델(ViewModel) 사용하기(with LiveData) 안녕하세요. 이번 포스팅에서는 프래그먼트에서 뷰모델과 라이브 데이터를 사용해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 우선 프래그먼트를 하나 생성하겠습니다. Frag it-of-fortune.tistory.com 언어: 코틀린 sdk vsersion - compile: 33 -..

안드로이드 뷰모델(ViewModel) 사용하기(with LiveData)

안녕하세요. 이번 포스팅에서는 프래그먼트에서 뷰모델과 라이브 데이터를 사용해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 우선 프래그먼트를 하나 생성하겠습니다. Fragment (with ViewModel)로 생성해 주면 되겠습니다(figure1 참조). 그럼 아래와 같이 프래그먼트가 생성되는데, 이 상태에서 뷰모델을 그대로 사용하겠습니다. PracticeFragment.kt class BlankFragment : Fragment() { companion object { fun newInstance() = BlankFragment() } private lateinit var viewModel: BlankViewModel overrid..

안드로이드 ViewBinding(뷰바인딩) 구현

안녕하세요. 이번 포스팅에서는 안드로이드 프래그먼트에서의 뷰바인딩 구현을 진행해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 바인딩 진행 전 사전 준비 작업입니다. 가장 먼저 build.gradle에 viewBinding true를 선언해 줍니다. build.gradle(:app) android { ... buildFeatures { viewBinding true } ... } 바인딩을 진행할 Fragment를 생성한 뒤 아래와 같이 수정해 줍니다. ViewBindingFragment.kt class ViewBindingFragment : Fragment() { override fun onCreateView( inflater: Lay..

안드로이드 애플리케이션 (Android Application)

안드로이드 (Android) 스마트폰은 현대인에게 없어서는 안 될 중요한 발명품 중 하나가 되었습니다. 지금의 스마트폰은 처음 만들어진 휴대폰과는 비교할 수 없을 만큼의 발전을 이루었고, 소형 컴퓨터라고 해도 좋을 정도로 많은 기술과 기능이 들어가 있습니다. 안드로이드는 스마트폰에서 사용하는 운영체제(OS)중 하나라고 할 수 있는데, 현재 안드로이드 운영체제는 휴대폰을 넘어 TV 셋톱박스에도 적용이 되고 있으며, 이 안드로이드를 기반으로 수많은 애플리케이션들이 개발되어 왔습니다. 안드로이드는 리눅스 커널을 사용하는데 이 리눅스 커널에는 자바 코드를 해석해 주는 가상 머신이 탑재되어 있습니다. 앱 개발에 사용되는 거의 모든 자바 라이브러리들이 지원됩니다. 자원이 매우 제한되어 있는 모바일을 위한 안드로이드..

반응형