[Android Studio] dependency 유형 알아보기
·
Android Studio
Dependency(종속 항목)란?안드로이드 스튜디오에서 Gradle 빌드 시스템을 사용하면 외부 바이너리나 다른 라이브러리 모듈을 빌드에 종속되는 항목으로 추가할 수 있다. dependencies 블록에서 여러 가지 종속 항목 구성을 사용해 라이브러리 또는 플러그인을 종속 항목으로 선언해 사용하게 되는데 이때 사용하는 구성의 이름을 통해 어떤 범위에서 어떤 시기에 사용되는지 유추할 수 있다. 오늘은 각 구성의 특성에 대해서 알아본다. implementation가장 일반적으로 사용되는 유형으로, 현재 모듈 내에서만 사용되며 외부 모듈로 노출되지 않는다. 따라서 api와는 달리 빌드 시스템에서 다시 컴파일해야 하는 모듈 수가 줄어들어 빌드 속도가 크게 개선될 수 있다. 따라서 대부분의 앱과 테스트 모듈은 ..
[Kotlin] Long to LocalDateTime, LocalDateTime to Long 변환하기
·
Kotlin
코틀린에서는 확장 함수를 직접 생성하여 별도의 함수를 호출하며 값을 입력해 줄 필요 없이 값에 바로 확장함수를 사용할 수 있다. 코틀린에서 자주 사용하게 되는 자바의 시간 클래스 중 LocalDateTime은 DatePicker 같은 컴포넌트에서 사용하려면 Long타입의 유닉스 시간으로 값을 변환해 입력해주어야 한다. Long to LocalDateTime// Long -> LocalDateTimefun Long.toLocalDateTime(): LocalDateTime { return LocalDateTime.ofInstant(Instant.ofEpochMilli(this), ZoneId.systemDefault())}Long타입의 유닉스 시간은 1970년 1월 1일로부터 경과 밀리초을 나타내며 ..
[Kotlin] takeIf 사용하기
·
Kotlin
Kotlin에서 제공하는 다양한 표준 라이브러리 함수들은 보다 간결하고 안전한 코드를 작성하는데 도움이 된다.  그 중에서 takeIf 함수는 조건에 따라 값의 반환 여부를 결정하는 함수로 가독성 증가와 유지 관리를 향상시킬 수 있다. 이 글에서는 takeIf 함수의 기본 사용법과 여러 가지 예제를 통해 이해하기 쉽게 설명해보고자 한다. takeIf란?https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/take-if.html takeIf - Kotlin Programming Language kotlinlang.org공식 Kotlin 사이트의 간단한 설명을 참고해보자면Returns this value if it satisfies the given predicate ..
[Jetpack Compose] Text Width(텍스트 너비) 측정하기
·
Jetpack Compose
Compose의 TextField(BasicTextField)에는 기본 너비가 설정되어있다. 따라서 너비 설정 없이 사용할 때는 어느 정도 알아서 공간을 차지하지만 원하는 너비로 조절하기 위해서는 Modifier.width 속성을 사용해 너비를 직접 설정해 주어야 한다. 이 때 Text의 너비에 맞게 자동으로 너비를 조절되도록 설정하는 방법을 설명한다. rememberTextMeasurer()@Composablefun rememberTextMeasurer( cacheSize: Int = DefaultCacheSize): TextMeasurer { val fontFamilyResolver = LocalFontFamilyResolver.current val density = LocalDens..
[Android Studio] 안드로이드 스튜디오 한글화(한국어 언어 팩) 방법
·
Android Studio
** 2024년 3월 버전(243)부터 한국어 언어 팩이 IntelliJ에 번들화됨에 따라 별도 파일이 제공되지 않아 안드로이드 스튜디오에서 사용할 수 없음(이전 버전을 사용할 경우 IDE 버전과 맞지 않다고 뜸) ** 1. 아래 링크로 접속한다.https://plugins.jetbrains.com/plugin/13711-korean-language-pack------  Korean Language Pack / 한국어 언어 팩 - IntelliJ IDEs Plugin | MarketplaceThe Korean Language Pack localizes the UI of IntelliJ-based IDEs into Korean.Your feedback is very much appreciated. You ..
[Jetpack Compose] Drag and Drop(드래그해서 재정렬) 기능 만들기
·
Jetpack Compose
※ 업데이트된 버전을 사용하는 것을 추천합니다.2025.04.18 - [Jetpack Compose] - [Jetpack Compose] Reorderable List 만들기 [Jetpack Compose] Reorderable List 만들기아래 글의 업데이트 버전이다.2024.04.29 - [Jetpack Compose] - [Jetpack Compose] Drag and Drop(드래그해서 재정렬) 기능 만들기 [Jetpack Compose] Drag and Drop(드래그해서 재정렬) 기능 만들기Drag and Drop 시작하며최초developuzzle.tistory.com Drag and Drop 시작하며최초 목표는 버튼을 잡고 바로 위아래로 슬라이드 하면 드래그되면서 순서가 변경되게 하려 했..
[Jetpack Compose] Text Default FontFamily(기본 폰트) 설정하기
·
Jetpack Compose
FontFamily커스텀 폰트를 사용하려면 FontFamily를 만들어 Text를 사용할 때마다 fontFamily 속성을 설정해 주어야 하는 번거로움이 있다. 이를 해결하기 위해 CompositionLocalProvider를 사용해 Default FontFamily를 설정하여 Text 사용 시 별도로 fontFamily를 설정하지 않아도 되는 방법을 소개한다. CompositionLocalProvider@Composable@OptIn(InternalComposeApi::class)fun CompositionLocalProvider(value: ProvidedValue, content: @Composable () -> Unit) { currentComposer.startProvider(value) ..
[Jetpack Compose] Jetpack Compose 사용하기
·
Jetpack Compose
Jetpack Compose에 대한 설명은 생략하고 초기 설정 방법만 소개할 예정이며 아래 공식 문서를 참고하였다.https://developer.android.com/develop/ui/compose/setup?hl=ko 빠른 시작  |  Jetpack Compose  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 빠른 시작 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Compose로 최적의 환경에서 개발하려면 Androiddeveloper.android.com 1. 안드로이드 스튜디오를 실행한다.  - 한글화 방법은 아래 게시물을 참고하면 된다.2024.04.29 - [Android Studio] - ..