안드로이드28 코틀린 싱글톤 패턴: 어떤 방법이 좋을까? 싱글톤 패턴은 클래스의 인스턴스를 하나만 생성하도록 보장하는 디자인 패턴입니다.코틀린에서 싱글톤 패턴을 구현하는 방법에는 여러 가지가 있지만,그중에서도 대표적으로 사용되는 object 키워드, companion object, enum class 방법을 살펴본 후각각의 방법을 비교하고 어떤 상황에서 어떤 방법이 가장 적합한지 파악해보려고 합니다. 싱글톤 패턴이란? 싱글톤 패턴은 클래스의 인스턴스를 하나만 생성하도록 보장하는 디자인 패턴입니다.이를 통해 애플리케이션 전역에서 동일한 객체를 공유할 수 있으며전역 상태를 유지하거나 공통된 리소스를 사용할 때 유용합니다. 싱글톤 패턴의 필요성 싱글톤 패턴은 주로 다음과 같은 경우에 사용됩니다. 네트워크 클라이언트: 한 번의 설정으로 어디서나 사용 가능데.. 2024. 6. 13. 안드로이드 스튜디오 USB 연결 문제 해결: ADB 인식 안될 때 대처 안녕하세요!최근 안드로이드 스튜디오에서 USB를 통해 디바이스를 연결했을 때 ADB가 인식되지 않는 문제를 겪었습니다.이 문제를 해결했던 경험을 바탕으로이번 글에서 USB를 연결했는데 ADB가 인식되지 않을 때의 해결방법에 대해 살펴보려고 합니다.단계별로 하나씩 체크한다면 문제를 해결할 수 있을 거라고 생각합니다. USB 연결 문제 : ADB 인식 안 되는 현상 위 그림과 같이 USB를 통해 디바이스를 연결했지만 사용 가능한 디바이스 목록에는 뜨지 않는 경우를 말합니다.(또는 "adb devices" 명령어에 대한 응답으로 디바이스 목록에 없는 경우) 해당 문제의 해결 방법으로 아래 단계별로 하나씩 체크해 본다면 문제를 해결할 수 있습니다. USB 디버깅 활성화 확인USB 설정 확USB 케이블 확.. 2024. 6. 7. 안드로이드 디자인 패턴: MVVM 완벽 정리 안녕하세요!이번 글에서는 MVVM(Model-View-ViewModel) 패턴에 대해 자세히 알아보겠습니다.MVVM 패턴은 MVC, MVP 패턴의 단점을 보완하고 UI와 비즈니스 로직을 분리하는데 중점을 둡니다.이제 MVVM 패턴의 개념, MVC, MVP 패턴과 비교해서 어떤 점이 보완되었는지,MVVM 패턴의 이해, MVVM 패턴의 장단점까지 살펴보겠습니다. MVVM 패턴이란? MVVM 패턴은 Mode, View, ViewModel 세 가지 구성 요소를 가지는 디자인 패턴입니다.각 구성 요소는 특정한 역할을 담당하고 서로 독립적으로 동작할 수 있도록 설계되었습니다.1. 뷰 : View사용자 인터페이스를 담당합니다.사용자에게 입력을 뷰모델에게 전달하고, 데이터 바인딩을 통해 뷰모델 데이터가 화면에 .. 2024. 5. 27. 안드로이드 디자인 패턴 : MVP 완벽 정리 안녕하세요!이번 글에서는 MVP(Model-View-Presenter) 패턴에 대해 자세히 알아보겠습니다.MVC 패턴과 마찬가지로 MVP 패턴도 애플리케이션의 구조를 명확히 하고, 유지 보수성을 높이기 위해 사용됩니다.이제 MVP 패턴의 개념, MVC 패턴과 비교해서 어떤 점이 보완되었는지,MVP 패턴의 이해, MVP 패턴의 장단점까지 살펴보겠습니다. MVP 패턴이란? MVP 패턴은 Model, View, Presenter 세 가지 구성 요소를 가지는 디자인 패턴입니다.각 구성 요소는 특정한 역할을 담당하고 서로 독립적으로 동작할 수 있도록 설계되었습니다.1. 뷰 : View사용자 인터페이스를 담당합니다.사용자 입력을 받아 프리젠터에게 전달하고, 프리젠터로부터 받은 데이터를 화면에 표시합니다. .. 2024. 5. 25. 안드로이드 디자인 패턴: MVC 패턴 완벽 정리 안녕하세요!이번 글에서는 안드로이드 개발에서 많이 사용되는 디자인 패턴 중 하나로MVC(Model-View-Controller) 패턴에 대해 알아보려고 합니다.MVC 패턴의 개념과 이해, 장단점, MVC를 사용할 때 주의해야 하는 내용까지 정리하려고 합니다.MVC 패턴을 잘 이해하고 활용한다면 코드의 가독성과 유지보수성을 크게 향상할 수 있습니다. MVC 패턴이란? MVC 패턴은 Model-View-Controller의 약자로 애플리케이션을 세 가지 주요 구성 요소로 분리하는 디자인 패턴입니다.각 구성 요소는 특정한 역할을 담당하고 서로 독립적으로 동작할 수 있도록 설계되어 있습니다.1. 뷰 : View사용자 인터페이스를 담당합니다.데이터를 사용자에게 보여주는 역할을 하며 사용자가 이벤트를 발생시.. 2024. 5. 24. 안드로이드 스튜디오에서 Gemini 연동 가이드 안녕하세요!안드로이드 스튜디오 Jellyfish(2023.3.1)부터 구글에서 개발한 AI 챗봇 Gemini를 지원합니다.Gemini는 개발자들이 안드로이드 스튜디오에서코드 작성, 디버깅, 리소스 검색 등을 효율적으로 수행할 수 있도록 도와줍니다.일부 국가에서 제공되는 이 도구를 통해 안드로이드 개발 생산성을 크게 향상할 수 있습니다.이번 글에서는 안드로이드 스튜디오에 Gemini를 연동하는 방법에 대해 자세히 알아보겠습니다. 안드로이드 스튜디오 Gemini 플러그인 확인 안드로이드 스튜디오에 Gemini 플러그인이 설치 및 활성화되어 있는지 확인을 합니다.[File] > [Settings] > [Plugins]에서 "Gemini"를 검색하고 아래 그림처럼 활성화되어 있어야 합니다.검색해도 Gem.. 2024. 5. 21. 코틀린 스레드 및 코루틴 중복 실행 방지 방법 앱에서 비동기 작업을 처리할 때는 중복 실행으로 인한 불필요한 리소스 사용이나,예상치 못한 오류로 인한 비정상 종료 등의 문제가 발생할 수 있습니다.이를 방지하기 위해 중복 실행으로 인한 문제여부를 체크하고 중복 실행에 대한 작업을 추가하는 것은앱의 안정성을 높일 수 있는 방법 중 하나입니다.따라서, 스레드 및 코루틴을 이용한 비동기 작업을 처리할 때 중복 실행을 관리하는 방법에 대해 정리해보려고 합니다. 스레드(Thread) 중복 실행 방지 : Flag "isThreadRunning"이라는 플래그를 사용해서 연속적으로 호출되더라도 중복해서 실행되는 것을 막을 수 있습니다.private var isThreadRunning = falseprivate fun threadExample() { if.. 2024. 5. 14. 안드로이드 스튜디오 다운로드 및 설치 (가볍다!) 최근 새로운 PC를 구매하면서 안드로이드 스튜디오를 설치하려고 하는데요.이번 기회에 설치하는 방법도 간략하게 글로 남겨보려고 합니다.다양한 환경설정이 있을 수 있겠지만 대부분 설치 후에 필요해지면 그때해도 늦지 않습니다.일단 복잡한 환경 설정은 모두 제쳐두고 다운로드 > 설치 > 실행까지만 초점을 맞춰 보겠습니다. 안드로이드 스튜디오 다운로드 가장 먼저 아래 링크에서 안드로이드 스튜디오 설치파일을 다운로드합니다.안드로이드 스튜디오 다운로드 Android 스튜디오 및 앱 도구 다운로드 - Android 개발자 | Android Studio | Android DevelopersAndroid Studio provides app builders with an integrated developme.. 2024. 5. 11. 안드로이드 소수점 표기 올림? 버림? : String.format, DecimalFormat 길게 나열된 소수점이 있을 때 종종 둘째 자리 또는 셋째 자리까지만 소수점을 표기해야 할 때가 있습니다.이번 글에서는 코틀린에서 소수점 표기하는 방법으로 String.format / DecimalFormat을 정리하려고 합니다.또한 소수점을 표기할 때 올림, 반올림, 버림은 어떻게 적용되는지 살펴보려고 합니다. 소수점 표기방법 : String.format String.format을 사용해서 원하는 소수점까지 표기하는 방법은 아래와 같습니다.String.format("%.2f", floatValue) // 소수점 둘째 자리까지 표기 String.format("%.3f", floatValue) // 소수점 셋째자리까지 표기 아주 심플하게 사용이 가능한데요, 한 가지 주의사항이 있어요.String.f.. 2024. 5. 10. 코틀린 데이터 변경 감지 : 프로퍼티 위임(Delegated Properties) Observable Properties란 데이터의 변경을 감지하고 이를 관찰할 수 있는 기능을 제공하는 속성입니다.대표적으로 LiveData 있지만...!이번 글에서는 Kotlin 라이브러리에서 제공하는 프로퍼티 위임(Delegated Properties)에 대해 살펴보려고 합니다.프로퍼티 위임에 사용되는 Delegates.observable / Delegates.vetoable에 대해 알아보고,프로퍼티 위임과 LiveData에 대한 차이점도 간략하게 정리해보려고 합니다. 프로퍼티 위임(Delegated Properties) 프로퍼티 위임은 변수의 변경을 감지할 수 있습니다.Delegates.observable 또는 Delegates.vetoable를 통해 콜백을 호출하여 추가적인 작업 수행이 가.. 2024. 5. 8. 이전 1 2 3 다음