본문 바로가기

프로그래밍/안드로이드 <Kotlin>19

[android/메모] 안드로이드 개발 시 필요한 참고 자료 모음 개인적으로 자주 열람하는 자료입니다. 소스 코드 공식 Google Issue Tracker issuetracker.google.com Kotlin 스타일 가이드 | Android Developers Kotlin 스타일 가이드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문서에서는 Kotlin 프로그래밍 언어의 소스 코드와 관련된 Google의 Android 코딩 표준을 developer.android.com Google Java Style Guide 1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Pr.. 2023. 12. 11.
[android] intent ACTION_OPEN_DOCUMENT 사용 시 EXTRA_INITIAL_URI 활용하여 특정 디렉토리 열기 개요 안드로이드 버전마다 저장소 위치가 상이할 수 있습니다. 저는 안드로이드 13, S21 (SM-G991N)에서 구동하였습니다. 참고해 주세요. EXTRA_INITIAL_URI 을 활용하여 파일 관리자가 특정 디렉토리를 열도록 만들어 보겠습니다. 주의 사항 intent에 인코딩된 Uri을 전달해 주어야 합니다. Uri에서 path 단은 반드시 인코딩(예: / -> %2F)된 문자열로 구성되어 있어야 합니다. // BAD Uri uri = Uri.parse("content://com.android.externalstorage.documents/document/primary:Pictures/"); // GOOD Uri uri = Uri.parse("content://com.android.externalst.. 2023. 12. 8.
[android] firebase com.google.android.gms.common.api.ApiException: 10: 에러 해결 개요 안드로이드에서 파이어베이스 기능 구현 시 발생할 수 있는 문제입니다. 다양한 상황에서 발생할 수 있으므로 다른 글들 또한 확인하세요. com.google.android.gms.common.api.ApiException: 10: 올바른 "웹" 클라이언트 ID 확인 안드로이드 프로젝트임에도 Oauth 웹 클라이언트 ID 를 사용해야 합니다. 저의 경우 android Oauth 클라이언트 ID를 사용하고 있었습니다. 해당 프로젝트의 자동 생성되는 웹앱 Oauth 클라이언트 ID를 사용해야 합니다.. GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(getSt.. 2023. 11. 23.
[android] Could not find method kapt() for arguments 에러 해결 (Room 사용 시) 개요 Room은 안드로이드에서 SQLite를 손쉽게 사용하게 만드는 미들웨어입니다. Room을 가이드에 따라 진행 시 다음과 같은 에러를 접할 수 있습니다. Could not find method kapt() for arguments 해결 방법 kapt를 모두 annotationProcessor으로 바꾸어 주세요. 바꾸기 전 def room_version = "2.5.0" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" // To use Kotlin annotation processing tool (kapt) kapt "androidx... 2023. 11. 22.
[android] xmlns android, app 이해 개요 액티비티 구현 시 루트 레이아웃에 다음과 같이 선언되어있음을 확인할 수 있습니다. xmlns xmls는 xml 네임스페이스를 정의합니다. 한 xml에서 다른 외부 xml에 정의된 변수를 활용하기 위해 사용합니다. xml 네임스페이스는 두 개 이상의 xml을 구별하여 충돌을 방지하는 변수명입니다. xml 네임스페이스 정의 필요성 안드로이드에서 showAsAction 은 android와 app모두 정의되어 있을 수 있습니다. android:showAsAction app:showAsAction 이때, 어떠한 showAsAction을 사용할 것인지에 대해 명확한 정의가 필요합니다. 굳이 android 가 아니어도 상관없습니다. androidCutsomNamespace 이런식으로 정의해도 됩니다. 말 그대로.. 2023. 11. 22.
[Gradle] unexpected element <property> found in <manifest><application> 문제 해결하기 문제 상황 플러터 앱 빌드 과정에서 아래와 같은 에러가 발생했습니다. manifest.xml 파일을 잘못 작성한 경우에도 발생할 수도 있지만 해당 에러는 잘 작성했음에도 발생할 수 있습니다. unexpected element found in 해결 방법 android gradle plugin과 gradle의 호환성 문제 또는 gradle이 이를 갱신하지 않아 발생할 수 있는 문제입니다. android gradle plugin과 gradle의 상호 호환되는 버전을 확인하고 호환되는 버전으로 바꾸어줍니다. 이 글에서 저는 상호 호환되는 android gradle plugin 4.2.0버전과 gradle 6.7.1버전으로 맞추어 주겠습니다. 1. 프로젝트/android/build.gradle 수정 buildsc.. 2023. 9. 17.