728x90

안드로이드 12

[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] DI(종속성 주입) Hilt 공부

DI(Dependency Injection)에 대해 공부하면서 Hilt, NetworkModule을 세팅해봤는데 그 과정에서 찾아본 참고 자료와 내가 이해한 내용을 기록해보려 한다... ✅ HiltDI란? Dependency Injection(종속성 주입)객체가 의존성을 직접 생성하지 않고, 외부로부터 받아서 사용DI를 구현하면 아래와 같은 장점이 있다.코드 재사용 가능(코드 결합도를 낮춤), 리팩토링 편의, 테스트 편의Hilt는 DI를 쉽고 효율적으로 사용할 수 있게 해주는 도구.Hilt는 애플리케이션의 다양한 수명 주기를 고려해서 의존성을 관리하기 때문에 메무리 누수 등의 문제를 방지하는 데에도 도움이 된다.Android 앱에서 Hilt를 사용하려면?Hilt 플러그인과 종속 항목을 추가@HiltAnd..

Programming/Android 2024.05.25

[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

[UMC 3rd/Android] 주요 Layout

1️⃣ LinearLayout- 화면을 가로 또는 세로 방향으로 나열할 때 사용 (Horizontal, Vertical)- 자식(view, 위젯)들은 오직 한 방향으로만 배치됨.- 서로 중첩되지 않고 지정한 방향으로 쌓임.- Layout Weight(가중치) 설정이 가능함. 전체 영역 대비 비율의 개념으로 가중치를 설정하여, Weight 값이 큰 View일수록 화면에서 더 많은 영역을 차지함. 2️⃣ RelativeLayout- 어떤 View와의 상대적인 위치를 지정- 자식들에게 상대적 배치 기준을 지정하지 않는다면 내부에 중첩되어 표시됨. 3️⃣ FrameLayout- 여러 View 위젯을 자식으로 추가하면, 겹쳐진 형태로 표시됨.- 가장 최근에 추가된 View가 가장 상위(top)에 표시됨.- 이런 ..

Programming/Android 2022.09.28

[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
728x90