Android65 [Android/Kotlin] Hilt란? # Hilt란?공식문서에 정리되어있는 Hilt의 정의이다Hilt는 프로젝트의 모든 Android 클래스에 컨테이너를 제공하고 수명 주기를 자동으로 관리함으로써, 애플리케이션에서 DI를 사용하는 표준 방법을 제공합니다. 그럼 DI란 뭘까?DI는 Dependency Injection의 약자로, 의존성 주입을 뜻한다특정 한 객체가 다른 객체를 필요로 할 때 이 의존성을 제공하는 기술이 DI이다객체가 다른 객체를 필요로 하면, 외부에서 해당하는 객체를 생성하여 필요한 객체에 넘겨주게 된다 DI는 아래와 같은 장점이 있다.코드 재사용성 향상결합도 감소테스트 용이성의존성을 가짜 객체나 Mock 객체로 대체하여 테스트 수행 가능코드의 유연성 및 확장성, 가독성 향상새로운 기능을 추가하거나, 기능을 수정할 때 미치는 .. 2024. 5. 24. [Android/Kotlin] Google Map API 사용해서 구글 지도맵 구현하기 # GoogleCloud에서 사용자 인증키 만들기GoogleCloud에 접속하여 구글 계정으로 로그인한다 프로젝트가 생성되어있지 않다면 새프로젝트를 눌러서, 이름을 적고 새 프로젝트를 생성해준다 API 및 서비스 -> 사용자 인증정보 클릭 사용자 인증정보 만들기 -> API 키 클릭 API 키가 생성되었다 (지금은 API키 제한을 안걸어두었지만, 제한을 걸어서 사용해줄 수도 있다)https://developers.google.com/maps/documentation/android-sdk/start?hl=ko#enable-api-sdk Android용 Maps SDK 빠른 시작 | Google for Developers지금 바로 Android 앱용 Google 지도 프로젝트를 새로 시작해 보세.. 2024. 5. 1. [Android/Kotlin] 사용자 위치 가져오기 # 위치 접근 권한 사용자의 위치를 추적하기위한 3가지 권한android.permission.ACCESS_COARSE_LOCATION : 와이파이나 모바일 데이터(또는 둘 다)를 사용해 기기의 위치에 접근하는 권한 (도시에서 1블록 정도의 오차 수준)android.permission.ACCESS_FINE_LOCATION : 위성, 와이파이, 모바일 데이터 등 이용할 수 있는 위치 제공자를 사용해 최대한 정확한 위치에 접근하는 권한android.permission.ACCESS_BACKGROUND_LOCATION : 안드로이드 10(API 레벨 29) 이상에서 백그라운드 상태에서 위치에 접근하는 권한 # 권한 설정안드로이드 애플리케이션에서 특정 기능을 사용하기 위해서는 해당 기능에 필요한 권한을 사용자로부.. 2024. 5. 1. [Android/Kotlin] Room DB 활용 예제 ❓ RoomDB??안드로이드에서 앱의 데이터를 저장하는 방법은 여러가지가 있는데,그 중 데이터베이스 프로그래밍을 이용하여 안드로이드 폰에서 DB를 관리하는 오픈소스 SQLite 가 있다 RoomDB는 이런 SQLite를 완벽히 활용하면서 원활한 데이터베이스 액세스가 가능하도록 제공한다 Room DB의 이점SQLite를 쉽게 사용할 수 있는 데이터베이스 객체 매핑 라이브러리쉽게 Query를 사용할 수 있는 API를 제공Query를 컴파일 시간에 검증함Query결과를 LiveData, Flow 등으로 설정하여 데이터베이스가 변경될 때 마다 쉽게 UI를 변경할 수 있음SQLite 보다 Room을 사용할 것을 권장함 💻 구현하기# 예제앱 만들어보기 EditText에 학생에 대한 id와 이름을 입력하고 Ad.. 2024. 5. 1. [Android/Kotlin] SharedPreferences 사용해서 데이터 저장하기 SharedPreferences는 앱에서 데이터를 저장하는 방법중에 하나로, 앱 내부 DB 라 말할 수 있다 예를들어, 로그인을 할 때 앱 재실행 시 최근 로그인 한 아이디를 표시하기 위해 아이디 저장 여부가 필요할 때DB에 저장할 필요가 없이 앱 내부에 저장을 하면 된다. 이때 사용하면 좋은 것이 SharedPreferences 이다 다른 DB와 다르게 SharedPreferences는 간단한 데이터를 저장하기 위해 사용한다. (SharedPreferences에는 큰 값을 저장하거나 많은 값을 저장하면 앱이 느려질 수 있으니 작은 값들을 적게 저장해야한다)또한 앱 내부에 xml 파일로 저장이 되며 데이터와 함께 설정된 keyValue 를 통해 Save/Load 할 수 있다.데이터의 보존은 앱이 삭제되기.. 2024. 4. 30. [Android/Kotlin] 멀티뷰타입 리사이클러뷰 MVVM패턴으로 수정(Observer Pattern 사용) https://coding-juuwon2.tistory.com/287 [Android/Kotlin] Multi View Type 리사이클러뷰 구현하기일반적인 리사이클러뷰는 하나의 뷰형태만 보여주고 데이터만 달라지지만,리사이클러뷰 멀티뷰타입을 사용하면 다수의(다른) 뷰형태를 가지는 아이템을 보여줄 수 있다 이런식으로 멀티뷰타coding-juuwon2.tistory.com 이때 만들었던 멀티뷰타입 리사이클러뷰를 MVVM패턴으로 수정해볼것이다근데 아직 LiveData를 쓰지는 않고, Observer Pattern을 사용해서 수정해볼것이다 # 상수정의// enum class로 열거형 클래스로 만들기 (코드 단순, 가독성 up)enum class MultiViewEnum(val viewType : Int) .. 2024. 4. 29. 이전 1 2 3 4 5 6 ··· 11 다음