[Android] Anonymous Function + Lambda (feat. Click Listenenr)
·
Android/OS
흔히 Android에서 Button.SetOnClickListener 를 자주 사용하는데 이때 꼭 알아야할 개념이 Lambda function 과 Listener이다. Listener의 동작 원리? Android OS는 View에 달려있는 모든 Listener를 켜놓는다. View.OnClickListener에는 onClick이라는 메소드가 존재하고 실제 클릭 이벤트가 발생할 때마다 어느 View에서 이벤트가 발생했는지 식별하여 오버라이딩한 메소드 동작을 수행한다. 동작 수행의 주체는 Android OS이다. 예제를 통해 아라보자 [Layout.xml] [Activity.kt] package com.example.android_tutorial import android.os.Bundle import an..
[Android] Activity Life Cycle
·
Android/OS
[필수 메소드] onCreate() Activity의 전체 Life Cycle동안 한 번만 발생해야 하는 기본 Application Logic 수행. ex. Daatabase List에 Binding. savedInstanceState 매개변수를 수신함, 이는 이전 저장 상태가 포함된 Bundle 객체. 이번에 처음 생성된 Activity의 경우 Bundle 객체 값은 null. onStrat() 정의한 Layout.xml - Activity.kt 연결 Activity 객체를 생성하고 Menu, Layout, Image Resource 를 로딩. onResume() Activity 사용자에게 표시되기 직전에 호출됨. onPause() 다른 Activity 표시 직전에 호출됨. Activity가 여전히 부..
[Android] Constraint Layout
·
Android/OS
진짜 개열받는다 양식없이 쓴다. 은 반드시 Vertical, Horizontal Property에 대한 값을 각각 하나이상 부여해야한다. [수평(Horizontal)] Left-Right / Start - End [수직(Vertical)] Top - Bottom 앞: 내 위치 전치사 to + 대상(상대위치) [예시] [해설] 2번째 입력칸인 MultiAutoCompleteTextView는 첫번째 AutoCompleteTextView인 (country_name)의 시작 - 끝점에 대한 조건 레이아웃이 설정된다. layout_constraintTop_toBottomOf는 자신의 상단(top)을 country_name 칸의 하단부에 위치시키겟다는 것이고 marginTop을 100dp를 줬기 때문에 100dp만..
[Android] Tab - Layout
·
Android/OS
Adapter는 Pager를 위한 것, Pager 는 화면 하나만 보여주고 사실 안보이지만 보통 fragment별로 이미 로드되어있음. 바로 예제를 보자. [activity_tab_pager.xml] [fragment_one.xml] [fragment_two.xml] [FragmentFrist.kt] [FragmentSecond.kt] [MainActivity.kt]