MutableStateFlow(Kotlin) -> CurrentValueSubject(swift)
·
어플 개발일기
안드로이드 앱에서 MutableStateFlow를 사용하고 이 stateFlow를 Observing하여 항상 최신의 데이터로 view를 뿌려주고 있었음 이와 같은 동작을 하는 Observable객체가 있는지 알아 봄 바로 Combine에 포함된 객체가 이와같은 동작을 함 https://developer.apple.com/documentation/combine Combine | Apple Developer DocumentationCustomize handling of asynchronous events by combining event-processing operators.developer.apple.com 모든 걸 지금 알아볼 수는 없고 필요한 내용만 정리하겠음 Observe 할 수 있는 객체가 Swif..
코루틴에 대해서 공부
·
어플 개발일기
1. 코루틴이란 "경량 쓰레드?" "루틴?" "코틀린 코루틴?""비동기 처리를 하기 위한 하나의 방법론, 그 방법은 중단, 재개임"다양한 언어에서 Coroutine을 지원함"Kotlin, GoRoutine, C++20~.."---------------------------------------------------------------------------------------------------2. 페이지코루틴을 이해하기 하기 위한 그림을 하나 보겠음"(일반적인 길(fun)) 화살표 표시"일반적인 함수는 루틴이라고 하여 호출과 return까지의 길은 하나임 (일반적인 길(표지 suspend))  (중간에 구멍) -> (표기) -> 다른터널코루틴은 이런 루틴한 길을 가다가 잠시 멈춰야 하면 출구가 나오..
24.7.31. 네트워크 중복 호출과 Flow오류 수정
·
어플 개발일기
이번에 Reposiory에 데이터를 저장하고, ViewModel을 통해 노출 시킨 뒤 해당 데이터를 Composable에서 사용하는 로직으로 변경했더니 뷰에 표현이 안되는 오류가 발생했다. //Repositoryprivate val _gatheringData = MutableStateFlow>(emptyList())val gatheringData: StateFlow> get() = _gatheringData//ViewModel데이터 노출val gatheringPostingData get() = gatheringRepository.gatheringData//UI에서 데이터 이용val gatheringFlow by plazaViewModel.gatheringPostingData.collectAs..
24.7.29. AGP 8.5.1 업데이트와 환경설정(SDK, JVM 등)
·
어플 개발일기
23.11월 출시되었던 AGP 8.2.0을 사용하고 있다가이번에 8.5.1로 업데이트하였다. AGP(Android Gradle Plugin) API중 CommonExtension의 인자가 5개였는데 이번에 6개로 증가하면서 빌드에 문제가 생긴 김에 한번 더 알아보려고 한다. 안그래도 이번 '모'기업 면접에서 Gradle 질문이 나왔었는데.. 생각치 못한 질문이 들어와서 어버버 했던 기억도 있으니 한번 업데이트하면서 잊어먹은 내용을 앱개발에 필요한 부분만 간단히 찍먹해보려고 한다. 면접질문은 이거였다.... "Gradle을 전공자가 아닌 사람에게 간단히 설명한다면 어떤것인가" 내 대답은 토목공학과 답게 "건축물을 올리는데 목재라던지 다른 재료들이 있는데, 이런 재료를 가지고 하나의 건물을 지을때 도움을 ..
24.7.28-29. 앱 내에서 게시글 동기화 문제 해결
·
어플 개발일기
내가 만든 앱에는 모임을 보고 참여, 탈퇴 등을 할 수 있는데이러한 기능은 다음과 같은 뷰에서 제공한다. 1. 모든 모임 글을 보여주는 화면2. 모임 글 상세 화면3. 내가 만든 모임글4. 내가 참여한 모임글5. 참여한 모임에 대한 채팅방 리스트6. 해당 모임의 채팅방등등 모임글과 관련된 다양한 화면이 존재한다. 뷰마다 다른 ViewModel을 사용하는 뷰도 존재하여.각 화면에서의 동작을 동기화 시켜주는 부분에서 어려움이 있었다.(내가 Repository를 API처럼 사용하고 받은 데이터 관리(DB저장을 제외)는 ViewModel에서 직접 관리하는 방식을 사용해서 생긴 문제) 예를 들어, "특정 모임의 채팅방 내부(6)"에서 탈퇴를 하더라도다른 ViewModel을 사용하고 있는 "내가 참여한 모임글(4)..
안드로이드 개발과 관련해서 알아가기(1)
·
어플 개발일기
안드로이드에 좀 더 깊이 공부하기 위해서 어떤 공부를 해야할지 정리해봄 위처럼 Android OS는 리눅스위에 올려져 있음안드로이드 개발자로 기여할 수 있는 부분을 생각해 보았을 때, 애플리케이션 개발자 : 비즈니스로직이나 안드로이드 API, Library를 사용해서 앱 서비스를 개발 AOSP에 기여 : 리눅스 커널 : 메모리 관리, 프로세스 관리, 보안, 네트워크 스택 제공 등을 위해 드라이버, 관리자 개발HAL : 하드웨어 소프트웨어 간의 인터페이스 제공 ( 어떠한 센서의 인터페이스 개발, 이를 앱단으로 올려주는 프레임워크 개발, 이를 사용하는 앱 개발까지 연결됨)ART : 앱 실행환경, GC 등 최적화네이티브 라이브러리 : 그래픽, 웹 브라우징 등 기능(소켓 등을 개발?)애플리케이션 프레임워크 : ..
리워크
'어플 개발일기' 카테고리의 글 목록