분류 전체보기

strings.xml이란? strings.xml은 문자열 key값에 대한 value값을 매핑해놓은 XML파일이다. XML파일이란 eXtensible Markup Language 의 약자로 다목적 마크업 언어이다. 안드로이드에서는 이 xml파일을 블록 내에 리소스 태그을 만드는 식으로 사용한다. 예를 들어 문자열의 경우 태그를 이용해 정의한다. 예를 들어 아래와 같은 strings.xml 파일이 있다고 해보자. 위 string.xml 파일은 아래 두가지 Key-Value 쌍을 가지고 있다. 하나는 "app_name" - "Compose" 쌍이고, 다른 하나는 "kotlin_world_blog"와 "Kotlin World Blog" 쌍이다. Key Value app_name Compose kotlin_wor..
lifecycleScope의 한계점 flow를 Activity의 lifecycleScope에서 사용하게 되면 Activity가 onDestroy 될 때 데이터 collect가 중단된다. 하지만 onDestroy는 Activity가 종료될 때 수행되고 Activity가 백그라운드로 내려갈 때 수행되지 않는다. 앱이 백그라운드로 내려가면 activity의 lifecycle은 onStop시 수행되므로 lifecycleScope의 collect는 계속해서 데이터를 수집하는 것이다. 참조 : [Android CoroutineScope] 1. Activity, ViewModel에서 올바른 CoroutineScope 사용법 : lifecycleScope과 viewModelScope의 활용 기존의 해결책 기존에는 이 ..
lifecycleScope 사용의 한계점 lifecycleScope만을 사용해 Coroutine Job을 사용하는 것은 한계점이 있다. 바로 onDestroy 시 Job이 cancel된다는 것이다. onDestroy 시 job이 cancel 된다는 것은 백그라운드로 내려가는 onStop이 일어났을 때 여전히 Job이 수행됨을 뜻한다. 즉, Activity를 finish 시키는게 아니라. 홈버튼을 눌러 onStop만 되었더라면 Activity에서는 여전히 데이터를 수집하게 된다. 이러한 불필요한 동작은 백그라운드로 내려간 앱의 메모리 사용량을 증가시켜 시스템에 의한 Crash를 만들어낼 수도 있고, 사용자가 원치 않는 데이터 사용이 일어나도록 만들 수도 있다. lifecycleScope 문제 예시 아래와 ..
· Android
이번에 안드로이드 스튜디오를 Artic Fox로 올리면서 다음과 같은 오류가 생겼다. Build file '/Users/james.c/AndroidStudioProjects/MyApplication7/app/build.gradle' line: 2 An exception occurred applying plugin request [id: 'com.android.application'] > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of the following opti..
안드로이드 앱의 보안은 왜 중요할까? 우리가 안드로이드 앱을 빌드하면 aab파일 혹은 apk파일로 만들어진다. 뭔가 aab나 apk하면 보안이 강할거 같다는 생각이 들지만 이 방식들은 단순히 우리가 짠 코드들을 압축한 것에 불과하다. 따라서 apk의 압축을 풀면 우리가 짠 코드의 내부가 모두 보인다. 우리가 안드로이드 앱을 빌드하면 윈도우 상에는 그림1과 같은 apk파일이 생긴다. 더블 클릭해도 열리지는 않지만 이를 안드로이드 스튜디오에서 보면 내부의 파일이 아래와 같이 모두 보이는 것을 알 수 있다. 만약 이 상태로 앱을 출시한다면 앱의 리버스 엔지니어링이 가능하다는 뜻이며, 누군가 우리의 코드를 베껴 새로운 앱을 낼 수도 있다는 이야기이다. 따라서 우리는 우리 앱의 구조를 파악하지 못하게 할 장치가 ..
Dev.Cho
'분류 전체보기' 카테고리의 글 목록 (65 Page)