모바일/Android_Kotlin(18)
-
DataBinding – Two-way(양방향) Databinding with Custom View
DataBinding – Two-way(양방향) Databinding with Custom View CustomView가 아닌 일반적인 방법 android:text="@={viewModel.mContent} CustomView CustomView에 양방향 데이터 바인딩을 적용하려면 꽤 복잡하다. customview에 적절한 변수값 선언하기 CustomView 클래스에 Databinding 연결하기 constructor( context: Context, attrs: AttributeSet?, defStyleAttr: Int ) : super(context, attrs, defStyleAttr) { initView() } /** * init View Here */ private fun initView() {..
2021.03.04 -
take
take take take() 함수의 인자로 받은 개수만큼만을 인자로 갖는 리스트를 반환 takeLast take() 함수와 반대로 뒤에서부터 이 함수의 인자로 받은 개수 만크만을 인자로 갖는 리스트를 반환 takeWhile() 첫 번째 인자부터 시작하여 주어진 조건을 만족하는 인자까지를 포함하는 리스트를 반환합니다. takeLastWhile() takeWhile() 함수와 반대로 뒤에서부터 뒤에서부터 주어진 조건을 만족하는 인자까지 포함하는 리스트를 반환합니다.
2020.12.17 -
[Kotlin] Sequence
Sequence List는 아이/템이 매우 많아질 경우에 메소드를 거칠 수록 처리에 대한 부담이 커진다.. 그런데, sequence의 경우 lazy하게 최종 메소드가 실행 될 떄 전체가 실행된다. val seq : Sequence = sequenceOf(2L) + generateSequence(3L,{ it + 2 }).takeWhile{ it
2020.12.17 -
[kotlin] filter, map, all, any, count, find, groupBy, flatMap 함수 정리
filter 함수 filter 함수는 리스트를 이터레이션하면서 리턴이 true 인 값만 필터링합니다. var listInts = listOf(1,2,3,4) //filter listInts.filter { it % 2 == 0 } //출력 [2,4] map 함수 map 함수는 값을 변형해서 새로운 리스트를 생성합니다. var listInts = listOf(1,2,3,4) listInts.map { it * it } //출력 [1,4,9,16] val people = listOf(Person("A", 27), Person("B", 35), Person("C", 35)) people.map { it.name } //출력 [A, B, C] //심플한 방법 people.map(Person::name) //30..
2020.12.17 -
일급 시민, 일급 객체, 일급 함수
1급시민 프로그래밍의 변수에서 1급 시민의 조건은 다음과 같습니다. 변수에 담을 수 있다. 함수(혹은 메소드)의 인자(매개변수, Parameter)로 전달할 수 있다. 함수(혹은 메소드)의 반환값(return)으로 전달할 수 있다.
2020.12.03 -
Kotlin Class, 상속
Class 초기화 class Person (name : String ){ var name = name; } 클래스를 상속하는 경우 반드시 부모 클래스의 생성자를 호출해야 한다. 위에서는 AppCompatActivity의 기본 생성자를 호출하는 것을 확인할 수 있다. 부모 클래스의 생성자가 여러 형태일 경우, 클래스 선언부에서 부모 클래스의 생성자를 호출하는 대신 별도의 생성자 선언에서 부모 클래스의 생성자를 호출하도록 구현할 수 있다. class HelloActivity : View{ constructor(context: Context) : super(context){ } } Class Init // class Student(name : String){ init{ println(name) } } == c..
2020.11.05