본문 바로가기

Android

(140)
[Android] Android11에서의 변경 점 현재 Android13 Preview가 나온 상황에서, 앞의 버전에서 변경된 부분을 다시 체크하고 넘어가고자 한다. 보안에 관련된 것들이 계속해서 추가됨에 따라 프로젝트를 유지보수할 때 버전에 따른 처리에 대해 고려해야하는 점이 늘어나고 있는 것 같다. 따라서, Android11에서 부터 변경된 부분 중 필자가 가장 영향이 큰 부분이라고 생각하는 부분에 대하여 간략하게 정리해보고자 한다. 우선, 필자가 영향이 가장 크다고 생각하는 부분은 Android Developers에서 나와있는 Privacy에 관련된 부분이라고 생각한다. 위에 해당하는 변경 사항을 간략하게 살펴보도록 하자. 범위 지정 저장소 적용 이는 Android10에서 나온 Scoped Storage에 대한 내용을 좀 더 보완하여 나온 부분이다..
[Android] TedPermission을 사용하여 권한을 편하게 체크해보자. 이번에는 필자가 예전부터 자주 사용해왔던 TedPermission Library에 대해서 글을 작성해 보고자 한다. Permission 체크를 아주 쉽게 할 수 있도록 도와주고 손쉽게 적용할 수 있어서 상당히 유용한 Library라고 생각한다. 해당 라이브러리는 개발 공부를 위해 구글링을 좀 해봤다면 이름을 들어봤을거라고 생각하는 박상권 님이 만들어주신 라이브러리이다. 글을 쓰기 앞서 해당 github의 링크를 추가해두도록 하겠다. https://github.com/ParkSangGwon/TedPermission GitHub - ParkSangGwon/TedPermission: Easy check permission library for Android Marshmallow Easy check permis..
[Hilt] Hilt를 사용하여 의존성 주입을 해보자. 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) 안드로이드에서 사용하는 DI 관련 Library인 Dagger2, Koin, Hilt 중 마지막 Hilt에 대한 정리를 해보려고 한다. Dagger2 기반으로 만들어졌기 때문인지 Dagger2 와 비슷한 부분이 보이지만 확실히 Dagger2 보다는 러닝 커브가 높지 않았던 것 같다. DI가 무엇인지, 왜 사용하는지에 대한 설명은 이전 Dagger2에 대한 글을 작성할 때 작성했으므로 링크를 추가하고 넘어가도록 하겠다. https://heegs.tistory.com/78?category=916858 [Dagger2] Dagger2를 사용하여 의존성 주입을 해보자 처음 학습하면서..
[Koin] Koin을 사용하여 의존성 주입을 해보자. 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) 지난번에 작성한 Dagger2에 이어서, 많이 사용되는 DI인 Koin의 기본적인 사용 방법에 대하여 작성하고자 한다. Clean Architecture 구조의 예제를 만들 때 사용했던 DI로 Dagger2 보다 쉽게 공부하고 적용할 수 있었던 DI 이다. DI가 무엇인지, 왜 사용하는지에 대한 설명은 이전 Dagger2에 대한 글을 작성할 때 작성했으므로 링크를 추가하고 넘어가도록 하겠다. https://heegs.tistory.com/78?category=916858 [Dagger2] Dagger2를 사용하여 의존성 주입을 해보자 처음 학습하면서 작성한 글입니다. 필요시 ..
[Android] Logger Library를 사용하여 보기 좋은 로그를 찍어보자. 이런저런 것을 확인하던 와중에, 로그를 보기 편하게 찍어주는 Logger Library를 발견하였다. 추후에도 까먹지 않고 사용하기 위해서 글을 작성해 놓고자 한다. Logger 라이브러리를 사용하기 위해서는 Gradle 에서 라이브러리를 추가만 해주면 된다. 현재 최신 버전이 2.2.0이고, 깃허브를 확인해보니 약 1년간 코드가 변경된 부분은 없으니 해당 버전을 사용하는게 좋을 것 같다. 라이브러리를 다운로드 했으니, 간단하게 Initialize 만 한 후에 사용이 가능하다. Logger.addLogAdapter(AndroidLogAdapter()) Logger.d("Use Logger Library") addLogAdapter를 사용하여 로그 어댑터를 추가해주고, 기존에 사용하던 Log와 동일한 방식..
[Dagger2] Dagger2를 사용하여 의존성 주입을 해보자 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) 가장 대중적으로 사용하는 DI 인 Dagger2의 기본적인 사용 방법에 대하여 작성하고자 한다. DI를 사용할 때, 그냥 여기서 선언하고 저기서 가져오고 라는 형식으로만 알고 사용했기 때문에 기초부터 정리하면서 다시 생각해보고자 한다. 우선, DI 가 뭔지 짚고 넘어가자. Dependency Injection 란, 외부에서 의존 객체를 생성하여 넘겨주는 것 간단히 말해서, A Class 가 B Class를 의존할 때(사용할 때) B Class를 A Class가 직접 생성하여 사용하지 않고 외부에서 생성하여 넘겨주어 사용하도록 하는 것이 의존성 주입이라고 할 수 있다. 그렇다면..
[Android] VM 환경 Installation failed 에러 어느 순간 갑자기 필자의 MAC 환경에서 정상적으로 앱이 설치가 되지 않았다. 코드 자체의 문제인가 싶어서 윈도우 환경에서 빌드를 해보았는데 정상적으로 동작하는 것으로 보아 코드 문제가 아님을 확인했다. 추후, 해당 문제가 동일하게 발생했을 때 찾아보기 위하여 해결 방안을 작성해 둔다. 앱 빌드 시, 다음과 같은 오류가 발생한다. Installation failed due to: ''cmd package install-create -r -t --user current --full --dont-kill -S 7657709' returns error 'Unknown failure: Exception occurred while executing 'install-create': android.os.Parcela..
[Espresso] Multi-Module 구조에서 Espresso를 사용하여 Unit Test를 해보자 전에 간단한 샘플 코드를 만들어서 Espresso를 통해 Unit Test를 해보았는데, 이번에는 Multi-Module 구조의 샘플 코드에서 Unit Test 를 해보았다. 역시 테스트하는 환경이 조금(?) 변경됐다고 빌드가 정상적으로 되지 않았다. 기본 사용법은 이전 게시글에서 작성했으니, 이번에는 발생한 문제와 해결 방법에 대하여 작성해볼 생각이다. 사용 방법은 다음 게시글에서 확인하면 될 것이다. https://heegs.tistory.com/71 [Espresso] Espresso를 사용하여 UI Test 를 해보자 (feat. Junit4) 처음 학습하면서 작성한 글입니다. 필요시 추후 내용을 수정할 예정입니다. 틀린 부분이 있으면 언제든 지적해주면 감사하겠습니다 :) Unit Test 에 대..