728x90

Android 11

[Android/Kotlin] Image URL을 Bitmap으로 변환해서 보여주는 방법

라이브러리를 사용하지 않고 API에서 URL로 받은 이미지를 화면에 보여주려고 시도하다가 결국 라이브러리를 사용하게 된 사건을 기록하려고 한다,,, 처음에는 라이브러리를 사용하지 않기 위해 BitmapFactory로 이미지를 로드하는 코드를 구현했다. [ util module > ImageLoader ]import android.graphics.Bitmapimport android.graphics.BitmapFactoryobject ImageLoader { fun byteArrayToBitmap(byteArray: ByteArray): Bitmap { return BitmapFactory.decodeByteArray(byteArray, 0, byteArray.size) }} [ d..

Programming/Android 2024.06.28

[Android] minifyEnabled란?

android { ... buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } ... } ✅ 위 코드에서 minifyEnabled는 뭘까?minifyEnabled는 코드의 난독화(최적화)를 설정하는 데에 사용된다.프로젝트를 생성하면 기본적으로 위 코드처럼 false 상태로, 난독화가 비활성화 되어있다.proguardFiles에서 proguard-rules.pro 파일은 난독화 과정에서 제..

Programming/Android 2024.06.08

[Android] gradle > buildType에서 release와 debug 버전을 분리하는 경우

android { ... buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } ...} 보통 안드로이드 프로젝트를 생성해서 개발하면 build.gradle (:app) 파일에 위처럼 release 버전만 있게 된다. 그런데 운영앱과 개발앱이 따로 필요한 경우가 있기 때문에 debug 버전을 따로 두는 경우가 있다고 한다.✅ release와 debug 버전 분리하는 이유운영앱과 개발앱을 분리해서 사용해야 할 경우 ..

Programming/Android 2024.06.07

[Android] Toast 나타나는 위치 변경 / setGravity() / API30 이상

Android 개발을 할 때 Toast 위치는 보통 하단 가운데에 나타나게 된다. 이를 setGravity() 메서드를 이용해서 위치를 변경하는 방법이 있다는 사실을 알게 되었는데, 관련해서 정리해보려고 한다! API 29 이하일 때와 30 이상일 때 적용 가능한 방법을 각각 기록해두었다. 💡 Toast setGravity() - API 29 이하// Kotlin 코드Toast.setGravity(int gravity, int xOffset, int yOffset) 위와 같은 방식으로 위치를 지정할 수 있다. gravity는 화면의 상단, 중앙, 하단 등을 지정하고, xOffset, yOffset으로 떨어진 거리를 나타내준다. // Kotlin 코드binding.buttonToast.setOnClick..

Programming/Android 2024.05.09

[안드로이드 스튜디오] sdk 33에서는 xml 파일 자동 완성 안 됨

⚠ issue 정리 sdk 33에서는 레이아웃 자동 완성 안 됨 Android Studio SDK 33 업데이트 이후 xml 속성 자동 완성 기능이 작동하지 않는 경우 sdk 32를 사용하면 androidx.appcompat:appcompat 의존성 문제 발생 androidx.appcompat:appcompat 버전 변경 1.6.1 -> 1.5.1 결론 androidx.appcompat:appcompat 1.6.1은 sdk 33에서만 지원. 그러나 sdk 33 사용 시 xml 자동 완성 불가 sdk 32 사용을 위해 androidx.appcompat:appcompat 1.5.1로 버전 낮춤 +) 내가 작성한 issue layout xml 파일 자동완성이 안 되는 문제 · Issue #5 · jung011..

Programming/Android 2023.03.10

[UMC 3rd/Android] 대표적인 View들의 역할 및 속성

[ ✨View ] 1. TextView- 텍스트를 표시한다. ▶ 속성- text: 내용- textStyle: 문자열의 스타일 (예: normal, bold, italic)- typeFace: 문자열의 폰트 (예: normal, sans, serif)- textColor: 문자열의 색상- textSize: 문자열의 크기 (단위: dp, sp, px)- maxLines: 문자열의 최대 줄 수. 넘어가는 부분은 표시되지 않음.- ellipsize: maxLines와 같이 사용함. 문장이 잘리면 ...를 붙여줌. end는 뒤, start는 앞, middle은 중간.- autoLink: text 속성에 적힌 문자열에 autoLink에 넣어준 종류(예: web, email, phone)의 링크가 존재한다면, 하이퍼..

Programming/Android 2022.09.28

[UMC 3rd/Android] Intent : Component 사이의 통신

[ 📌Intent가 Component 사이의 통신을 촉진하는 기본적인 사용 사례 ] 1️⃣ 액티비티 시작- Activity는 앱 안의 단일 화면을 나타냄.- Activity의 새 인스턴스를 시작하려면 Intent를 startActivity()로 전달- Intent는 시작할 Activity를 설명하고 모든 필수 데이터를 담음.- Activity가 완료되었을 때 결과를 수신하려면, startActivityForResult()를 호출- Activity는 해당 결과를 이 Activity의 onActivityResult() 콜백에서 별도의 Intent 객체로 수신 2️⃣ 서비스 시작- Service는 사용자 인터페이스 없이 백그라운드에서 작업을 수행하는 구성 요소- Android 5.0(API 레벨 21) 이상..

Programming/Android 2022.09.27

[UMC 3rd/Android] 앱 구성 요소(Component)

앱 구성 요소(Component)는 Android 앱의 필수적인 기본 구성 요소이다. 각 Component는 시스템이나 사용자가 앱에 들어올 수 있는 진입점이며, 다른 Component에 종속되는 Component도 있다. Component는 Activity, Service, Broadcast Receiver, Content Provider 이렇게 4가지 유형이 있다. 각 유형은 뚜렷한 목적을 수행하고, 각자의 수명 주기가 있어 Component의 생성 및 소멸 방식을 정의한다. 각 Component는 독립적인 형태로 존재하고, 고유한 기능을 수행하며 Intent를 통해 상호작용한다. ✅ Activity- 사용자와 상호작용하기 위한 진입점- 사용자 인터페이스를 포함한 화면 하나를 나타냄- 예를 들어, 이..

Programming/Android 2022.09.27

[UMC 3rd/Android] Manifest 주요 속성

Android Studio의 모든 프로젝트에는 AndroidManifest.xml 파일이 있다. Manifest 파일은 Android Build 도구, Android 운영체제 및 Google Play에 앱에 대한 필수적인 정보를 설명하는 데에 사용된다. 앱의 패키지 이름, 앱의 구성 요소, 시스템 또는 다른 앱의 보호된 부분에 액세스하기 위한 권한, 하드웨어 및 소프트웨어 기능 등의 내용이 선안되어 있다. [ 🔥 Manifest 주요 속성 🔥 ] 1️⃣ manifest- AndroidManifest.xml 파일의 루트 요소- 요소를 포함해야 함- xmlns:android 및 package 속성을 지정함 . . .▶ xmlns:android- Android 네임스페이스를 정의함- 이 속성은 항상..

Programming/Android 2022.09.27
728x90