본문 바로가기

분류 전체보기

(63)
코틀린 컬렉션 프레임워크 유용 함수들 1. List의 union 기능두 리스트를 병합하고 중복값을 제거한 고유한 값들만 반환한다.2. partition 함수원본 컬렉션을 컬렉션 썅으로 분할하는 것. 원본 배열의 조건이 참이 되는 아이템들을 가진 첫 번째 리스트와 조건이 거짓인 아이템을 두번 째 리스트를 한 쌍으로 분리한다.3. nullsLastkotlin에서 제공해주는 inline함수로 null이 가장 뒤로가게 정렬해주는 comparator이다.
Compose 성능 최적화 (Donut hole, 도넛홀) https://developer.android.com/jetpack/compose/performance/bestpractices?hl=ko#defer-reads 권장사항 준수 | Jetpack Compose | Android Developers 권장사항 준수 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 발생할 수 있는 일반적인 Compose 실수가 몇 가지 있습니다. 이러한 실수로 인해 코드가 잘 실행 developer.android.com 안드로이드 디벨로퍼 가이드에서 가장 중요한 개념은 "읽기 연기" 라고 보여집니다. 성능 최적화를 하려면 리컴포지션(recomposition)을 최소화 해야합니다. Composition Scope 안에서 Stable 한 변수가 있으면 ..
CoroutineScope 의 cancel() 전파 Scope의 자식 Scope 에서 Exception 이 났을 때 동작 아무런 처리도 하지않았을 때 CoroutineScope(Dispatchers.IO).launch { launch(CoroutineName("child1")){ delay(1000) Log.d("dayun","${this} end") }.invokeOnCompletion { Log.d("dayun","child1 throwable = $it") } launch(CoroutineName("child2")){ throw Exception("test") }.invokeOnCompletion { throwable -> Log.d("dayun","child2 throwable = $throwable") } delay(1000) Log.d("day..
Android의 Touch Event 전달 앱 개발 시 View 에 onTouchEvent나 onClickListener 를 통한 onClick() 을 사용하며 터치와 클릭에 대한 처리를 했을 텐데요. Nested Scroll 을 커스텀하게 사용하기 위해서는 두 가지 만으로 부족할 때가 있습니다. 따라서 안드로이드의 Touch Event 가 어떻게 전달되고 처리되는지 이해할 필요가 있습니다. Touch Event 전달 순서 Touch Event 가 발생하면 모든 이벤트 발생 알림의 시작점은 액티비티 부터 시작됩니다. Activity -> ViewGroup A -> ViewGroup B ->View 순으로 전달됩니다. onInterceptTouchEvent() 함수를 override 하여 true 로 리턴하면 해당 뷰 그룹에서 더 이상 자식 뷰에게..
Android 인터뷰 20선 - 2 https://medium.com/@yogitavarsani/top-20-android-interview-question-for-beginners-94e734c62920 Top 20 Android Interview Question For Beginners . 1. What is the life cycle of Android activity? medium.com 11. 애플리케이션 크래쉬 오류가 자주날때 문제를 해결할 수 있는 기술은 무엇입니까? (what are the troubleshooting techniques you can follow if an application is crashing frequently?) 호환성 체크: 애플리케이션이 OS 와 호환되지 않을 가능성이 있습니다. 메모리 관리: ..
안드로이드 인터뷰 면접 질문 20선! - 1 https://medium.com/@yogitavarsani/top-20-android-interview-question-for-beginners-94e734c62920 Top 20 Android Interview Question For Beginners . 1. What is the life cycle of Android activity? medium.com 위 내용을 기반으로 작성한 내용입니다~ 1. Android Activity 라이프 싸이클에 대해서 설명해주세요. onCreate() 액티비티가 생성될 때 호출된다. 액티비티 전체 수명 주기 동안 딱 한 번만 동작되는 초기화 및 시작 로직을 실행할 수 있다. savedInstanceState를 통해 이전 상태가 저장된 Bundle 객체를 얻을 수 있..
Android, Compose 왜 생겼을까? 오늘은 Android Compose 가 왜 생겼는지에 대해서 이야기 해보겠습니다. Compose 를 만들 수 밖에 없었던 이유에 대해서 말씀드리기 전에 리스코프 치환 원칙을 알고 계시나요? 리스코프 치환 원칙 자식클래스(서브클래스)는 부모클래스(슈퍼클래스)의 역할을 완벽히 수행할 수 있어야한다. 상속받은 클래스는 부모클래스가 하는 일을 완벽히 이해를 해야합니다. 그래서 "상속 보다는 구성을 사용하라" 는 배움의 말이 나오죠~ View 안드로이드 UI 가장 기본클래스는 View 입니다. View에는 안드로이드가 10년 이상동안 OS가 유지되면서, 다양한 단말들의 예외처리들이 다 포함되어있습니다. View의 개행수를 찾아보면 31111줄이나 됩니다. 즉, 커스텀뷰를 만들기 위해서는 31111 라인의 내용을 ..
AttributeSet Android XML에서 View를 생성할 때 값을 설정할 수 있는 AttributeSet 인터페이스를 제공합니다. AttributeSet을 통해 View를 생성하면 기본 값을 쉽게 설정할 수 있습니다. attr.xml 에 선언하여 만들 수 있습니다. 이렇게 받아서 사용할 수 있습니다. context.theme.obtainStyledAttributes(attrs, R.styleable.ProgressView, defStyleAttr, defStyleRes).apply { maxValue = getInt(R.styleable.ProgressView_maxValue, maxValue) value = getInt(R.styleable.ProgressView_value, value) textSize = getD..