개발(Development)273 [안드로이드 앱] AAB 빌드 안될 때 해결 방법: keystore password was incorrect, getSecretKey failed: Password is not ASCII 안드로이드 스튜디오에서 Build > Generate Signed Bundle or APK 메뉴로 앱을 AAB로 빌드할 때, 아래와 같은 에러 로그가 뜨면서 빌드가 안 되는 문제가 발생할 때가 있다. 자세한 로그는 다음과 같다.(일부 생략) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:signReleaseBundle'. > A failure occurred while executing com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnable > Failed to read key: keystore passw.. 2021. 8. 16. 맥 OS: git push에서 The requested URL returned error: 403 해결 방법 Git Hub에서 액세스 토큰 방식으로 바뀌면서 인증에 어려움을 겪을 수 있다. 일단 액세스 토큰 생성 방법은 아래 글을 참고하기 바란다. GitHub 토큰 인증 로그인: Personal Access Token 생성 및 사용 방법 혹시 MAC OS환경에서 git push 실행시, 아래와 같은 로그가 뜨며 잘 안 되는 경우가 발생할 수 있다. remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. ... The requested URL returned error: 403 아마도 git push에 설정된 git hub의 ID/PW가 키체인에 등록되어 .. 2021. 8. 14. 안드로이드스튜디오: 에뮬레이터 생성 및 실행 방법(AVD Manager) # 안드로이드 에뮬레이터(가상장치) 생성 방법 1. AVD Manager 실행 2. "Create Virtual Device" 클릭 3. 기기 선택 4. OS 선택 5. 생성 완료 자세한 방법은 아래와 같다. 1. AVD Manager 실행 - Tools > AVD Manager 를 실행한다. - 혹은, Run 버튼 옆의 콤보박스에서 AVD Manager를 선택해도 된다. * 참고로 AVD 는 Android Virtual Device 의 약자다. 2. Create Virtual Device - 화면에서 "Create Virtual Device" 버튼을 찾아서 클릭한다 3. 기기 선택 1) 기기 유형(Phone / Tablet 등)을 선택하고, 2) 기기 종류(Nexus 등)을 선택하고, 3) Next 클.. 2021. 8. 10. [안드로이드] Button의 background 설정 및 커스텀 drawable(selector 등) 적용 불가 해결 방법 안드로이드 개발시, 버전에 따라 Button의 backgorund 설정이 안되는 경우가 있다. 일반적인 배경 색상 설정은 background대신 backgroundTint 속성을 사용하면 된다. 하지만!!! drawable에 selector 등을 적용하는 커스텀 버튼은 background는 물론 backgroundTint로도 작동하지 않는 경우가 있다. # Button에 background 설정이 불가능한 이유 구글링을 해보니 문제의 원인은 다음과 같다고 한다. 특정 버전의 안드로이드 스튜디오는 프로젝트 생성시, 1. Theme.MaterialComponents.DayNight.DarkActionBar를 디폴트 테마로 설정한다. 2. 해당 테마에서 Button을 만들면 MaterialButton으로 생성.. 2021. 8. 4. [안드로이드] 커스텀 버튼 체크/선택/포커스 상태별 구분 적용 방법: selector, shape 안드로이드의 selector를 사용하면, 뷰(View)의 상태에 따라 다른 배경색/테두리/이미지 등을 적용할 수 있다. 위의 예제처럼 Button을 눌렀을 때와 땠을 때 다른 배경색/테두리를 적용하기 위해선 아래의 2개 파일만 작업해주면 된다. - selector_button.xml 파일 : Button을 눌렀을 때와 땠을 때 적용할 셰이프(shape)의 면(solid)과 선(stroke)를 다르게 설정 - activity_main.xml 파일 : Button의 background 속성에 selector_button.xml을 적용 이걸로 끝이다. 자세한 사용방법은 아래와 같다. # selector 사용 방법 1. selctor XML 파일 생성 - res > drawable 폴더에 XML파일을 생성한다... 2021. 8. 3. [안드로이드] 버튼 selector 일부 테두리 적용 설정 방법: layer-list selector를 통해 커스텀 라디오 버튼 등을 만들 때, 아래처럼 테두리의 일부만 표시하고 싶을 때가 있다. layer-list를 이용하면 되는데, 문제는 selector태그와 layer-list 태그를 함께 사용하면 원하는 결과가 안 나올 수 있다는 점이다. 해결방법은 1. layer-list 파일, selector 파일을 따로 만들고, 2. selector파일의 item태그 andorid:drawable 속성값에 layer-list 파일을 설정해주는 것이다. 하나씩 해보자. 아래 예제는 위아래 테두리만 있는 커스텀 라디오 버튼을 만드는 것이지만, 좌우 테두리만 설정할 수도 있고, 다른 타입의 버튼에도 각자의 상황에 맞게 응용하면 된다. # 커스텀 라디오버튼의 테두리 일부만 설정하기 1. layer-.. 2021. 8. 3. [안드로이드] 커스텀 RadioButton 만드는 방법(배경, 테두리, 이미지 적용) # 안드로이드 커스텀 RadioButton 만드는 방법 1. RadioButton 생성: 레이아웃.XML파일에 RadioButton 생성 2. selector 생성/적용: 버튼이 체크되어있을 때와 해제되었을 때 버튼의 색/테두리/글자색/이미지 설정 아래에서 정리하는 딱 3개의 파일 작업만 해주면, 이런 커스텀 라디오 버튼을 만들 수 있다. 1. selector 생성 - res > drawable 파일에 아래의 2개의 selector 파일을 생성한다. (혹시 selector 파일 생성 방법을 모르는 분들을 위해, 글 맨 밑에 방법을 설명해두었다) 1) selector_radio_button.xml: 라디오버튼의 배경색, 테두리를 설정할 selector 파일 - 라디오버튼이 체크되었을 때(state_chec.. 2021. 8. 2. [안드로이드] strings.xml 텍스트 줄바꿈(개행 처리), 공백 추가 방법: TextView 안드로이드 개발 시, 뷰(TextView)에 하드코딩으로 텍스트를 적거나, setText()로 텍스트 설정 시, 혹은 strings.xml에 작성해둔 텍스트를 불러와 사용할 때, 줄바꿈(개행 처리) 및 공백(여백) 추가하는 방법을 정리한다. # 줄바꿈(개행처리) 방법 1. \n 삽입 줄바꿈전 \n 줄바꿈후 2. 따옴표(" ") 내부에서 Enter (혹은 \n) "줄바꿈전 줄바꿈후 \n 줄바꿈추가" # 공백 추가 방법 1. 추가 - 공백을 여러 개 추가하려면, 을 여러 번 써준다. (세미콜론까지 모두 적어주자.) 공백시작 공백끝 2. 따옴표(" ") 내부에서 Space (혹은 ) "공백시작 공백끝 공백추가" # 주의 사항 단, strings.xml에 적용시, 안드로이드 스튜디오 디자인 모드에서는 줄바꿈/공.. 2021. 8. 1. [안드로이드] Canvas: trying to draw too large bitmap. 런타임 에러 해결 방법 ImageView와 관련하여 아래와 같은 런타임 오류가 발생할 때가 있다. java.lang.RuntimeException: Canvas: trying to draw too large(110250000bytes) bitmap. 로그에서 설명해주듯이 발생 원인은 이미지가 너무 커서 앱이 구동된 환경의 캔버스에서 못 그리겠다는 것이다. 해결 방법은 4가지다. 1. 이미지 사이즈를 줄여서 교체한다. - 본인은 가급적 이 방법을 사용한다. - 특별한 상황이 아니라면 앱 용량도 줄어들고 효율적이기 때문에 이미지 크기를 줄이는 방법을 추천한다. 2. 고해상도 전용 drawable-xxhdpi 혹은 drawable-xxxhdpi 폴더로 이미지를 옮긴다. - 기본 drawable 폴더는 mdpi 해상도의 이미지를 보관.. 2021. 7. 31. 이전 1 ··· 12 13 14 15 16 17 18 ··· 31 다음