본문 바로가기
728x90

Android43

[안드로이드] 프로젝트 패키지명 변경 안드로이드 스튜디오에서 프로젝트를 작업하던 중에 패키지명을 변경해야 할 때가 있습니다. 저는 이번에 플레이스토어에 앱을 심사 요청을 하려는데 패키지명에 .example이 포함되면 안 되기 때문에 수정해야 했습니다. 예전에 패키지명을 변경하던 중 프로젝트 파일 일부에서 패키지명과 경로가 꼬이게 되어 크게 고생한 경험이 있어 포스팅에 정리해두려 합니다. Project 우측상단 톱니바퀴 아이콘을 클릭해 'Compact Middle Packages'을 해제합니다. (초기에는 대부분 체크되어 있을 것입니다. com.example.sejonggoodsmallproject가 com, example, sejonggoodsmallproject로 분리된 걸 확인할 수 있습니다. 저는 exmaple 패키지명을 변경하기 위해.. 2023. 3. 16.
[안드로이드] Glide로 이미지 load시 이미지가 흐려지는 경우 해결방법 문제상황 쇼핑몰에서 많이 볼 수 있는 형태인 상품 상세정보를 담은 긴 이미지를 Glide로 load하던 중 위 사진처럼 이미지가 흐릿(?)해지는 문제가 발생했습니다. Glide.with(requireActivity()).load(img).into(binding.iv_product) 기존에 제가 작성한 코드입니다. Glide는 과하게 긴 이미지를 로드하는 경우 자동으로 리사이징하여 로드되기 때문에 화질이 저하되는 것으로 추측합니다. 해결방법 해결방법은 Glide에서 제공하는 override 키워드입니다. load하는 시점에 원본 이미지 사이즈를 변경하지 않도록 override(Target.SIZE_ORIGINAL) 속성을 명시해 주겠습니다. Glide.with(requireActivity()).load(i.. 2023. 3. 13.
[안드로이드] 안드로이드 스튜디오 유용한 기능 - 기능별 단축키 지정하기 안드로이드 스튜디오를 사용해 개발을 하다 보면 자주 사용하는 기능들이 있습니다. 저 같은 경우에는 Logcat과 Emulator 항목을 자주 열었다 닫았다 하는데 단축키를 지정할 수 있다면 편리할 것 같아 찾아보게 되었습니다. 1. 먼저 Ctrl + Alt + S를 눌러 Settings → Keymap → Tool Windows로 이동합니다. 2. 단축키를 지정할 항목을 우클릭하고, "Add Keyboard Shortcut"을 클릭합니다. 3. 단축키로 지정하고 싶은 키를 누르고 "OK"를 선택하고 저장하면 단축키가 지정됩니다. 별거 아닌 것 같지만 생각보다 개발 과정에서 편리한 것 같습니닷. 2023. 3. 4.
[안드로이드] Retrofit 사용시 HTTP통신 Error 확인방법 안드로이드에서는 서버와 편리한 API 통신을 위해 Retrofit을 제공합니다. Retrofit을 이용해 서버로 데이터를 요청하고 응답을 받는 과정에서 다양한 HTTP Error나 Exception이 발생할 수 있습니다. 직접 어느 부분에서 문제가 있는지 찾으려면 까다롭기 때문에 통신 과정의 정보를 얻어야 하는데 이때 사용하는 것이 HttpLoggingInterceptor입니다. HttpLoggingInterceptor을 사용하면 요청 시점부터 응답까지 많은 통신 정보를 로그를 통해 기록할 수 있어 어디서 어떤 오류가 발생하는지 쉽게 확인이 가능합니다. 사용법 build.gradle dependencies { ... implementation 'com.squareup.okhttp3:okhttp:4.10... 2023. 3. 1.
[안드로이드] 코틀린에서 object의 정의와 사용 이번 포스팅에서는 Kotlin에서 object 키워드가 무엇을 의미하고 class와 object는 어떤 차이가 있는지에 대해 알아보겠습니다. object 키워드의 의미와 사용 코틀린에서 object 키워드는 클래스를 정의하는 동시에 객체를 생성하는 것이라고 볼 수 있습니다. Kotlin에는 Java에서 쓰이는 static 키워드가 존재하지 않기 때문에 object를 사용해 static의 개념을 표현합니다. object 키워드는 주로 다음과 같은 경우에 사용됩니다. 1. 싱글톤(Singleton) 클래스 정의 2. 동반객체(companion object) 생성 3. 익명 클래스 생성 1. 싱글톤(Singleton) 클래스 정의 싱글톤(Singleton)은 프로젝트에서 어떤 객체를 매번 생성하지 않고 하나의.. 2023. 2. 27.
[안드로이드] "token null is not valid; is your activity running?" 오류 해결방법 Dialog를 커스텀하여 사용하던 중 "token null is not valid; is your activity running?" 라는 오류 메시지가 발생했습니다. 직역하면 "토큰이 유효하지 않다, 액티비티가 실행중이니?" 라는 문구같아 해결방법을 찾아보았습니다. 원인 & 해결방법 저의 경우 다이어로그 생성 시 Context를 전달하도록 구현했습니다. 이 과정에서 액티비티에서 Context로 "applicationContext"를 전달하는데 applicationContext를 전달하는 부분이 문제였습니다. applicationContext를 전달하면 다이어로그를 어느 액티비티에 띄워야 할지 정확하게 찾지 못하는 것 같습니다. 해결방법은 Context를 this 혹은 해당 액티비티.this로 수정합니다... 2023. 2. 15.
728x90
반응형