본문 바로가기

Android13

Android(안드로이드) by viewModels() 종속성 추가 방법, 안드로이드에서 ViewModel을 초기화 하는 방법은 다양합니다. 그 중 오늘은 ViewModelProvider를 사용하지 않고 코틀린의 by(위임)을 활용한 초기화 방법에 대해 알려드리겠습니다. 해당 방법을 사용하기 위해서는 앱 수준의 build.gradle에 셋팅이 필요합니다. - build.gradle(App) dependencies { ... //viewModel implementation 'androidx.activity:activity-ktx:1.1.0' implementation 'androidx.fragment:fragment-ktx:1.2.5' } 해당 셋팅 후 gradle sync를 마치게 되면 아래처럼 Activity와 Fragment에서 viewModels의 확장함수(Componen.. 2023. 2. 14.
Android Foreground Service 미디어 플레이어 Style 적용하기 Android에서 서비스는 총 3가지의 유형으로 나뉩니다. Foreground Background 바인드 그 중에서 미디어 플레이어로 오디오를 play시 오디오 트랙을 유저에게 노출시키기 위해 사용되는 Foreground Service를 사용해보겠습니다. Foreground Service는 필수적으로 Notification을 만들어 주어야 하며, 이때 Notification에서 기본 제공하는 미디어 플레이어 스타일을 적용한 예시입니다. Android Service를 startService()를 호출 할 때마다 서비스가 생성되는 것은 아니지만 onStartCommand()함수는 계속해서 호출됩니다. 해당 부분을 활용하여 intent 의 action값을 던짐으로써 Notification의 아이콘 버튼에 대한.. 2023. 1. 18.
Android Kotlin Toolbar 메뉴 생성하기 먼저 Toolbar에 메뉴를 설정하기 위해서 Menu 레이아웃을 만들기 위해 XML을 통해 main_menu resource file을 구성한다. 메인 액티비티에서 툴바를 setSupportActionBar()를 통해 액션바로 설정해주고 onCreateOptionsMenu()를 통해 메뉴 레이아웃을 연결해주고 onOptionsItemSelected() 를 통해 클릭 핸들링을 할 수 있다. private fun initViews() { binding.toolbar.apply { title = "타이틀" setSupportActionBar(this) } } override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu... 2023. 1. 16.
Android Kotlin Timer Thread(타이머를 쉽게 만드는 방법) Kotlin에서는 Timer를 쉽게 구성하기 위한 스레드를 제공합니다. 바로 kotlin.concurrent.timer 인데요. initialDelay, period 값을 지정하여 타이머의 동작을 핸들링 할 수 있다는 특징을 가지고 있습니다. 아래의 코드는 예시 코드입니다. import kotlin.concurrent.timer class MainActivity : AppCompatActivity() { private var countDownSecond = 10 private var currentDeciSecond = 0 private var timer:Timer? = null override fun onCreate(savedInstanceState: Bundle?) { ... start() } priv.. 2023. 1. 13.