JDK 안드로이드 스튜디오를 사용해 빌드하면, 자체적으로 설정된 JDK를 사용한다. sudio.jdk 디렉토리가 있음. 또는, JetBrains Runtime(JBR)이라고 JDK확장버전을 안드로이드 스튜디오랑 함께 배포하게 되는데, 이를 사용하고 이 방법이 권장된다. 커맨드 라인으로 빌드하게 되면, JAVA_HOME을 찾고 없으면 PATH에 있는 java를 실행하게 되는데, 이 경우 안드로이드 스튜디오와 JDK가 안맞게 된다. 같이 사용한다면, 두 버전을 맞춰줘야 함. 빌드 할 때 처음에는…
[카테고리:] 안드로이드
안드로이드 개발내용
Android: Kapt to KSP
공식 문서 Migrate from kapt to KSP 에 잘 설명되어 있다. Kapt Kapt는 the Kotlin Annotation Processing Tool 의 약자로 Java Annotation을 코틀린에서 사용가능하도록 만들어준다. 결과적으로 Kotlin 코드에서 Annotation들의 사용이 가능해진다. 예를 들면, Room Database를 사용시 다음과 같은 Dao코드를 필요로 하는데, @Dao, @Query 등이 코드에 부가적으로 달려있는 annotation이며 Kapt는 이를 해석하고 필요한 코드를 생성하는 역할을…
Android Studio : Parameter Popup 없애기
안드로이드 스튜디오를 사용하면서 가장 걸리적 거리는게 바로 이 Parameter Popup이다. 원하지도 않는데, 자동으로 떠서 화면을 가리고 불편하게 만든다. 설정에서 간단하게 없애거나 타임아웃을 길게 줄 수 있는데, 정확히 어떤 항목인지 찾느라 고생해서 기록해둔다. 먼저 파라미터 팝업이 뭐냐면, 다음과 같은거다. 보면, 함수 Column을 사용하려하면, 자동으로 파라미터 입력부분에 팝업이 뜬다. 나같은 경우는 파라미터를 잘 모를 땐 함수에 대한…
Android: External Storage and Storage Access Framework(SAF)
개요 SD Card 또는 External Storage에 대해 가볍게 접근했다가 대혼돈이라는걸 뒤늦게 알았다. 내맘같아선, 그냥 기존처럼 자유롭게 접근하게 냅두면 좋겠지만… 모든 변화의 핵심은 Internal Storage 수준의 보안과 권한(Permission)이다. 사족을 달자면, 대부분 앱들은 아이폰용으로도 개발되기 때문에 이 골치아픈 External Storage를 다루지 않고 전부 Internal Storage만 사용한다, 카카오 톡처럼. 내용을 볼수록 이것도 이해가 되긴 하는데, 안드로이드 유저로선 그냥…
Android : Intent 정리 #1
명시적 인텐트(Explicit Intent) 요즘엔 단일 Activity로 앱 개발이 주로 이루어지지만, 초기에는 모두 Activity로 만들어졌었다. 하나의 앱내에서도 Activity를 띄우기 위해선 startActivity()를 사용하는데, 인자로 Intent객체를 넘겨줬다. Activity를 띄우는 예제 코드를 보면 다음과 같다. Intnet 객체를 생성하는 첫번째 인자는 Context이고, 두번째는 불러올 Activity의 클래스 이름이다. “::class.java” 는 무엇일까? ::class 는 Kotlin에서 KClass를 리턴해주는 reflection 문법이다. 안드로이드 Intent는 java…