안드로이드의 주요 컴포넌트 Activity 사용자에게 UI가 있는 화면을 제공하는 앱 컴포넌트입니다. 앱과 사용자의 상호작용을 위한 진입점 역할을 합니다. 일반적으로 화면을 가득 채우지만, 화면보다 작게 다른 화면 위에 떠 있을 수 있습니다. 사용을 위해서는 앱의 manifest에 등록하고 수명 주기를 적절히 관리해야 합니다. Service 백그라운드에서 오래 실행되는 작업을 수행할 수 있는 앱 컴포넌트입니다. 사용자 인터페이스를 제공하지 않습니다. 다른 컴포넌트에서 서비스를 시작할 수 있으며, 사용자가 다른 앱으로 전환하더라도 백그라운드에서 계속 실행됩니다. 또한 컴포넌트에 서비스를 바인딩하여 서비스와 상호작용을 할 수 있습니다. 포그라운드, 백그라운드, 바인드된 서비스가 있습니다. Broadcast ..
조건) CoordinatorLayout의 scrolling child 로 ViewPager를 가진다 문제상황) 스크롤 시, 그 이벤트를 scrolling child가 혼자서 소비한다. 결과적으로, 위쪽에 접혀들어가야 하는 레이아웃 (collapsing layout)이 같이 스크롤 되지 않는 문제가 발생했다. 해결방법) ViewPager를 NestedScrollingChild 로 감싸는게 아니라, ViewPager에 탑재되는 레이아웃을 NestedScrollingChild 로 감싸면 해결!
Dagger를 통해 의존성 주입을 하던 중에, 같은 타입의 여러 객체를 제공하기 위해 @Named 어노테이션을 사용했는데, 다음과 같은 에러로 빌드가 되지 않았다. error: [Dagger/MissingBinding] @javax.inject.Named("identifier") someObject cannot be provided without an @Provides-annotated method. 원인 코틀린에서 프로퍼티(Property)는 기본적으로 필드(Field)와 접근자(getter/setter)로 구성되어 있다. 그러나 자바는 필드(Field)만 존재하고 접근자는 별도로 구현해야 한다. 그렇기 때문에 코틀린의 어노테이션(annotation)은 자바와 같은 동작을 보장하기 위해 내부적으로 조금..
Kotlin(코틀린)은 JVM과 안드로이드를 위한 "실용적"인 프로그래밍 언어입니다. 개발에 있어 기존 자바 코드와의 상호운용성, 안전성, 간결함을 제공하는 데 초점을 맞추고 있습니다. Java 개발 IDE인 InteliJ IDEA로 유명한 JetBrains 사에서 개발했으며 2012년 오픈소스화 되었습니다. 2017년에 Google이 안드로이드 공식 언어로 채택했으며 이외에도 다양한 플랫폼에서 쓸 수 있습니다. 1. 주요 특징 1-1. 정적 타입 언어 (Static typed language) 컴파일 시간에 변수의 타입(Type)이 결정됩니다. 프로그래머가 직접 객체의 타입을 명시해주어야 합니다. 프로그램 내에서 객체의 필드(field)나 메소드(method)를 사용할 때마다 컴파일러가 타입을 검증해주..
Kotlin에는 유용한 extension function들이 있습니다. 대표적으로 자주 사용되는 with/let/apply/also/run을 차례대로 알아보도록 하겠습니다. with inline fun with(receiver: T, block: T.() -> R): R 어떤 객체의 이름을 반복하지 않고 객체에 대해 다양한 연산을 수행하려고 할 때, with() 함수가 유용하게 쓰입니다. with() 함수는 첫 번째 인자로 받은 객체를 두 번째 인자로 받은 람다의 수신 객체로 전달하며, 람다의 실행 결과(마지막 식의 값)를 리턴합니다. 예시 - with val s: String = with(StringBuilder("hello")) { append("kotlin ").ap pend("world!") pr..
Bootcamp로 설치한 윈도우에서 용량이 부족해서 파티셔닝 프로그램을 사용해서 크기를 조절했는데, 재부팅을 하고 나서 윈도우로만 부팅이 되고, 부팅할 때 option 키를 누르고 있어도 부팅 가능 목록에 윈도우만 표시가 되는 황당한 경험을 했다. 맥 파티션 안에 잃어버리면 치명적인 자료들이 있었기 때문에, 갖은 방법을 시도해 보았다. 윈도우 상에서 diskmgmt.msc 를 통해 확인한 결과 MACINTOSH HD 파티션과 RECOVERY HD 파티션의 타입이 Windows 복구 파티션으로 변경되어 있었다. 파티셔닝 툴이 데이터는 손상시키지 않았지만 파티션 정보가 담긴 헤더 쪽에 영향을 미친 것 같은 느낌이 들었다. 첫 번째로 시도한 방법은 Paragon HFS+ for Windows® 10 이라는 상..
- Total
- Today
- Yesterday
- Dagger
- GPT
- DI
- 부트캠프
- Repair
- inject
- CentOS NGINX PHP
- 복구
- provides
- EFI
- dependency injection
- NGINX PHP 연동
- NGINX PHP FPM
- kotlin
- bootcamp
- Android
- UEFI
- 부트로더
- NestedScrollView
- CoordinatorLayout
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |