전체 글
-
[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..
-
How to decompile java jar카테고리 없음 2023. 6. 7. 18:54
$ git clone https://github.com/fesh0r/fernflower $ cd fernflower # build the source code using Gradle build tool $ gradle build # the fernflower.jar at build/lib/ # decompile JAR or Class files # java -jar fernflower.jar /path/asm-analysis-3.2.jar /path/unknown.class /path/decompile/ $ java -jar fernflower.jar /path/asm-analysis-3.2.jar /path/decompile/ INFO: Decompiling class org/objectweb/asm/..
-
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..
-
Chapter14: Hands-On Focused Refactoring카테고리 없음 2023. 4. 26. 17:56
Android Test - Driven Development by Tutorial In this chapter, you’re going to use your existing tests to help you fearlessly refactor parts of your app to MVVM. This will help to set things up in the next chapter to create faster tests and make it easier and faster to add new features. App flow FindCompanionInstrumentedTest#searching_for_a_companion_and_tapping_on_it_takes_the_user_to_the_compa..
-
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..