전체 글
-
Compose 학습 - 1 (TextView & Slider)책 내용 정리/핵심만 골라 배우는 젯팩컴포즈 2024. 11. 23. 21:18
Chapter 3class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ComposeStudyTheme { // A surface container using the 'background' color from the theme Surface( modifier = Modifier.fillMaxSize(), color = MaterialT..
-
[Android_MVVM_CleanArchitecture] 2. Domain Layer오픈소스 공부/Android_MVVM_CleanArchitecture 2024. 11. 21. 15:18
https://github.com/Gun-HelloWorld/Android_MVVM_CleanArchitecture GitHub - Gun-HelloWorld/Android_MVVM_CleanArchitecture: Android MVVM Clean ArchitectureAndroid MVVM Clean Architecture. Contribute to Gun-HelloWorld/Android_MVVM_CleanArchitecture development by creating an account on GitHub.github.com DataLayer 구성 :더보기 Repository에서 RemoteDataSource와 LocalDataSource에서 가져온 데이터를 Mapper를 통해 앱에 알맞게 변..
-
[Android_MVVM_CleanArchitecture] 1. Data Layer오픈소스 공부/Android_MVVM_CleanArchitecture 2024. 11. 21. 11:29
클린 아키텍처를 학습하면서 MVVM에 대한 학습을 했지만 실제로 어떻게 적용해야 할지 모르겠어서 Github 여행을 하려고 한다. 첫 시작은 Android_MVVM_CleanArchitecture 이름의 프로젝트이다.https://github.com/Gun-HelloWorld/Android_MVVM_CleanArchitecture GitHub - Gun-HelloWorld/Android_MVVM_CleanArchitecture: Android MVVM Clean ArchitectureAndroid MVVM Clean Architecture. Contribute to Gun-HelloWorld/Android_MVVM_CleanArchitecture development by creating an acco..
-
QUERY_ALL_PACKAGES 권한회사 생활/기타 지식들 2024. 11. 19. 10:58
회사에서 다른 회사 솔루션인 백신 SDK를 설치하는 업무를 할당 받았다. 백신 SDK는 다른 앱들의 정보를 얻어서 문제가 있는지 아닌지를 확인하기 때문에 다른 앱의 정보가 필요하다. 다른 앱의 정보를 얻는 방법은 2가지 정도인 것 같다. In App 방식 (QUERY_ALL_PACKAGES 권한 추가) App to App 방식 (Manifest.xml에 queries 태그 추가)In App 방식은 구글에서 제시하는 이유에 포함되어야 하고 그 이유를 출시하면서 설명하고 통과해야 사용가능하다. 대신 설치된 모든 앱의 정보를 획득할 수 있다. App to App 방식은 그냥 사용가능 하지만 앱의 정보를 얻는데 제한이 있다. 플레이 스토어의 허가 범위를 통과한다면 In App 방식이 좋다고 생각하지만 통과..
-
안드로이드 코루틴 (Coroutine Builder) 코드안드로이드 학습/Android 기술면접 대비 2024. 11. 18. 13:16
Coroutine Builder에는 주로 4가지가 있다. 1. launch 사용 목적: 결과를 반환하지 않고 코루틴을 실행.특징:반환값이 없는 Job 객체를 반환함.주로 fire-and-forget 작업(결과보다는 실행 자체가 중요한 작업)에 적합.예외가 발생해도 기본적으로 상위 코루틴에 전달됨.private fun coroutineLaunch() { val sb = StringBuilder() runBlocking { setStringWithStringBuilder(sb, "1. Thread Name : ${Thread.currentThread().name}", resultTextView) val result = launch { setStringW..
-
(DI - 1편) 의존성 주입이란안드로이드 학습/Android 기술면접 대비 2024. 11. 16. 12:58
의존성 학습 시리즈 3편 : (DI - 1편) 의존성 주입이란(DI - 2편) 안드로이드 의존성 수동 주입(DI - 3편) DI 라이브러리 Hilt https://developer.android.com/training/dependency-injection?hl=ko Android의 종속 항목 삽입 | Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. Android의 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 종속 항목 삽입(DI)은 프로그래developer.android.com 안드로이드에서 아키텍처를 학습을 하다 보니 자주 보는 것이 DI(Dependency Injection)였다.Depen..
-
(DI - 3편) DI 라이브러리 Hilt Annotations안드로이드 학습/Android 기술면접 대비 2024. 11. 16. 12:55
의존성 학습 시리즈 3편 : (DI - 1편) 의존성 주입이란(DI - 2편) 안드로이드 의존성 수동 주입(DI - 3편) DI 라이브러리 Hilt 코틀린을 수동으로 주입시켜줄수도 있지만 굳이 이런 과정 필요없이 더 간단하게 하는 방법은 제공되는 라이브러리를 사용하는 것이다. Hilt :Google의 Dagger를 기반으로 하여 만든 의존성 주입 라이브러리로 안드로이드에 특화된 라이브러리Dagger2 : Java/kotlin을 위한 의존성 주입 프레임 워크이다. 컴파일 단계에서 의존성을 주입Koin : 순수 kotlin으로 작성된 의존성 주입 프레임 워크이다. dagger2와 달리 런타임때 의존성을 주입우선 안드로이드에서는 Hilt를 사용하는 것을 추천하기 대문에 Hilt를 먼저 학습하고 나중에 Koin..
-
(DI - 2편) 안드로이드 의존성 수동 주입안드로이드 학습/Android 기술면접 대비 2024. 11. 16. 12:53
(DI - 1편) 의존성 주입이란(DI - 2편) 안드로이드 의존성 수동 주입(DI - 3편) DI 라이브러리 Hilt 구글에서는 권장하는 아키텍처를 통해 프로젝트를 만들때 관심사를 분리하기를 권장한다. 관심사 분리를 통해 각 클래스가 정의된 하나의 책임을 갖게 하는 것을 권장하는 것 같다. 이렇게 하면 더 많은 작은 클래스와 연결하여 서로의 종속성을 충족해야 한다. 의존성 주입을 사용하면 클래스를 쉽게 연결할 수 있고 테스트를 위해 구현을 교체할 수 있다. 예를 들어 Repository에 종속된 ViewModel을 테스트 할때 가짜 또는 모의 구현과 함께 Repository의 다른 구현을 전달하여 다른 case를 테스트 할 수 있다. 이번 글에서는 수동 의존성 주입을 학습해보려고 한다. 이 접..