전체 글25 [Tistory] Book Club 스킨 리스트 중첩 시 글자 겹침 문제 중첩 리스트 사용 시 글자 겹침 문제 해결하기 안녕하세요. 오늘은 중첩된 리스트를 사용할 때 발생하는 기호와 글자 겹침 문제를 해결하는 방법을 공유하려고 해요.문제 상황리스트가 이상하다? 하.. 글을 작성한 후 비공개 상태에서 미리 보기를 확인하던 중, 이상한 부분을 발견했어요.특히, `` 리스트 안에 `` 리스트를 중첩해서 사용할 때 기호와 글자가 겹치는 현상이 나타났죠. 만 사용한 경우에는 문제가 없었어요.하지만 안에 을 중첩한 경우 문제가 발생했어요. 여러 번 수정해 보고 검색도 해봤지만 관련 내용을 찾을 수 없었어요.마지막으로 다른 스킨을 적용해 보니 문제가 없다는 점에서, 현재 사용하는 Book Club 스킨의 CSS에 문제가 있다고 결론 내렸어요.문제 해결 과정1. 개발자 도구 이용하기우선.. 2024. 11. 18. [Android] NavController와 NavHost: Jetpack Compose의 화면 전환 핵심 요소 오늘은 Android 개발에서 화면 간 이동을 더욱 쉽게 만들어주는 NavController와 NavHost에 대해 알아볼게요!Jetpack Compose에서는 기존 Android 방식보다 간결하고 유연한 화면 전환을 구현할 수 있는 도구를 제공합니다.이 글에서는 NavController와 NavHost의 역할, 동작 방식, 기존 방식과의 차이점을 자세히 설명해 드릴게요. 1. NavController란?NavController는 Jetpack Compose에서 화면 전환의 중심 역할을 담당하는 객체예요.앱에서 여러 화면을 넘나들 때, NavController는 이동을 처리하고 뒤로 가기 같은 기능도 관리해 줘요.화면 전환뿐만 아니라, 뒤로 가기 스택 관리 등 복잡한 로직도 자동으로 처리해 줘요.쉽게 말.. 2024. 11. 18. [Kotlin] StateFlow: Android 상태 관리를 위한 필수 도구 오늘은 Kotlin의 `kotlinx.coroutines.flow`에서 제공하는 강력한 상태 관리 도구인 StateFlow에 대해 알아보려고 해요. 이 글을 통해 `StateFlow`의 개념부터 실제 활용 사례까지 자세히 살펴볼게요.1. StateFlow란 무엇인가요?`StateFlow`는 `kotlinx.coroutines.flow`에서 제공하는 특별한 종류의 `Flow`로, 상태 관리에 최적화된 Hot Stream이에요. 항상 현재 상태를 보유하며, 상태가 변경될 때 구독자들에게 이를 알리는 데 사용돼요.특히 Jetpack Compose와 같이 상태 기반의 UI 프레임워크에서 유용하게 활용할 수 있어요. 뷰모델에서 상태를 관리하고, UI는 이를 구독해서 자동으로 상태를 반영하도록 설계할 때 적합해요... 2024. 11. 15. [Android] 앱 아키텍처 가이드 오늘은 Android 개발을 위한 아키텍처 가이드라인을 소개해드리려고 해요. Android 앱을 개발할 때 좋은 구조를 가지는 것은 유지보수와 확장성 측면에서 매우 중요해요. 이 글에서는 Google이 추천하는 아키텍처 패턴과 그 구성 요소들을 쉽게 설명해볼게요~1. Android 앱 아키텍처란?앱 아키텍처는 앱의 구성요소들 간의 관계와 기능을 정의해요. 예를 들어, 데이터를 어디에 저장하고, 화면에 어떻게 보여줄지를 정리하는 거죠. 좋은 아키텍처는 앱이 커져도 유지보수가 쉽고, 견고하게 동작하도록 도와줘요. 크게 UI 레이어, 도메인 레이어와 데이터 레이어로 나누어 생각해볼 수 있어요.1. 관심사 분리가장 중요한 원칙 중 하나는 관심사 분리예요. `Activity`나 `Fragment` 같은 UI 클래.. 2024. 11. 12. [Android]안드로이드 스튜디오 로그(Log) 가이드 오늘은 안드로이드 스튜디오에서 사용되는 로그에 대해서 알아보려고 해요. 로그(Log)는 개발자가 애플리케이션을 디버깅하거나 상태를 확인하는 데 매우 유용한 도구예요. 안드로이드 개발을 하다 보면 로그를 자주 사용하게 되는데요, 그 이유와 사용 방법에 대해 함께 알아볼게요.1. 로그의 중요성안드로이드 애플리케이션을 개발하면서 코드를 실행해도 예상대로 동작하지 않거나, 특정 상황에서 오류가 발생할 때가 있어요. 이럴 때 로그를 활용하면 애플리케이션 내부에서 무슨 일이 일어나는지 쉽게 파악할 수 있어요. 로그는 개발자에게 애플리케이션의 상태를 텍스트로 보여주기 때문에, 문제를 찾고 해결하는 데 큰 도움이 돼요.2. 로그 레벨`Log` 클래스는 다섯 가지 주요 로그 레벨을 제공해요. 각 로그 레벨은 용도와 중요.. 2024. 11. 10. [Android] Android 자동 테스트 작성 및 유형 자동 테스트는 앱의 기능을 검증하고 코드 변경 후에도 안정적으로 동작하는지 확인하는 중요한 과정이에요. Android에서는 로컬 테스트와 계측 테스트라는 두 가지 주요 테스트 유형을 사용할 수 있습니다. 이 두 가지 테스트의 차이점과 작성 방법을 아래에서 설명해볼게요.1. 자동 테스트 유형로컬 테스트로컬 테스트는 개발자의 컴퓨터(워크스테이션)에서 실행되며, 소규모 코드의 정확성을 검증하는 데 사용돼요. 함수, 클래스, 속성 등의 작은 단위에서 발생할 수 있는 버그를 빠르게 확인할 수 있습니다.특징함수, 클래스, 속성 등 소규모 코드 단위 테스트Android 스튜디오에서 로컬 테스트를 자동으로 실행 가능빠른 피드백과 간편한 실행 환경 제공계측 테스트계측 테스트는 UI 상호작용을 포함한 앱의 실제 환경에서의.. 2024. 9. 6. [Android] Stateful, Stateless 컴포저블 차이와 상태 호이스팅 Jetpack Compose에서 UI를 구성할 때, 컴포저블 함수는 크게 두 가지 유형으로 나눌 수 있어요: Stateful 컴포저블과 Stateless 컴포저블이에요. 이 두 가지 유형은 상태를 어떻게 관리하고, 어디에 위치시킬지에 따라 구분됩니다. 또한, 상태 호이스팅은 이 두 유형의 컴포저블 간의 상호작용을 효율적으로 관리하기 위한 중요한 개념이에요.1. Stateful 컴포저블이란?Stateful 컴포저블은 내부에 상태를 가지고 있으며, 이 상태는 시간이 지나면서 변할 수 있어요. 이 컴포저블은 자체적으로 상태를 관리하고, 상태의 변화에 따라 UI를 업데이트합니다. Stateful 컴포저블은 주로 간단한 상태 관리가 필요한 UI 요소에서 사용돼요.예시@Composablefun StatefulCou.. 2024. 9. 4. [Android] Modifier 전달과 생성의 차이 Jetpack Compose에서 UI 요소의 스타일과 배치를 결정하는 데 중요한 역할을 하는 `Modifier`는 다양한 방법으로 활용될 수 있어요. 특히, `Modifier`를 외부로부터 전달받아 사용하는 경우와 내부에서 새로 생성해 사용하는 경우에는 각각의 목적과 특징이 달라요. 이번 글에서는 이 두 가지 방법의 차이점을 자세히 알아볼게요. 1. 외부로부터 전달받은 Modifier 사용 외부에서 전달받은 `Modifier`를 사용하는 것은 `Composable` 함수의 유연성을 높이기 위한 방법이에요. 이 방법을 사용하면, `Composable`을 호출하는 쪽에서 해당 UI 요소의 레이아웃과 스타일을 자유롭게 설정할 수 있어요.예시@Composablefun GreetingText(modifier:.. 2024. 9. 4. [Kotlin] 언더스코어(_)를 변수 이름에 붙이는 이유 프로그래밍을 하다 보면 변수 이름 앞에 언더스코어(_)가 붙어 있는 걸 볼 수 있을 거예요. 이게 왜 필요한지 궁금할 수 있는데, 사실 이 언더스코어는 코드의 가독성을 높이고 관리하기 쉽게 만드는 데 도움을 줘요.1. 가시성 관리 프로그래밍에서 가시성은 어떤 코드가 어디에서 보이고 접근할 수 있는지를 뜻해요. 때로는 특정 변수들이 클래스나 함수 내부에서만 보이고, 외부에서는 접근하지 못하게 해야 할 때가 있어요. 이럴 때 언더스코어를 붙이면, "이 변수는 내부에서만 쓰이고, 외부에서는 보이지 않도록 하자"라는 신호를 주는 거예요. 2. 내부 상태 변수 표시프로그램에는 내부적으로 처리되는 데이터와, 외부에 보여주는 데이터가 있어요. 예를 들어, 앱에서 할 일 목록을 관리한다고 해봅시다. 이 목록을 내부적으.. 2024. 9. 3. 이전 1 2 3 다음