본문 바로가기

Android6

안드로이드 LiveData란? 오늘은 안드로이드 AAC JetPack 라이브러리 중 하나인 LiveData에 대해서 알아볼 것이다. LiveData의 경우 장점도 굉장히 많고 다른 라이브러리(DataBinding, ViewModel 등)들과 함께 사용할 경우 훨씬 더 유용하다. MVVM 패턴에 필수적인 LiveData의 개념과 사용법에 대해서 알아보자 LiveData란? LiveData는 데이터의 변경을 관찰할 수 있는 Data Holder 클래스이다. 관찰이라고 하면 Observable이 생각날텐데 일반적인 Observable과는 다르게 LiveData는 안드로이드의 LifeCycle, 즉 생명주기를 알고있다. Activity, Fragment, Service 등과 같은 안드로이드 컴포넌트의 생명주기를 인식하며 그에 따라 LiveD.. 2023. 5. 9.
코틀린 Object와 Companion Object 차이? - kotlin 오늘은 비슷한거 같으면서 다른 Object declaration와 Companion object의 차이에 대해서 알아보려한다. 보통 Kotlin에서 Java의 static과 같은 정적 변수 및 메서드를 사용하기 위해 보통 object나 Companion object를 사용하는데 object부터 차근차근 알아보자. Object declaration이란? Object declaration은 싱글톤 패턴을 더 쉽게 사용하기 위해 코틀린에서 제공하는 일종의 객체 선언 키워드라고 볼 수 있다. 예시 코드를 한번 봐보자. object ObjectDecl { const val OB_STRING = "1" fun obtest() {} } Object는 위와 같은 형태로 선언할 수 있고 다음과 같은 특징이 있다. Sin.. 2023. 4. 28.
안드로이드 Fragment에서 현재 위치(위도, 경도) 가져오는 방법 오늘은 Fragment에서 현재 위치(위도, 경도)를 가져오는 방법에 대해서 알아볼 것이다. 코드를 통해 차근차근 알아보자 GpsTracker.java 먼저 GpsTraker 코드부터 보겠다. package com.example.pethealth; import android.Manifest; import android.app.Service; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.location.Location; import android.location.LocationListener; import android.location.L.. 2023. 4. 23.
안드로이드 CountDownTimer 사용해서 버튼 활성화하는 방법 오늘은 작업하던 앱에서 CountDownTimer를 사용할 일이 생겼다. 사용한 내용에 대해서 정리해보려고 한다. class TimerRest extends CountDownTimer { public TimerRest(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onTick(long millisUntilFinished) { // To-Do } @Override public void onFinish() { } } 위 코드는 CountDownTimer의 기본 형식이다. 맨 처음에 CountDownTimer를 상속받는 클래스를 생성해주고 Timer가 필요.. 2023. 4. 23.