본문 바로가기

안드로이드 프로그래밍20

[kotlin] 코틀린 enum class (열거 클래스) Enum class Enum class란 일반적으로 선언되는 상수와는 다르게, 여러 개의 값을 열거해서 사용할 수 있도록 정의해 놓은 클래스이다.enum class Fruit{ GRAPE, APPLE, ORANGE, MANGO}일반적인 형태의 enum class는 위와 같은 형태로,Fruit가 해당 클래스의 클래스 명이며, 블록 안에 순차적으로 콤마(,)를 통해 나열된 값이해당 클래스의 인스턴스이다.특별히 생성자를 정의하지 않는 경우 위에서부터 순차적으로 0,1,2,3...의 값이 부여된다.각 enum 인스턴스는 일반적으로 name과 ordinal이라는 프로퍼티를 가지며,name은 인스턴스의 이름을, ordinal은 인스턴스의 순서를 나타낸다.위와 같이 선언된 enum class는 .. 2024. 5. 28.
[Android] view binding view binding은 이 findViewById를 대체할 수 있는 기능이다. 뷰 바인딩을 사용하면 직접 id를 적고 타입을 정하고 이런 작업을 하지 않아도 된다. 자동으로 클래스 파일을 생성해주기 때문이다. 왜 사용하나 ? 기존 findViewById에는 몇가지 문제점이 존재합니다. 코드가 더러워짐 ( 관리해야 될 버튼이 20개 일 경우 findViewId() 만 20번 쓰임 실수로 없는 id를 사용하면 NULL 오류가 발생합니다. 실수로 뷰의 타입을 잘못 적으면 오류가 발생합니다. ex. TextView -> ImageView 사용법 ? gradle 파일에 추가 // 안드로이드 스튜디오 3.6 ~ 4.0 android { ... viewBinding { enabled true } } 바인딩 클래스 .. 2023. 9. 28.
[Android] Linearlayout , layout_weight 속성 1. Linear Layout Linear Layout은 View를 수평 또는 수직 방향으로 배치할 수 있는 레이아웃입니다. orientation 속성을 통해 배치방향을 결정할 수 있습니다. android : orientation = "vertical" : 하위 뷰들을 수직방향으로 배치 android : orientation = "horizontal" : 하위 뷰들을 수평방향으로 배치 2. gravity 속성과 layout_gravity 속성 차이 gravity : 자신의 뷰에서 포함하고 있는 데이터를 정렬, layout_gravity : 자신을 포함하고 있는 부모 위젯 레이아웃에서 옵션값에 따라 정렬 3. layout_weight 속성 자식 뷰에 가중치를 지정해서 그 비율만큼의 자식 뷰의 크기를 지정하.. 2023. 9. 26.
[kotlin] Data class, Sealed class fun main(){ ///////// data class 예시 ///////// val person=Person("수지",24) val dog=Dog("해피",23) println(person.toString()) // 그냥 참조 주소값이 나옴 // 출력: org.techtown.part0.kotlin.part2.Person@2acf57e3 println(dog.toString()) // 데이터 클래스의 경우 안의 데이터를 볼 수 있는 tostring 함수가 구현됨 // 출력 : Dog(name=해피, age=23) println(dog.copy(age=3)) // 원.. 2023. 8. 14.