분류 전체보기 (119) 썸네일형 리스트형 [안드로이드 스튜디오 코틀린]로그인 후 BottomBar가 있는 홈화면 진입하는 간단 예제 (with Compose) 이번에 만들어 볼 예제는 로그인 화면 -> 바텀바가 있는 홈화면-> 로그아웃이 있는 설정화면 -> 다시 로그인 화면 (바텀바 없이) 입니다. -> 로그아웃 버튼을 누르면 다시 바텀바가 없는 login화면으로 이동합니다. 우선 build.gradle(app)에 아래를 추가해줍니다. // NavController 사용을 위한 추가 implementation 'androidx.navigation:navigation-runtime-ktx:2.7.7' implementation 'androidx.navigation:navigation-compose:2.7.7' // hiltViewModel() 사용을 위한 추가 implementation 'andr.. [안드로이드] 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().. 이전 1 2 3 4 ··· 15 다음