목록코딩 일기장/Android(Kotlin) (113)
print("와챠의 개발 기록장")

1에서 Hilt와 retrofit2의 초기 설정을 했다.그리고 request를 만들고, response와 이 정보를 토대로 ui에 사용할 데이터인 HomeWeather를 만들었다.이제 retrofit2를 사용해 실제로 api를 연결할 차례다!! 1. HomeService 생성2. providersHomeService 생성3. HomeDataSource 생성4. HomeRepository 생성5. HomeRepositoryImpl 생성6. HomeViewModel 생성7. UI에 데이터 넣기1. HomeService 생성retrofit2에서 baseUrl로 설정해준 것 외에도 필요한 파라미터들을 전달하기 위한 서비스 인터페이스를 만들었다.이 정보로 GET 요청을 해서 HomeResponse를 받으려고 한다..

Jetpack Compose로 네트워크 연결을 해보려고 한다.아무래도 안드가 제공해주는 강의에선 실제 네트워크 연결이 아니다보니까 기술적 성장에 한계가 있는 거 같아 직접 연결해보기로 했다.그동안 배운 개념들 총 집합...!!!Hilt 이용해서 의존성 주입하고, (프로젝트가 크진 않지만 확장 가능성 고려해서) MVVM 패턴으로 플젝 구성해보려고 한다.근데 넘 길어질 거 같아서 2개로 나눠서 올릴 듯레츠꼬 0. 준비 - 결과 화면 - 플젝 초기 설정 - api 명세 설명1. Hilt, Retrofit2 라이브러리 추가2. Hilt 초기 설정3. 네트워크 연결을 위한 Retrofit2 객체 생성4. UI에서 사용할 데이터 정리5. request, response 생성0. 준비- 결과 화면왼쪽 UI 중에서....
예전에도 이런 글을 쓴 적 있는데 안드 버전도 바뀌고 언어도 java언어로 만든 거라 업뎃을 해보려고 한다.예전에 쓴 글은 이거다. [Android/Kotlin] hide KEY/KEY 숨기기ACCESS KEY나 SECRET ACCESS KEY 같이 중요한 정보는 github에서 보여지면 위험하기 때문에 꼬옥 숨겨주어야 한다. 프로젝트 할 때 S3와 통신할 일이 있어서 ACCESS KEY랑 SECRET ACCESS KEY를 안드 내에 저장하고,min-wachya.tistory.com 업뎃을 해보자구요. 방법은 비슷한데 좀 더 간단해진듯?1. local.propertiles 파일에 해당 키들을 적어준다.sdk.dir=/Users/min0/Library/Android/sdk// 숨길 Key 추가service..

글이 넘 길어져서 나눠서 올림요 맞춤 Saver: listSaver : 복잡한 데이터 구조 저장 방법snapshotFlow: state에 Flow 연산자의 기능을 사용가능하게 만들기LifecycleEventObserver + DisposableEffect: ex)mapView도 상세 화면의 Lifecycle과 똑같이 흐르도록 만들기produceState: T를 State로 만들기derivedStateOf: recomposition을 줄이는 방법. state 변할 때만 실행 1. 맞춤 Saver: listSaver 목적지를 검색하면 리스트에 검색어가 포함된 데이터만 보여주는 기능을 만들어보려고 한다.(+ 초기 문구는 Choose Destination이라는 hint로 시작, + hint 문구가 수정되면 ..

이번엔 다양한 Effect를 통해 State를 활용하는 방법을 배워보려고 한다. 만들 앱 기능 소개기존 프로젝트 패키지와 파일 소개MutableStateFlow, StateFlow: ViewModel에서 변경되는 데이터를 관리하는 데에 사용+ collectAsStateWithLifecycleLaunchedEffect, rememberUpdatedState: 컴보저블에서 특정 작업을 실행하고 suspend 함수 호출이 가능한 함수rememberCoroutineScope: scope 안에서 suspend 함수를 사용할 수 있는 코루틴+ LaunchedEffect vs rememberCoroutineScope1. 만들 앱 기능 소개실습하면서 최종 완성할 앱의 기능은 다음과 같다.항공편을 탐색할 수 있는 앱인원..

더 완성도 있는 앱을 위해서는 Animation이 필수다!!이번엔 여러가지 방법으로 애니메이션을 적용하는 방법을 배워보려고 한다.간단한 애니메이션 구현부터 복잡한 애니메이션 구현까지 알아보자~ animate*AsState: state 변화에 따라 애니메이션 적용할 때 사용AnimatedVisibility: visibilty(Boolean값) 변화에 따라 애니메이션 적용할 때 사용AnimatedVisibility - CustomanimateContentSize: 크기가 변하는 애니메이션 만들 때 사용Transition - updateTransition: 여러 값을 동시에 애니메이션할 때 사용InfiniteTransition - infiniteTransition: 애니메이션 반복 pointerInput: 터..

이제 강의 2: 레이아웃, 테마 설정, 애니메이션을 공부해보자. Material Theme Builder를 통해 AppTheme 생성Surface로 색조와 그림자 설정색 변경을 통한 강조서체 스타일 설정도형(모서리) 설정1. Material Theme Builder를 통해 AppTheme 생성Material Theme Builder 사이트를 이용해 색 구성표를 쉽게 생성할 수 있다.아래 사이트에서 Primary 컬러를 지정하거나, 원하는 분위기의 이미지를 넣으면 자동으로 주요 색상을 뽑아준다.Primary: 기본 색상. 눈에 띄는 구성요소에 사용됨Secondary: 눈에 덜 띄는 구성요소에 사용됨Tertiary: 대비 강조를 위해 사용됨Background, Surfece: 앱의 배경과 표면에 사용됨이렇..

아래와 같은 앱을 만들어보면서 State를 더 깊이 배워보려 한다.두 가지 기능이 있는 앱이다.water count: "Add one" 버튼을 눌러 하루동안 물 얼마나 마셨는지 기록todo list(wellness list): 고정된 wellness 목록. 체크버튼, 삭제 버튼이 있음 Composable의 생명 주기Recompositionremember / rememberSaveableStateful / StatelessViewModelWater CounterWellnessTaskWellnessItemWellnessListWellnessViewModelWellnessScreen코딩하기 전에 몇몇 개념부터 정리하고 갑시다. 1. Composable의 수명주기 컴포저블의 수명 주기는 다음과 같다.컴포지션 진..