목록안드로이드 앱(Kotlin|Java) (67)
기록

View 그려지는 과정UI 를 그리는 기본 구성요소CustomView 를 만들기 위함 안드로이드는 유저 인터페이스인 UI 를 통해서 사용자와 앱이 인터랙션을 하게 된다. 따라서 UI 를 그리는 View 와 View 가 그려지는 과정이 중요하다. How Android Draws View 0) 전위순회 방식전위순회 방식을 쓰기 때문에, 부모 부터 자식 뷰 순서로 그려지게 됨 현재 Depth 는 2 Depth 가 깊어질 수록 확인해야하는 내용이 타고 타고 타고 들어가면서 많아진다. 이러한 이유로, View 를 Flat 한 구조로 가져가라고 한다. 그래야 렌더링 속도가 빨라지기 때문1) measure뷰의 크기를 계산모든 뷰는 각각 자신의 width, height 를 계산measure 과정에서, 부모 - ..

테스트 시나리오Activity 종료 시 라이프 사이클다른 앱 실행 시 라이프 사이클다른 Activity 실행 시 라이프 사이클1) 코드1) MainActivity.ktimport android.content.Intentimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport android.widget.Buttonimport android.widget.Toastimport androidx.activity.ComponentActivity/** * 1. Activity 가 실행, 종료 생명주기 * 2. 다른 앱 실행 시, 생명주기 (홈버튼) * 3. 다른 Activity 실행 시, 생명주..

1) Activity Lifecycle앱의 완성도와 안정성을 높이기 위해 반드시 알아야 함다른 앱으로 전환 시, 비정상 종료되는 문제사용자가 앱을 사용하지 않는데, 시스템 리소스가 소비되는 문제사용자가 앱을 나갔다가 돌아왔을 때, 진행상태가 저장되지 않는 문제화면이 가로 ↔ 세로 전환될 때, 비정상 종료되거나, 진행상태가 저장되지 않는 문제콜백1) onCreate필수적으로 구현해야 함Activity 의 생명주기 중 한 번만 발생해야하는 로직을 실행멤버 변수 정의UI 구성 ( setContentView, xml 레이아웃 파일 정의 )saveInstanceState 매개 변수 수신 → Activity 이전 저장 상태가 포함된 Bundle 객체 2) onStartActivity 가 사용자에게 표시됨앱은 Ac..

1) 앱 구성요소 ( 4가지 )Android 앱의 필수적인 요소로, 각각은 시스템이나 사용자가 앱에 들어올 수 있는 진입점Activity, Service, BroadcastReceiver, ContentProvider 이렇게 4가지가 있다. 1-1) Activity앱과 사용자가 상호작용을 하기 위한 진입점앱을 실행할 때는 앱을 전체적으로 호출하는 것이 아니라 앱의 액티비티를 호출모든 앱에 반드시 1개 이상 존재Activity 는 사용자와 상호작용을 위한 UI 가 있음앱이 실행되면, 화면이 표시됨사용자의 입력값을 받음 ( 화면 클릭, 더블 클릭, 롱클릭, 스와이프, 드래그 앤 드랍 등 )사용자에게 제공하고자 하는 내용을 화면에 표시함Lifecycle 이 있음출처: https://developer.andro..
1) Android OSLinux 기반의 운영체제오픈소스 기반스마트폰 OS 의 약 70%를 차지함스마트폰 뿐만 아니라 웨어러블 디바이스, TV, 자동차 등 다양한 플랫폼에서 동작할 수 있는 OS (중요)버저닝이 디저트 이름으로 되어 있음 1-1) 세부 설명스마트폰 OS 의 약 70%를 차지함스튜디오 설치 시, SDK (Software Development Kit) 를 설치하는데 개발자가 개발하기를 쉽게할 수 있는 기능을 제공함Provider 가 만드는 것을 쉽게 함으로써 좀 더 많은 Provider 를 이끌어 왔다. Android OS 는 이식성이 좋다.iOS 는 애플 제품에만 사용 가능하지만 Android 는 화웨이, 샤오미, 삼성, 엘지 에 사용할 수 있으므로 범용적이다.Android OS = 앱 ..

1) Data Class데이터를 담기 위한 클래스toString(), hashCode(), equals(), copy() 메서드를 자동으로 생성override 하면, 직접 구현한 코드를 사용1개 이상의 property가 있어야 함데이터 클래스는 abstract, open, sealed, inner 를 붙일 수 없음상속이 불가능 1-1) 코틀린/자바 코드 비교fun main() {}class Person ( val name: String, val age: Int,)data class Dog ( // 반드시 하나 이상의 property 필요 val name: String, val age: Int,)class Cat() // 클래스는 property가 없어도 괜찮음코틀린 코드를 자바..

1) 앱 구성요소 ( 4가지 )Android 앱의 필수적인 요소로, 각각은 시스템이나 사용자가 앱에 들어올 수 있는 진입점Activity, Service, BroadcastReceiver, ContentProvider 이렇게 4가지가 있다. 1-1) Activity앱과 사용자가 상호작용을 하기 위한 진입점앱을 실행할 때는 앱을 전체적으로 호출하는 것이 아니라 앱의 액티비티를 호출모든 앱에 반드시 1개 이상 존재Activity 는 사용자와 상호작용을 위한 UI 가 있음앱이 실행되면, 화면이 표시됨사용자의 입력값을 받음 ( 화면 클릭, 더블 클릭, 롱클릭, 스와이프, 드래그 앤 드랍 등 )사용자에게 제공하고자 하는 내용을 화면에 표시함Lifecycle 이 있음출처: https://developer.andr..
1) Android OSLinux 기반의 운영체제오픈소스 기반스마트폰 OS 의 약 70%를 차지함스마트폰 뿐만 아니라 웨어러블 디바이스, TV, 자동차 등 다양한 플랫폼에서 동작할 수 있는 OS (중요)버저닝이 디저트 이름으로 되어 있음 1-1) 세부 설명스마트폰 OS 의 약 70%를 차지함스튜디오 설치 시, SDK (Software Development Kit) 를 설치하는데 개발자가 개발하기를 쉽게할 수 있는 기능을 제공함Provider 가 만드는 것을 쉽게 함으로써 좀 더 많은 Provider 를 이끌어 왔다. Android OS 는 이식성이 좋다.iOS 는 애플 제품에만 사용 가능하지만 Android 는 화웨이, 샤오미, 삼성, 엘지 에 사용할 수 있으므로 범용적이다.Android OS = 앱 ..