안드로이드 학습
-
클린 아키텍처 준비 - 1안드로이드 학습/Android 기술면접 대비 코드 2025. 4. 24. 09:53
클린 아키텍처 준비 :1. 무료 RestApi 사이트 2. 다른 앱들 구조 분석 3. 내가 만들 앱 기초 구성 및 컨셉 구성1. 토큰이나 로그인 없이 RestApi 가능한 사이트들JSONPlaceholder https://jsonplaceholder.typicode.com특징: posts, comments, albums, photos, todos, users 등 다양한 리소스 제공Reqres : https://reqres.in특징: 사용자 관련 CRUD, 로그인 등 다양한 테스트 가능DummyJSON : https://dummyjson.com특징: products, users, posts, comments, quotes, todos GoREST : https://gorest.co.in/public/v2..
-
5. Compose와 MVVM안드로이드 학습/Compose 2025. 4. 1. 16:55
아키텍처를 공부하면서 자주 사용하던 것이 MVVM 패턴이었다. UI와 데이터 관리를 Activity / Fragment와 ViewModel 그리고 Repository등으로 나눠서 관리해 하나의 class가 하나의 책임만 갖도록 하는 것이 좋다는 것을 유지보수나 협업적인 측면에서 좋다는 것을 학습했었다. Compose도 마찬가지다. 단지 UI 부분이 xml을 사용하지 않는 것으로 변경되었을뿐 아키텍처 패턱을 적용해 각자의 역할을 분담하도록 하는 것이 좋을 것 같다. Compose 자료들을 보니 MVI 아키텍처와 많이 사용한다고 하지만 아직 MVI를 학습하기 전이기 때문에 MVVM과 함께 사용하는 것을 먼저 학습하고 추후 MVI와 같이 사용하는 것을 학습해봐야 겠다. 예제 코드 :실제로 서버와 통신하는..
-
4. Compose Side Effect안드로이드 학습/Compose 2025. 3. 27. 15:56
SideEffect(부수효과)란?Compose에서 Side Effect(부수효과)는 Composable 함수 범위 밖에서 상태 변경이 필요하면 Effect API를 사용해야한다. Effect API에서의 작업은 UI와 관련되어 있어야 하며, Compose의 기본적인 단방향 흐름을 방해하면 안된ㄷ. Side Effect를 사용하지 않는 것이 좋지만 필요할 때가 있다.특정 상태 조건에 따라 다른화면으로 이동 (예: Splash 화면 > Main 화면 이동)Toast 메시지 같은것을 표시이와 같은 일회성 이벤트Compose에서는 부수효과를 처리하기 위해 제공되는 3가지의 Effect API와 다양한 State 함수가 함께 제공되고 있습니다.LaunchedEffectDisposableEffectSideEffec..
-
3. Compose 함수 및 상태에 대한 이해안드로이드 학습/Compose 2025. 3. 26. 15:22
안드로이드에서 기존에 UI를 변경하기 위해서는 setText(), setColor() 등의 함수를 호출해서 변경했다. Jetpack Compose에서는 이런 방식을 사용하지 않고 상태(State)에 따라 자동으로 변화를 인식해서 UI를 갱신한다. 이 상태 변경을 위해서 Compose에서는 mutableStateOf를 사용한다. mutableStateOf()를 사용한 값이 변경할 때마다 UI를 다시 그려주는 것이다. @Composablefun BasicState() { var count by remember { mutableIntStateOf(0) } Column( horizontalAlignment = Alignment.CenterHorizontally ) { ..
-
2. Compose Modifier를 활용한 스타일링 (padding, background 등등)안드로이드 학습/Compose 2025. 3. 18. 11:37
Modifier란 ? > Jetpack Compose 에서 UI 요소의 크기, 레이아웃, 동작, 스타일 등을 변경하는데 사용하는 구성요소. Modifier의 주요 기능은 5가지 정도로 나눌 수 있다. 1. 크기 조정2. 정렬 및 배치3. 배경 및 스타일링4. 클릭 이벤트5. 애니매이션 효과 1. 크기조절Modifier.width(width: Dp) : 너비를 width.dp로 설정 Modifier.height(height: Dp) : 높이를 height.dp로 설정 Modifier.fillMaxWidth(fraction: Float = 1f) : 가로 전체 채우기, 기본은 모두 채우는 것(fraction = 1f)이며 전체 대비 채우는 비율을 설정하는 것도 가능 Modifier.fillMaxHeight..
-
1. Compose 기본 UI - Text, TextField, Image, Row, Column, Box안드로이드 학습/Compose 2025. 3. 18. 11:36
1. 기본적인 Text@Composablefun customText() { Text( text = stringResource(R.string.first_text), // Text 글자 modifier = Modifier .size(width = 80.dp, height = 100.dp) // text 영역 사이즈 설정 .padding(start = 10.dp, bottom = 15.dp) // padding 설정 .clickable(onClick = { Log.d("TestActivity", "click") }), color = Color.Green, // 색상 설정 fontWeight = ..
-
Compose 학습 이정표안드로이드 학습/Compose 2025. 3. 16. 18:29
1. 기본 개념 익히기⏳ 목표: Compose의 핵심 개념과 기초 문법 이해✅ Jetpack Compose 소개 및 설치공식 문서(🔗Jetpack Compose Basics) 참고프로젝트 설정 및 compose.compiler, compose.ui 등 의존성 추가✅ 기본 UI 구성 요소 학습Text, Button, Image, Row, Column, Box 등학습 (O) 복습 Modifier를 활용한 스타일링 (padding, background, clickable 등)✅ 컴포저블(Composable) 함수 개념 이해@Composable 함수remember, mutableStateOf로 상태(State) 다루기LaunchedEffect, rememberUpdatedState 등 Side Effect 다..
-
안드로이드 DataStore 예제안드로이드 학습/Android 기술면접 대비 2025. 2. 28. 18:01
DataStore 설명 : 링크 DataStore에는 2가지 종류가 있다. 기본 타입을 저장하려면 Preference Datastore :기본 타입 이외의 타입을 저장하려면 Proto Datastore를 사용해야 한다.Preferences DataStore 예제 1. build.gradle (Modulo:app)implementation "androidx.datastore:datastore-preferences:1.1.3"implementation "androidx.datastore:datastore-preferences-rxjava2:1.1.3" // optional - RxJava2 supportimplementation "androidx.datastore:datastore-preferences-rx..
-
안드로이드 DataStore와 SharedPreference안드로이드 학습/Android 기술면접 대비 2025. 2. 19. 10:28
안드로이드에서 User의 간단한 정보 (설정 값이나 기본 프로필 정보) 등은 SharedPreference를 사용해서 저장해왔다. 최근에 학습을 하다가 DataStore라는게 있다는 것을 새로 알게되고 SharedPreference를 DataStore로 이전하라는 내용을 보게되어 새로 학습해보기로 했다. Developer 페이지에서 DataStore를 사용하라고 되어 있다. SharedPreference 특징 : key - value의 형태로 데이터를 저장하고 불러와 데이터 양이 적고 간단한 구조일때 유용하게 사용된다.어플리케이션이 삭제되기 전까지는 데이터가 유지된다. 이러한 데이터를 xml 파일 형태로 저장하기 때문에 너무 많은 데이터를 넣게 되면 메모리 예외 에러가 나타날 수도 있다. (사실 ..
-
Compose 학습 - 1 : 기초안드로이드 학습/Compose 2025. 2. 5. 17:18
링크 : https://developer.android.com/courses/pathways/compose?hl=ko Jetpack Compose | Android Developers네이티브 Android UI를 빌드하기 위한 최신 도구 키트인 Compose에 관해 알아봅니다.developer.android.com Compose에서는 함수에 @Compose 주석을 추가해야한다. @Composablefun Greeting(name: String, modifier: Modifier = Modifier) { Text( text = "Hello $name!", modifier = modifier )} 중간중간 따라 쓰는게 귀찮아서 완료된 코드로 분석1. onCreate ..