Programming

    Class

    Class

    Listener Interface Listener SAM Single Abstract Method 단일 추상 메서드 SAM Conversion SAM 변환 kotlin에서는 java와 호환성을 유지하기 위해 특별한 형태로 SAM을 지원한다. 즉, 함수 리터럴 Function literal 또는 람다식 Lambda expression 으로 SAM을 작성하면 이것을 해당 인터페이스의 구현 객체로 변환한다. 이를 SAM 변환이라 한다. Data Class 데이터를 갖는 클래스로 주로 사용한다. 업무에 관련된 것도 있으며, 프로그램에서 필요하여 생성한 것도 있을 수 있다. 이러한 클래스는 비즈니스 로직을 처리하지 않고, 주로 데이터르르 저장하는 속성을 갖는다. 클래스 인스턴스끼리 각 속성의 값을 비교하거나, -..

    Resource 리소스

    Resource 리소스

    Resource 리소스에 대한 모든 것 리소스는 아래의 폴더로 대체로 구분된다. Drawable Layout Mipmap Values Values Values - Strings 문자열 리소스를 담는 곳이다. 문자열 파일(String file)이라고도 한다. 별도의 Xml파일에 정의된 문자열이다. 직접 하드 코딩을 하여 문자를 등록할 수 있지만, 이렇게 문자열 파일에 저장하여 사용하면 각 문자 값을 참조하게 하여 지역화(localization)를 쉽게 할 수 있다. Strings 라는 파일의 명은 바꿔도 된다. 여러 문자열 파일을 만들어 놓고 사용해도 된다. 단, Values폴더 아래에 위치시켜야 한다. Values - Colors Values - Themes 리소스 파일을 만드는 화면창이다. Availa..

    View Hierarchy 뷰 계층 구조

    View Hierarchy 뷰 계층 구조

    View Hierarchy 뷰의 계층구조 위의 코드는 아래의 표처럼 계층을 가진 상태로 구성된다. view에 해당하는 모든 xml 코드들은 이런 식으로 구성되어있다. LinearLayout TextView LinearLayout Button Button 최고 상단 루트(뿌리에)에 속하는 요소는 LinearLayout이다. 이 것에는 안드로이드 리소스 xml 네임스페이스를 지정해줘야한다. 그 코드가 바로 익숙한 아래의 코드이다. xmls:android="http://schemeas.android.com/apk/res/android" ViewGroup 에는 Linear, Constraint, Frame 등 다양한 서브클래스가 있다. ViewGroup에 포함되는 모든 View들은 뷰그룹의 자식(Child)라 ..

    All Of Android Setting

    All Of Android Setting

    Android Settings key : Ctrl + Alt + s 자동 Import 설정하기 코틀린 언어로 코드를 작성할 때 코틀린에서 제공하는 기본 패키지에 있는 클래스나 인터페이스를 사용하는 경우는 컴파일러가 찾을 수 있도록 import 문을 추가하지 않아도 된다. 그러나, 안드로이드 앱을 작성할 때는 외부의 수많은 패키지에 있는 클래스나 인터페이스를 사용해야 하므로 이때마다 import문을 추가해야 코틀린 컴파일러가 해당 클래스나 인터페이스를 찾을 수 있다. 해당 프로젝트에서 Settings 로 들어가도 되고, welcome 창에서 configure로 들어가서 settings로 들어갈 수도 있다. Add unambiguous imports on the fly 외부 패키지의 클래스나 인터페이스를 사..

    안드로이드 버전 정보

    안드로이드 버전 정보

    안드로이드 OS Version 버전명 / API Level 날짜 코드명 및 링크 주요 변경? Ver.12 / 31 2021년 공개예정 Snow Cone 32비트 손절 예상(부분손절) Ver.11 / 30 2020년 9월 8일 화요일 Red Velvet Cake 개인정보 보호 개선, API확대... Ver.10 / 29 2019년 9월 4일 수요일 Quince Tart 블랙테마, Scoped Storage... Ver.09 / 28 2018년 8월 7일 화요일 Pie Wi-Fi Location 관련 API제공... Ver.08 / 27 2017년 8월 22일 화요일 Oreo 무선 오디오 인토딩 포맷 지원 강화... Ver.07 / 26 2016년 8월 23일 화요일 Nougat 알림강화, 멀티윈도우, VR..

    [Gradle] DaggerMyAppApplication_HiltComponents_SingletonC....

    [Gradle] DaggerMyAppApplication_HiltComponents_SingletonC....

    error: cannot find symbol return DaggerMyApplication_HiltComponents_SingletonC.builder() ^ symbol: variable DaggerMyApplication_HiltComponents_SingletonC Fixed by removing deprecated dependencies: implementation "androidx.hilt:hilt-lifecycle-viewmodel" kapt "androidx.hilt:hilt-compiler https://github.com/google/dagger/issues/2541

    [BottomNavigation] ViewPager2 적용

    [BottomNavigation] ViewPager2 적용

    먼저 참고할 문서 - ViewPager2 [보러가기] - ViewPager2 사용가능 메서드 [보러가기] - 정리가 잘된 블로그 [보러가기] 기본 설정 0. gradle 확인 androidx.viewpager2.widget.VieaPager2 가 import되는지 확인해본다. (웬만하면 들어있는듯) 1. menu xml 생성 후 원하는 item 메뉴의 종류를 만든다. - icon, title까지 다 설정해주고, enabled = true를 해준다. 2. 해당 layout파일로 가서 보여질 화면 ViewPager2와 bootttomnavigationview를 만들어준다. - id를 꼭 만든다. 3. 해당 Activity로 이동하여 설정한 메뉴들과 화면을 연동해준다. - ViewBinding을 사용하였다. ..

    Current JDK version 1.8.0_291-b10 has a bug (...) that prevents Room from being incremental.

    Current JDK version 1.8.0_291-b10 has a bug (...) that prevents Room from being incremental.

    Current JDK version 1.8.0_291-b10 has a bug (...) that prevents Room from being incremental. >> 해결 File - Project Structure 들어간다 . ( 단축: Ctrl+Alt+Shift+s) SDK Location 탭으로 들어간다. JDK Location 에서 Embedded 로 바꿔본다. 약간 해결은 되지만, 다른게 문제 가 되는듯??