본문 바로가기
728x90

전체 글45

Can't determine type for tag '<macro name="m3_comp_assist_chip_container_shape">?attr/shapeAppearanceCornerSmall</macro>' 해당 오류는 implementation("com.google.android.material:material:${Versions.MATERIAL}") Gradle app 수준의 material 의 버전이 맞지 않아 생기는 문제입니다. 따라서 google materia 라이브러리의 버전을 1.6.0으로 변경해주면 해결됩니다. 2023. 2. 4.
[Kotlin] - map함수 (리스트 값 변경하기) map 함수란? Kotlin에는 map이라는 함수가 있습니다. 해당 함수는 리스트의 값을 조건에 따라 변경해 줍니다. map 함수는 filter 함수를 사용하던 것처럼, for문과 if문을 이용하여 똑같은 결과를 낼 수 있지만, 이를 보다 간결하게 작성할 수 있습니다. 간단한 예제와 함께 map 함수를 사용해 봅시다. 해당 요소들에 모두 3을 곱하는 함수를 작성할 때 함수를 작성해 봅시다. map 함수 사용하기 fun main() { val list = listOf(1, 2, 3) println(list.map { it * 3 }) } map 함수는 filter 함수와 같이 해당 결과를 리턴해준다. 하지만 filter 함수는 조건에 따라 값을 가져오기에 처음에 시작하는 값과 반환되는 값의 길이가 다를 수.. 2023. 2. 2.
[Kotlin] - filter사용하기 Kotlin을 하다 보면 if를 이용하여 배열에 null이 있지는 않은지, 또한 조건에 맞는 원소가 있는지 등 for문과 if를 를 이용하여 확인하는 일들이 종종 있습니다. 하지만 코틀린의 장점은 이러한 부분들을 지원해 준다는 것입니다. 그중 코틀린 Collection에서 사용할 수 있는 filter에 대해 알아보겠습니다. 간단한 예제와 함께 살펴보시죠 val foodList = listOf("Hamburger", "Pizza", null, "Sandwich", "Chicken", "Pasta", null) 음식들의 이름이 들어있는 리스트를 선언해주었습니다. 하지만 해당 리스트에는 null들이 들어있습니다. 여기서 원래는 반복문을 이용하여 null이 아닌 것을 찾아줘야 됐지만, filter를 이용한다면 .. 2023. 1. 30.
SOLID 원칙 알아보기 프로그래밍을 하다 보면 아마 SOLID 객체지향 설계 원칙에 대해 들어본 경험이 있을 겁니다. 프로그램을 개발하는 개발자로서 항상 고민하는 문제는 유지보수성과 성능일 것이다. 객체 지향 5원칙에서는 유지보수성과 관련된 내용을 얘기하고 있다. SOLID는 객체지향 프로그래밍의 특성과 장점을 최대한으로 끌어올리는 프로그램 설계하도록 도움을 줍니다. 또한 좀 더 유지보수하기 쉽고, 유연하고, 확장이 쉬운 소프트웨어를 만들 수 있습니다. SOLID에는 5가지 설계 원칙이 존재합니다. SRP(Single Reseponsibilty) 단일 책임 원칙 OCP(Open-Closed) 개방-폐쇄 원칙 LSP (Liskov Substitution) 리스코프 치환 원칙 ISP (Interface Sefregation) 인터.. 2023. 1. 28.
[Kotlin] lateinit, by lazy 코틀린에서는 늦은 초기화라는 것을 지원합니다. 늦은 초기화란? 원래 변수를 선언할 때 해당 변수의 값을 초기화해주어야 합니다. 하지만 늦은 초기화는 변수를 선언하는 시점이 아닌 나중에 선언해 주는 것입니다. 늦은 초기화를 사용하는 이유는? 만약에 분명 사용할 것이고, 언제 사용할 건지도 알고 있습니다. 하지만 처음 실행되는 시기에는 값을 정의 내릴 수 없다면 어떡해야 할까요?? var a: String? = null 코틀린에서는 이와 같이 널을 이용하여 코드를 선언해 줄 수 있습니다. 하지만 이는 좋은 방법이 아닙니다. 코틀린에서는 null을 허용할 수 있는 기능은 지원하긴 하지만 null을 사용하는 것을 지향하지는 않습니다. 저 변수는 nullability로 지정이 되어있기 때문에 null이 들어갈 수.. 2023. 1. 27.
Android 4대 컴포넌트 안드로이드 앱에는 기본 요소라고 불리는 여러 요소들이 존재합니다. 그중 Android 4대 컴포넌트 라고 불리는 요소들은 면접에서도 자주 나올 정도로 안드로이드 앱을 개발하면서 굉장히 중요하다는 것을 알 수 있습니다. 안드로이드에서는 아래 유형들을 안드로이드 4대 컴포넌트라고 부릅니다. 액티비티 (Activity) 서비스 (Service) 브로드캐스트 리시버(Broadcast Receiver) 콘텐츠 제공자(Content Provider) 각 유형들은 안드로이드 앱에서 뚜렷한 목적을 수행하고, 나름의 수명 주기가 있어 구성 요소의 생성 및 소멸 방식을 정의합니다. 또한 사용자나 시스템이 앱에 진입할 수 있는 진입점입니다. 조금 더 자세하게 하나씩 알아봅시다. 액티비티(Activity) 액티비티는 사용자와.. 2023. 1. 27.
728x90