android compose 5

Compound Component 방식을 사용하여 복잡한 Compose 대응하기

Compose로 화면을 만들기 시작하면 처음엔 깔끔한데, 어느 순간부터 이게 슬슬 이상해진다.Scaffold 안에상단 툴바 들어가고탭 들어가고상태바 패딩도 넣어야 하고플로팅 버튼에, 스낵바에, 로딩 레이어에…"아 이거 한 파일에 계속 써도 되나…?" 싶어지면 보통여러개의 컴포저블로 나눠서 그려보려고 한다. 그러다보면 재활용도 하고 싶고쉽게 시도해보는게 Slot API 인데 이게 또 복잡하면 문제가 발생한다. Compose 화면이 망가지는 과정보통 화면이 이렇게 커진다.처음엔 ScreenA() 같은 함수 하나에서 시작거기에 TopBar, TabRow, 리스트, 다이얼로그, 로딩, 에러 뷰 등등이 한데 모이기 시작어느 순간 @Composable fun ScreenA() 하나가 300줄이 넘어감이제서야 아 좀..

안드로이드 컴포즈 1주차 정리

1주차 코드랩에서는 기존 view 의 리사이클러뷰에 버튼이 달려있고 버튼을 누르면 레이아웃이 늘어나는 간단한 앱을 만드는 것이였습니다. 위 이미지는 코드랩에 예시로 있던 이미지인데 제가 만든것과는 조금 다르지만 거의 비슷합니다. 진행하면서 저는 제 맘대로 조금씩 변경해가면서 만들어 봤는데요. 일단 코드 전문부터 보시죠. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Week1JetpackComposeBasics2Theme { // A surface container using the 'backgr..

안드로이드 컴포즈 - GDG DevFest2021 참여하다.

GDG Korea Android 에서 진행하는 DevFest 2021 Android Compose 에 참여하게 됐습니다. https://sites.google.com/view/devfest-korea-2021/compose-codelab Devfest Korea 2021 - Compose Codelab 🤔 Jetpack Compose를 배워야 하는지 고민이신가요? sites.google.com 이 사이트에서 참여를 받았었는데 지금은 이벤트 참여는 끝났지만 그래도 공부는 같이 할 수 있으니 컴포즈에 관심이 있으면 참고하면 좋을거 같습니다. 위 사이트에서는 코드랩을 진행하기 위한 참고영상으로 보면 좋을거 같고 뛰어난 국내 개발자분들이 친절하게 설명해주신다. 실제 코드랩은 https://developer.an..

Android Compose - 컴포즈의 매력을 직접 느껴보자

뭔가 특정 기능에 대한 내용도 아니고 그냥 컴포즈의 멋짐에 대해서 설명하고 싶어서 고민하던 끝에 제목을 이렇게 지었습니다. 일단 바로 코드부터 소개해보겠습니다 @Composable fun MycomposeableView(){ Scaffold { Column( Modifier .verticalScroll(rememberScrollState()) .padding(50.dp) ) { for(i in 1..30){ Greeting("Android") } } } } @Composable fun Greeting(name: String) { Text(text = "Hello $name!") Spacer(modifier = Modifier.size(20.dp)) } 저번 포스팅에 있던 코드를 약간 수정해봤습니다. 그리..

Android Compose 는 무엇일까?

안드로이드 컴포즈는 2018년 구글 io 에서 처음 공개됐고 3년간의 제작기간을 거쳐서 최근에 공개됐다고 합니다. 아니 그전에 컴포즈가 뭐냐구요? 선언적 UI 를 안드로이드에서 사용하게 해주는 멋진 친구입니다. 선언적 UI 는 모바일 크로스플랫폼에서 보였었는데 저는 이게 선언적 UI 인지도 모르고 있었으나 컴포즈를 접하면서 아 이거 플러터나 리액트네이티브에서 봤던거랑 비슷하네? 라고 생각하면서 알게 됐습니다. 선언적 UI 는 말그대로 UI를 코드상에 직접 선언합니다. 기존 안드로이드는 xml 을 통해서 view 를 그리는 방식으로 id를 통해 연결하거나 데이터바인딩을 이용해서 UI 를 처리했었죠. 안드로이드를 조금이라도 해보신 분들은 다 아실거라고 생각합니다. 그러나 컴포즈는 그것과는 다르니 이름도 다르..