안드로이드 (14) 썸네일형 리스트형 [안드로이드] Kotlin을 활용한 Clean Architecture(+ Hilt 활용한 간단한 예제) Clean Architecture 란? Clean Architecture는 소프트웨어 설계 원칙을 기반으로 한 아키텍쳐 스타일입니다.로버트 C.마틴이 제안한 것으로, 코드의 각 계층을 분리하여 특정 계층이 다른 계층에 영향을 미치지 않도록 하는 것이 목표입니다.이를 통해, 코드의 유지보수성과 확장성을 높이고 의존성을 최소화하여 안정적인 애플리케이션 개발을 가능하게 합니다. 핵심 개념은 의존성 규칙(Dependency Rule)입니다. 이 규칙에 따르면, 의존성은 반드시 바깥쪽 계층에서 안쪽 계층으로 향해야 합니다.이를 통해 비즈니스 로직이나 애플리케이션의 핵심 기능이 외부의 UI, DB, 프레임워크 등과 분리되어 독립적으로 존재할 수 있습니다. Android 개발에서 Clean A.. [안드로이드] Kotlin과 JVM(Java Virtual Machine) Kotlin 소개 Kotlin은 JetBrains에서 개발한 언어로, 주로 JVM(Java Virtual Machine)에서 실행됩니다.Kotlin은 Java와 100% 상호 운용성을 갖고 있어, 혼합하여 사용할 수 있습니다. JVM이란 ? JVM(Java Virtual Machine)은 Java 바이트 코드를 실행하기 위한 가상 머신입니다.실제 하드웨어와 운영체제에 의존하지 않고, 한 번 작성된 코드가 다양한 플랫폼에서 실행될 수 있도록 합니다.JVM은 Java 뿐만 아니라 Kotlin, Groovy 등 여러 언어의 실행 환경을 제공합니다. JVM 구조 1. Class Loader- JVM이 실행할 클래스 파일을 찾고, 런타임 데이터 영역에 배치하는 역할입니다.- Boo.. [안드로이드] Coroutine은 무엇일까? Coroutine Coroutine이란 무엇인가요 ? -> Coroutine은 비동기 프로그래밍을 간편하게 처리할 수 있도록 도와주는 동시 실행 패턴입니다. Coroutine의 특징 -> 경량성, 비동기 작업의 직관적인 표현, Coroutine Scope, 일시 중지와 같은 특징이 있습니다. 그렇다면, 왜 Coroutine을 사용하나요 ? 1. Coroutine이 비동기 프로그래밍으로, 여러 작업을 처리할 수 있게 도와주기 때문입니다 ! 서버와 데이터 통신을 하거나, 파일을 읽거나 쓸 때 앱이 멈추면 사용자가 앱을 사용하는데 불편함을 겪습니다.비동기 프로그래밍이 이러한 작업들을 백그라운드에서 실행되도록 해주기 때문에 앱을 더 원활하게 사용할 수 있게 .. [안드로이드] SharedPreferences 사용법 및 저장 Android 앱을 만들다 보면 간단한 데이터를 저장하고 읽어오는 SharedPreferences를 많이 사용합니다. SharedPreferences란 무엇일까요? -> 간단한 키-값 쌍 형태로 데이터를 저장하고 읽는 데 사용되는 Android의 내장 API입니다.내부적으로 XML 파일 형식으로 데이터를 저장하고, data/패키지명 폴더에서 'shared_prefs' 이름으로 저장됩니다. 사용하는 방법 - 전역적으로 사용하기 위해 Application 내에서 초기화하는 방법으로 예제를 짜보겠습니다. SharedPreferenceUtil.ktobject SharedPreferenceUtil { private const val PREFS_NAME = "com.exam.. [안드로이드] Android에서 Thread는 ?? Thread는 무엇일까? Thread는 프로세스 내에서 실행되는 하나의 작업 단위입니다. Thread의 특징 - 공유 메모리 : 같은 프로세스 내에서 실행되는 여러 스레드는 각 스레드마다 독립적인 스택을 갖고있어 스레드 간에 데이터를 쉽게 주고 받을 수 있지만, 동시에 접근할 때는 동기화가 필요합니다.- 독립적 실행 : 각 스레드는 독립적으로 실행되며, 자신의 실행 흐름을 갖고 있습니다. - 경량 프로세스 : 스레드는 일반적인 프로세스보다 더 가벼운 단위입니다. 새로운 프로세스를 생성하는 것보다 자원이 적게 듭니다. 그렇다면, Android에서의 Thread는 ? 크게 Main(UI) Thread와 Background Thread로 나눌 수 있습니다. M.. [안드로이드] Intent와 Bundle은 무엇일까? Activity에서 데이터를 주고 받다보면 Intent를 흔히 볼 수 있습니다. Intent란 무엇일까요? Intent는 Android에서 컴포넌트 간의 작업이나 데이터를 주고 받을 때 사용되는 메시징 객체입니다.Android 앱 내에서 다양한 작업을 수행할 때 Intent가 중요한 역할을 합니다. Intent의 역할 1. Activity간 전환 import android.content.Intentimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceSt.. [안드로이드] Activity와 Fragment (+ Kotlin Fragment 생명주기 예제코드) Android에는 Activity와 Fragment가 있습니다. Activity는 Android 4대 컴포넌트 중 하나이고, Fragment는 Activity내에서 작동하는 서브 컴포넌트입니다. 위의 화면을 보시면 Activity내에 Fragment 화면을 통해 UI를 구성한 것을 보실 수 있습니다. Activity와 Fragment의 차이점입니다. ActivityFragment독립성Android 앱의 기본 단위, 앱의 독립적인 화면을 담당Activity 내에서 작동하는 작은 모듈, 혼자서 존재할 수 없음UI 관리화면 전체를 관리Activity의 UI를 분할하는 데 사용수명주기onCreate(), onStart(), onResume(), onPause(), onStop().. [안드로이드] Android 4대 컴포넌트 (+ Kotlin Activity 생명주기 예제코드) 안드로이드는 4대 컴포넌트가 있습니다. 각 구성요소는 시스템이나 사용자가 앱에 진입할 수 있는 진입점입니다. Activities, Services, Broadcase Recievers, Content Prviders 로 구성되어 있습니다. 각 유형마다 용도가 정해져있고, 각 구성요소는 생성 및 소멸 방식을 정의하는 고유한 수명 주기가 있습니다. 1. Activities - 안드로이드의 메이져 컴포넌트로, 사용자와 상호작용하기 위한 진입점입니다.- 사용자 인터페이스(UI)를 제공하는 컴포넌트입니다.- 예 ) 로그인 화면, 설정 화면, 홈 화면 등 ... - AndroidManifest.xml 에서 보면 에 있는 Activities를 볼 수 있습니다. 를 통해 앱이 수신할 수 있는 암시.. 이전 1 2 다음