안드로이드
-
(1분 읽기) 안드로이드에서 도메인 모델과 데이터베이스 Entity 🤔Android 개발/개념 & 기초 2025. 2. 18. 07:54
개발하다 보면 "이건 Entity야? 도메인 모델이야?" 헷갈릴 때가 많아!특히 MVVM + Clean Architecture를 적용할 때 데이터 계층과 비즈니스 로직을 어떻게 분리할지 고민되기도 하고.오늘은 도메인 모델과 Entity의 차이점, 그리고 어떤 폴더 구조가 좋은지 쉽게 정리해볼게! 🚀✅ 도메인 모델 vs 데이터베이스(Entity), 뭐가 다를까?항목도메인 모델 (Domain Model)데이터베이스 엔터티 (Entity)목적비즈니스 로직을 표현하는 객체데이터베이스 저장을 위한 객체역할애플리케이션의 핵심 데이터를 관리하고 가공데이터베이스의 테이블과 1:1 매핑구조UI 및 비즈니스 로직에 맞춘 클래스Room, Realm 등 DB 라이브러리와 함께 사용예제User(name: String, age..
-
(1분 읽기) 폰트 다운로드 & 프로젝트에 추가하기 🎨Android 개발/XML & UI 2025. 2. 17. 18:02
🎨 1. 폰트 다운로드 & 프로젝트에 추가하기1️⃣ 아래 링크에서 원하는 폰트를 찾아서 "다운로드" 버튼을 눌러 .ttf 파일을 저장https://noonnu.cc/ 눈누프리텐다드 - 길형진 (orioncactus)noonnu.cc2️⃣ 안드로이드 프로젝트에서 res 폴더 안에 font 폴더 생성 (res/font/ 경로)3️⃣ 다운로드한 .ttf 파일을 res/font/ 폴더에 추가📌 파일명 예시: res/font/my_custom_font.ttf📝 2. XML에서 폰트 적용하기👉 TextView에 직접 폰트를 적용하려면 XML에서 설정 가능!✅ 폰트 적용 완료! 🚀🔧 3. 코드에서 폰트 적용하기 (Kotlin)👉 Activity, Fragment, RecyclerView 등에서 직접 설정..
-
(1분 읽기) LocalDate와 @RequiresApi 완벽 이해하기 📆Android 개발/개념 & 기초 2025. 1. 17. 01:33
📌 LocalDate란?Java 8에서 도입된 날짜 전용 API야.이전에는 Date나 Calendar 클래스를 사용했는데, 너무 복잡하고 실수하기 쉬웠어.그래서 등장한 게 LocalDate!LocalDate는 년, 월, 일만 다뤄서 시간은 필요 없을 때 사용해.시간까지 필요하면 LocalDateTime을 써야 해!import java.time.LocalDatefun getToday(): LocalDate = LocalDate.now()✅ LocalDate 장점불변 객체: 값이 바뀌지 않아서 멀티스레드 환경에서도 안전해.예를 들어, today.plusDays(1)은 원본(today)을 바꾸지 않고 새로운 LocalDate 객체를 반환해!직관적인 사용: 날짜 계산과 포맷팅이 간편해.val today = L..
-
(1분 읽기) 리스트뷰(ListView) vs 리사이클러뷰(RecyclerView) 완벽 비교 🤔Android 개발/XML & UI 2025. 1. 16. 19:00
안녕! 👋 오늘은 Android 개발에서 리스트를 구현할 때 가장 많이 사용하는 ListView와 RecyclerView의 차이를 알아볼게!면접에서 자주 나오는 질문이니 확실하게 장단점을 기억해두자! 🚀🌀 ListView: 과거의 유산, 간단하지만 한계가 뚜렷출시 시기: 오래된 위젯이라 기본 기능만 제공해. 📜구조: 뷰 재활용은 되지만 커스터마이징이 어려워. 😕한계점: 다양한 레이아웃이나 애니메이션을 적용하기 힘들고, 성능도 제한적이야. 🚧적합한 경우:데이터가 고정되어 있고, 단순한 리스트만 보여줄 때.예: 연락처 목록, 설정 화면✅ ListView 장점구현이 간단하고 빠르게 리스트를 만들 수 있어.정적 데이터나 간단한 리스트에는 여전히 유용해.❌ ListView 단점뷰 홀더 패턴을 강제하지 ..
-
(1분 읽기) 안드로이드 XML 오류 해결: Failed to resolve attribute 😱📱Android 개발/오류 해결 2025. 1. 15. 14:29
안드로이드 앱 개발 중 Failed to resolve attribute 오류가 발생했다고?android.view.InflateException: Binary XML file: Error inflating class ImageButton이라는 메시지와 함께 빌드가 실패했다면, 아래 해결 방법으로 문제를 쉽게 해결할 수 있어! 🚀⚠️ 문제 원인테마와 속성 충돌?attr/selectableItemBackground 속성이 테마에 정의되지 않아서 발생.잘못된 리소스 참조android:background에 잘못된 리소스를 참조할 때.위젯과 테마 간 호환성 문제AppCompat 위젯과 Material3 테마 간 충돌.android.view.InflateException: Binary XML file: Error..