분류 전체보기
-
Android) A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution 에러Android 2020. 9. 15. 13:36
안드로이드에서 로컬 DB로 Room을 사용하다가 위의 에러가 발생하였습니다. 에러만 읽고 build.gradle에 apply kapt를 선언 안해준건가 하고 봤는데, 그 문제가 아니었습니다. 에러의 파란 박스로 둘러싼 저 부분을 클릭하면 더 자세한 에러 내용을 알 수 있습니다. 에러를 읽어보면 Room Dao 코드를 작성중에 발생한 것으로 예상되어 Dao를 확인하러 가보겠습니다. KeyWordDao라는 Dao를 만들던 중에 파란 박스로 둘러쌓인 @Insert 어노테이션 안에 함수를 만들고 파라미터를 주지 않고 다른 코드를 작성하고 있었습니다. 나중에 파라미터를 주려고 생각하다가 까먹고 run을 돌렸더니 위와 같은 에러가 발생하였습니다. Room에 관한 문서를 읽어보니 @Insert 할 때 @Entity ..
-
Android) BottomSheetDialogFragment 모서리 둥글게 만들기Android 2020. 9. 6. 17:55
BottomSheetDialogFragment의 모서리를 둥글게 하기 위해 여러 가지 방법으로 시행착오를 겪었습니다. 아래의 방법이 최선인듯 합니다. 커스텀으로 자신이 원하는 커스텀 xml 파일을 만들고, styles에 적용해준다. 아래의 방법은 모든 BottomSheetDialogFragment 모서리에 적용이 된다. drawable/bottom_sheet_border.xml values/styles.xml
-
자료구조) Java Collection Framework (List, Set, Map)자료구조 2020. 9. 2. 11:35
알고리즘을 풀 때 보통 문제의 의도를 해석한 뒤에 적합한 자료구조를 선택합니다. 적절한 자료구조를 선택하여 알고리즘을 풀면 효율적으로 풀 수 있기때문에 자료구조를 정리해보려고 합니다. 자료구조의 분류 선형 자료구조(Linear Data Structure) : 데이터가 일렬로 연결된 형태. ex) 배열, 리스트, 큐, 덱 비선형 자료구조(Nonlinear Data Structure) : 일렬로 나열된 것이 아닌, 각 요소가 여러 개의 요소와 연결된 형태. ex) 그래프, 트리 집합(Set) : 원소라는 구별되는 객체들이 연관되어 모인 것. 서로 다른 연관된 원소들의 순서 없는 모임. Java Collection Framewrok(JCF) List, Set, Map 인터페이스의 특징 List Interfac..
-
Android) android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBindingAndroid 2020. 8. 20. 18:16
원래 dataBinding을 사용할때 build.gradle(:app)에 아래와 같이 선언해주었습니다. 안드로이드 4.0.x 버전 이상부터 앱의 실행에는 지장이 없지만 아래와 같은 warning이 뜹니다. 경고문에 나와있는 것처럼 아래와 같이 build.gradle(:app)에 dataBinding을 수정해주면 더 이상 warning이 뜨지 않습니다.
-
Android) DI - Dagger2 시작하기, Kotlin + Dagger2 예제Android 2020. 8. 13. 13:08
의존성 주입의 중요성이 커지고 있습니다. 하지만 Dagger 같은 경우에는 러닝커브가 상당히 높은 편입니다. 그래서 차선책으로 Koin을 사용해서 의존성 주입을 하고 있었는데, Google에서 Dagger를 권장하면서 밀어주기도 하고, Dagger의 이점이 훨씬 많은 것 같아 예제를 다뤄보려고 합니다. DI (Dependency Injection) 이란? Di(dependency injection = 의존성 주입) framework 외부에서 의존 객체를 생성하여 넘겨주는 것을 의미합니다. Di는 결국 의존성이 있는 객체의 제어를 외부 framework로 올리면서 Ioc(Inversion of control = 제어의 역전)개념을 구현한 것입니다. 의존성? 비유하자면 우리가 어디 먼 곳을 갈때, 자동차나 ..
-
Android) RxJava 메모리 누수 방지 - Disposable, CompositeDisposable 비교Android 2020. 8. 4. 19:50
메모리 누수(Memory Leak)란? 참조가 완료되었지만 할당한메모리를 해제하지않아서 발생. 특히 강한 참조의 경우 가비지 컬렉터가 메모리에서 객체를 제거할 수 없으므로 라이프사이클에 맞게 참조를 끊어야 사용하지 않는 메모리를 해제할 수 있습니다. 메모리누수는 시스템 전체 성능에 영향을 미치므로 중요하게 관리해야 합니다. Disposable 인터페이스를 이용하여 명시적으로 자원 해제 - 라이프사이클에 맞게 해제. CompositeDisposable 클래스 이용 - 생성된 모든 Observable 을 안드로이드 라이프사이클에 맞춰 한번에 모두 해제할 수 있습니다. clear(), dispose() 함수 모두 Disposable객체를 삭제한다는 점은 같습니다. 그러나 clear() 함수의 경우 계속 Dis..