프로그래밍
-
[Kotlin new features] Sealed interface, Data object, Enum entries프로그래밍/Kotlin 2023. 9. 16. 21:03
Sealed class, Sealed interface 정리 sealed class : abstract class 처럼 하나의 클래스만 상속가능 sealed interface : 일반 interface처럼 여러 개 상속 가능 Kotlin 1.5 버전 아래부터 sealed class의 sub-class는 같은 class에 있어야 했음 Kotlin 1.5 버전 이후 부터는 같은 class 까지는 아니고 동일 package 있으면 됨 다른 모듈에서 참조가 가능한가? interface, abstract class : 다른 모듈에서도 참조 가능. sealed class/interface : 다른 모듈에서 참조 불가능. 동일 package에 있어야함 sealed class sealed interface abstra..
-
Android 14 - Additional restrictions on starting activities from the background프로그래밍/Android 2023. 6. 2. 15:26
그동안 Google은 Background 에서 실행되는 Android component를 제한해왔다. Android 10 Restrictions on starting activities from the background https://developer.android.com/guide/components/activities/background-starts?authuser=4&hl=ko Android 12 Foreground service launch restrictions https://developer.android.com/about/versions/12/behavior-changes-12#performance Restrictions on background starts https://developer..
-
Android 14 - Apps can kill only their own background processes프로그래밍/Android 2023. 5. 31. 11:45
From OS 14 (regardless of targeting OS 14), when your app calls killBackgroundProcesses(), the API can kill only the background processes of your own app. killBackgroundProcesses (API level 8) How to kill the background service process: // manifest // kill the background service process val activityManager = getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager activityManager.killBackgr..
-
Android 14 - Foreground Service types프로그래밍/Android 2023. 5. 30. 15:58
Objective The requirement to declare foreground service types allows you to clearly define the intent of the background work of your app while making it clear which use-cases are appropriate for foreground services. Definition of background work Foreground Service Audio recording, working out tracking, navigation, or media playback, etc WorkManager Otherwise most of the time usage Foreground Ser..
-
Chapter9: Testing the persistence layer프로그래밍/Unit test 2023. 3. 27. 15:47
Android_Test-Driven_Development - Lance_Gleason_Victoria_Gonda_Fern 공부중 In most apps you’ll build, you will store data in one way or another. It might be in shared preferences, in a database, or otherwise. No matter which way you’re saving it, you need to be confident it is always working. If a user takes the time to put together content and then loses it because your persistence code broke, bot..
-
Chapter 4: The Testing Pyramid프로그래밍/Unit test 2023. 2. 2. 12:41
Android Test-Driven Development by tutorials 책 4 챕터 요약 4. What is the Testing Pyramid? Traditionally, software testing was done manually. Even nowadays, without any kind of automation, this is happening on the Android ecosystem. Testing usually consists of compiling the release candidate application, installing it on a physical device or emulator, and passing it to the QA team. The QA members wo..
-
도메인 주도 설계 - 도메인 주도 설계란?프로그래밍/방법론 2023. 1. 24. 18:56
도메인 주도 설계 - 나루세 마사노부 책 요약 왜 도메인 주도 설계가 필요한가? 소프트웨어는 항상 진화하는 존재이다. 개발 속도를 우선시한 소프트웨어는 유연성이 떨어지며 변화에 대응하기 어렵다. 소프트웨어가 변화에 제대로 대응하려면 개발자가 지속해서 소프트웨를 수정해야 한다. 끝없는 땜질식 수정 업무에서 벗어나기 위한 수단 중 하나가 도메인 주도 설계인 것이다. 도메인 주도 설계는 도메인에 주목해 요구사항 분석부터 설계, 개발에 이르기까지 소프트웨어 개발 과정에 상호작용이 필요하다. 도메인 주도 설계의 진정한 가치가 드러나는 것은 변화에 대응해 소프트웨어를 수정할 때이다. 도메인 주도 설계란 무엇인가? 개발자가 이용자들이 겪는 문제를 해결하려면 당연히 이용자의 세계에 대해 배워야한다. 그러나 이렇게 배운..
-
Jetpack compose - Custom layout프로그래밍/Android 2022. 12. 12. 11:31
2021 Android dev summit A deep dive into Jetpack Compose Layouts - https://www.youtube.com/watch?v=zMKMwh9gZuI https://developer.android.com/jetpack/compose/layouts/custom https://developer.android.com/codelabs/jetpack-compose-state#2 Android View - https://www.youtube.com/watch?v=4NNmMO8Aykw ---- Jetpack Compose has been updated 1.3.2. Set up Compose for an existing app To start using Compose, ..