본문 바로가기

Kotlin

(66)
Kotlin object 보호되어 있는 글입니다.
Kotlin 확장 함수 Extension function (확장 함수) : 기존에 정의된 클래스에 함수 추가 내가 만든 클래스가 아니면 함수를 추가하기 어렵기 때문에 생김. 즉, 실제로 추가되는 것은 아님on function (확장 함수) : 기존에 정의된 클래스에 함수 추가 / 오버라이딩 불가능 내가 만든 클래스가 아니면 함수를 추가하기 어렵기 때문에 생김. 즉, 실제로 추가되는 것은 아님 ex) 라이브러리
Native Development Kit (NDK) SDK : UI 기반으로 특화된 API를 제공하여 Application Level에서 개발이 가능하게 도와주는 패키지 java만 사용하여 필요한 기능과 성능을 모두 만족시키기는 힘들다. 안드로이드는 자바를 활용했기 때문에 자바의 한계점을 그대로 가지고 있다. ex) 그래픽 처리, 센서 값 처리 등 CPU의 처리 속도가 중요한 부분 그래서 C나 C++ 언어로 작성된 프로그램을 java에서 사용할 수 있도록 JDK에서 제공하는 것이 JNI(Java Native Interface) 그리고 NDK는 이것을 가능하게 해주는 네이티브 개발 도구, 툴킷이다. 정의 : C/C++을 이용하여 애플리케이션, 미들웨어 개발에 사용되는 Framework NDK를 사용하여 얻을 수 있는 장점 1. 기존에 C로 만들어진 대규모 ..
RecyclerView 뽀개기 RecyclerView에 내가 하려던 것: 1. Databinding 2. DiffUtils 3. 다중선택 (RecyclerView Selection) 세 가지를 한 번에 하려다 보니까 모두 적용한 예시는 절대 없을 뿐더러 어디서 오류가 나는지 찾기가 힘들었다. ㅠㅠ Databinding DiffUtils NotifyDataChanged() 처럼 전체 데이터를 바꿔줄 경우 flicker 현상이 일어날 수 있다. DiffUtils의 존재를 알게 되었고 당장 적용해보고 싶었다. 하지만 검색을 하면 할수록 새로운 개념들이 나온다. NotifyDataChanged() 도 좋은 개념인 줄 알았는데 전혀 아니었다. 1. DiffUtils (Callback) 2. AsyncListDiffer (itemCallback..
나를 위한 Splash 화면 implementation 'com.airbnb.android:lottie:x.x.x' github.com/airbnb/lottie-android airbnb/lottie-android Render After Effects animations natively on Android and iOS, Web, and React Native - airbnb/lottie-android github.com SplashActivity.kt import android.app.Activity import android.content.Intent import android.os.Bundle import android.os.Handler class SplashActivity : Activity(){ val TIME_OUT :..
RecyclerView 클릭이벤트 인터페이스 보호되어 있는 글입니다.
kotlin enum mrgamza.tistory.com/628?category=571010
Koin 의존성 주입 Spring 개념 공부할 때 들어만 봤던 의존성 주입..! 아직 제대로 된 개념을 몰라서 다시 찾아보려고 한다. 의존이란 하나의 클래스가 다른 하나의 클래스에 의존하는 것을 의미한다. A클래스가 객체를 만들기 위해 B를 필요로 한다면 B는 A의 의존 대상이 된다. 의존성 주입이란? 자동차 회사는 타이어 회사에 의존한다. Car 클래스 안에서 매번 Tire 클래스의 객체를 생성해야 Car 클래스의 객체를 만들 수 있다. 하지만 자동차 공장에서 타이어를 만들지 않고 요청 후 받아와 사용하는 경우가 대부분이다. 이렇게 외부의 의존관계가 있는 대상을 가져오는 것을 의존성 주입(DI) 이라고 한다. 이렇게 외부에서 타이어 객체를 전달하는 행위를 의미하는 것 같다. - 컴포넌트 간 결합도 감소 - 코드 재사용성 증..