본문 바로가기
728x90

전체 글86

[Jetpack Compose] Compose로 BottomSheet 구성하기 feat. Material 3 Jetpack Compose로 BottomSheet를 구성하는 방법을 찾아보면서 효과적이라고 생각되는 두 가지 방법을 공유합니다 :) MaterialDesign3 환경에서 작성되었습니다. 1. ModalBottomSheetLayout ModalBottomSheetLayout은 BottomSheet의 UI를 구성하는 sheetContent 컴포저블 함수와 BottomSheet를 포함하는(?), BottomSheet가 띄워질(?) 상위 스크린을 구성하는 content 컴포저블 함수로 구성할 수 있습니다. 그 외에 속성들을 생성자로 설정하지 않으면 기본값으로 지정된 BottomSheet 속성으로 적용되지만 여러 속성들을 통해 BottomSheet의 배경색, 모양, 최초 상태 등을 정의할 수 있습니다. Moda.. 2024. 1. 16.
[TellingMe/Android] 텔링미 안드로이드 개발 🔥1차 스프린트🔥 최근 TellingMe(텔링미) 서비스를 개발하고 운영하고 있는 TellingUs(텔링어스)팀에 안드로이드 개발자로 합류하게 되었다. TellingUs에서는 텔링미 iOS를 주력으로 개발하며 운영 중에 있고, 약 1,000명 정도의 사용자들을 대상으로 서비스하고 있다. iOS 앱을 주력으로 먼저 서비스하며 안드로이드 앱에 대한 수요도 확인했고 당시 팀에는 안드로이드 개발자가 없어 간단하게 웹뷰로 만들어 안드로이드 앱은 비교적 가볍게 서비스되고 있었다. 그리고 이번에 기존 앱을 전체적으로 고도화&리팩토링하는 과정을 거치기로 했고, 다른 안드로이드 개발자 한 분과 같이 텔링미 안드로이드 개발을 함께 하기로 했다. 내가 TellingUs팀에 합류하기로 결정했던 이유로는 크게 두 가지가 있다. 1. 실제 사용자.. 2024. 1. 8.
2023년 회고 포스팅을 작성하는 오늘은 2024년 1월 1일이다. 올해는 본격적으로 개발자가 되기 위해 취업을 목표하고 있어 작년을 되돌아보는 회고를 작성해보려 한다. 먼저 회고를 작성하고 있는 현재 개발블로그를 시작한지 정확히 1년이 되었다. 작년 이맘때쯤 본격적으로 개발을 공부하기 위한 동기부여 겸, 공부하는 내용을 틈틈이 정리하려는 목적으로 티스토리 개발블로그를 시작했다. 다른 개발자분들에게 잘못된 정보를 제공하는게 포스팅을 작성하지 않는 것만 못하다는 생각이 들어서 코드 한 줄을 작성하거나 단어를 선택할 때에도 많이 고민하면서 공부하는 내용을 다시 한 번 정리하는 시간을 가질 수 있었다. 부족한 글솜씨지만 감사하게도 많은 분들이 방문해주셔 1년 만에 1만 명이 넘는 방문자수를 기록했다. 올해 초 겨울방학 기간에.. 2024. 1. 1.
[Jetpack Compose] 단방향 데이터 흐름 UDF(Unidirectional Data Flow) 살펴보기 Jetpack Compose에서 기본적으로 UI는 수정될 수 없습니다. UI는 상태(State)에 따라서 존재하고, 상태가 변경되는 경우에 변경된 UI 트리에 맞춰 다시 UI를 그리게 됩니다. Compose에서 UI를 다시 그리는 과정을 Recomposition이라고 하고, compose에서 UI 갱신은 오직 Recomposition에 의해서만 이루어집니다. @Composable fun OutlinedTextFieldEx() { var name by remember { mutableStateOf("") } OutlinedTextField( value = name, onValueChange = { name = it } ) } 위의 예시에서 OutlinedTextField는 내부에서 상태를 가지고 있지 않습.. 2023. 12. 29.
[Jetpack Compose] Compose에서 폰트시스템(Typography) 구축하기 최근 Compose로 신규 안드로이드 앱을 개발하는 프로젝트에 참여하게 되었습니다. 본격적인 개발을 시작하기 전 앱 전체에서 사용하게 될 Text의 Style을 지정하기 위해 어떤 방법들이 있나 찾아보았고, 기존에 공부하던 xml 개발 방식과는 다소 차이가 있는 것 같아 공유합니다! 우선 앱에서 사용할 폰트를 다운받아 res → font 폴더에 저장합니다. 폰트는 구글에 검색하면 쉽게 다운로드받을 수 있고, .ttf확장자의 대문자를 포함하지 않아야 합니다. Type.kt private val nanumSquareRoundStyle = FontFamily( Font(R.font.nanum_square_round_regular, weight = FontWeight.Normal), Font(R.font.nan.. 2023. 12. 27.
[안드로이드] Android(Kotlin) 환경에서 지도앱으로 길찾기 연동하기(NaverMap, KakakoMap, T-Map) 개발 중인 Android 앱에 인앱에서 지도를 띄워주는 것이 아니라 외부 앱(네이버지도, 카카오맵, 티맵)으로 이동해 출발지와 도착지를 기준으로 길찾기를 바로 수행하는 기능을 구현하던 중 레퍼런스가 많이 부족하다고 느껴 한 번에 정리해두려 합니다. 이동하려는 앱의 설치 여부를 확인하고자 Intent와 URL Scheme을 이용합니다. 대부분 비슷한 방식으로 호출할 수 있지만 호출하는 URL 필드에 조금씩 다른 부분이 있습니다. 1. 네이버지도 (NaverMap) private fun searchLoadToNaverMap() { // 위도, 경도를 주소로 변환 val geocoder = Geocoder(requireContext(), Locale.KOREAN) val startLocationAddress .. 2023. 10. 30.
728x90
반응형