[24.07.30] TIL - 042

🎧 0. 오늘의 추천곡

저희는 배.캠.신.기.입니다!

배캠신기

📗 1. 챌린지반 특강

오늘은 챌린지반 특강이 있었습니다.

오늘은 클린 아키텍처를 배웠습니다.

SOLID 원칙에서 단일 책임 원칙이라는 원칙이 있습니다.

하나의 클래스가 하나의 역할만 한다는 뜻입니다.

이 원칙은 단순히 객체 지향뿐만 아니라 전체적인 패턴에도 적용시키면 좋은 원칙입니다.

클린 아키텍처도 어찌보면 이 방식을 따라 만드는데,

안드로이드 앱을 프레젠테이션, 도메인, 데이터 레이어로 나누고,

그 안에서 프레젠테이션은 뷰, 뷰모델로, 도메인은 유즈케이스, 데이터는 데이터 소스와 레포지토리로

나눌 수 있습니다.

이렇게 나누면 얻게 되는 이점은 다른 것보다 세세하게 나누기에, 오류가 생겨도 쉽게 찾을 수 있습니다.

여기서 UseCase는 각각의 기능들을 나눠서 구축하는 방식입니다.

이런 방식을 과제에 적용하는 게 이번 목표입니다.

📕 2. 안드로이드 개발반 심화 강의

오늘은 안드로이드 개발반 심화 강의도 조금 진행했습니다.

오늘은 SharedPreference와 Room에 대해 배웠습니다.

2-1. SharedPreference

SharedPreference는 로컬 저장소에 저장할 수 있는 간단한 데이터 저장소같은 느낌입니다.

val pref = getSharedPreferences(”이름”, 모드(Int) )
pref.getString(”키값”, “디폴트”)
val edit = pref.edit()
edit.putString(”키값”, “넣어줄 값”)
edit.apply()

여기서 getSharedPreferences로 SharedPreference를 불러올 수 있습니다.

그리고, getString()에 키값을 가져올 수 있습니다.

만약 값이 없다면 기본값을 가져올 수 있습니다.

그리고 preference의 edit()으로 에디터를 불러올 수 있습니다.

이 에디터에 putString()을 하고, apply()를 통해 적용시킵니다.

그러면 파일 내에 추가됩니다.

2-2. Room

룸은 로컬에 저장할 수 있는 데이터베이스입니다.

룸을 구성하는 요소는 DAO, Entity, Database 입니다.

Entity는 데이터 테이블 스키마입니다. DAO는 SQL 쿼리를 정의할 수 있습니다.

Database는 데이터베이스입니다.

그래서 이걸 공부를 하고 싶었는데, 중간에 오류가 생겼습니다.

2-3. build.gradle 오류

저희가 지급받은 강의에서는 groovy로 gradle이 설정돼 있었습니다.

그 중에 plugins { } 에 넣어줘야 하는 kapt라는 게 있었는데, 기존에는 아래처럼 돼 있었습니다.

id 'kotlin-kapt'

근데 이를 kts 파일에 적용하려고 코틀린 문서를 찾아보니 아래처럼 돼 있어서 적용했더니...

kotlin("kapt") version "2.0.0"

오류가 발생하기 시작했습니다...

이유는 버전이 맞지 않아서였습니다. 그래서 튜터님께 도움을 요청했습니다.

id("kotlin-kapt")

정답은 위의 방법이었습니다. id를 사용하면 자동으로 버전을 찾아주는 것 같습니다.

🎯 3. 끝

내일은 Room에 대해 더 집중적으로 공부하고, 다음 내용으로 넘어가고 싶습니다.

끝.

profile
여기는 공부 기록용 블로그

0개의 댓글