Android

    [JETPACK개론] Navigation

    [JETPACK개론] Navigation

    여태까지 진행했던 프로젝트에서 꼭 빠짐없이 Navigation을 도입하였다. 왜냐하면 프래그먼트간의 이동을 쉽게할 수 있고, 데이터전달을 기존의 방식보다 안전하게 할 수 있기 때문이다. 전에 트러버 프로젝트에서 Bottom Navigation과 Jetpack Navigation을 연결하면서 쓴 글이 있다. [Android] JetPack Navigation으로 Bottom Navigation 설정하기 안드로이드를 공부하면서 간단한 화면 전환은 intent로 구현했었다. 하지만 레이아웃이 복잡해질수록 코드가 길어지며 가독성이 떨어지는 문제점을 확인할 수 있었다. 이 경우를 해결하기 위해 J ssongcode.tistory.com 기존에 썼던 글이 있지만, 이번에 한번 더 정리하면서 Navigation을 왜..

    [JETPACK개론] WorkManager(5) + 주기적작업, 고유작업

    [JETPACK개론] WorkManager(5) + 주기적작업, 고유작업

    주기적작업 경우에 따라 앱에서 특정 작업을 주기적으로 실행해야 할 수 있다. 예를 들어 주기적으로 데이터를 백업하거나 최신 컨텐츠를 앱에 다운로드 하거나 로그를 서버에 업로드해야 할 수 있다. 이 때 주기적으로 실행되는 WorkManager를 만들 수 있다. class WorkManager1(context : Context, workerParameters: WorkerParameters) : Worker(context, workerParameters){ override fun doWork(): Result { Log.d("WorkManager1", "doWork") val format = SimpleDateFormat("hh:mm:ss") val currentTime = format.format(Date..

    [JETPACK개론] WorkManager(4) + 작업진행률 관찰

    [JETPACK개론] WorkManager(4) + 작업진행률 관찰

    WorkManager는 앞서 포스팅했던 내용 이외에도 getWorkInfoByLiveData메소드 중 하나를 사용하여 현재 작업 진행률 정보를 관찰할 수도 있다. CoroutineWorker 객체의 setProgress함수를 사용하여 진행률 정보를 업데이트 할 수 있다. 공식문서를 봐도 getWorkInfoBy..() 또는 getWorkInfoByLiveData() 메소드 중 하나를 사용하여 정보를 관찰할 수 있고 이 메소드는 Data를 반환하는 새 getProgress() 메소드가 있는 WorkInfo의 인스턴스를 반환한다고 나와있다!! 다음 예시를 살펴보자! class WorkManagerTest(context : Context, params : WorkerParameters) : CoroutineW..

    [Android/파고들기] 2화 Android Architecture Components(AAC)

    [Android/파고들기] 2화 Android Architecture Components(AAC)

    파고들기의 제 2화!! 두 번째 이야기! Android Architecture Components(AAC)에 대해서 다뤄보자. 안드로이드 개발을 하다보면 AAC라는 키워드를 자주 보게 된다. 기업들의 채용공고들을 보면 MVVM, AAC에 대한 이해 및 서비스 적용 및 경험이 있는 분을 모집한다는 글도 자주 볼 수 있다. 안드로이드 공식문서를 살펴보면 다음과 같은 안드로이드 앱 아키텍쳐 패턴으로 개발하기를 권장하고 있다. 위와 같이 Android Architecture Components를 활용하여 관심사를 분리하고 개발하기를 권장하고 있다. 안드로이드는 여러 컴포넌트들이 있고, 생명주기가 다르게 얽혀있어 앱을 만들기 위해서는 위와 같은 컴포넌트들을 연결해주어야 하는데 이는 개발자의 역량에 따라서 달라질 ..

    [Compose] Jetpack Compose 들어가며

    [Compose] Jetpack Compose 들어가며

    [서론] 요즘 굉장히 핫한 Jetpack Compose에 관심이 생겨 공부를 하기 시작했다. 신기술을 공부할 때면 기존의 코드와 어떤 점이 달라질까? 라는 설렘이 생기기 시작한다. 지금은 Jetpack Compose를 공부하는 시작하는 단계이지만, 나중에 Compose를 자유자제로 다루기 시작할 때면 여태까지 한 프로젝트를 통째로 리팩토링 해보고 싶다. [Why?] 그럼 이제 Jetpack Compose가 무엇이길래 기업에서 Jetpack Compose로 바꾸려고 할까? 먼저 공식문서에 따르면 Jetpack Compose는 SwiftUI, Flutter와 같은 선언형 UI중의 하나입니다. 라고 나와있다. 기존의 Android의 XML으로 작성하는 방식은 특정 상태에 따라 UI가 어떻게 보여질지에 대해 구..