일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Coroutines
- pandas
- Gradle
- architecture
- android
- ProGuard
- Hilt
- TEST
- 코드포스
- MiTweet
- Codeforces
- textfield
- Kotlin
- Rxjava
- AWS
- 백준
- Python
- GitHub
- MyVoca
- 코루틴
- Coroutine
- activity
- androidStudio
- boj
- Compose
- 암호학
- relay
- 프로그래머스
- livedata
- 쿠링
- Today
- Total
목록Primary (163)
이동식 저장소
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/B0xiC/btrSZZWggsl/Df6zkPCmvPxEhhkFAX83f0/img.png)
현재 Canary 9 버전인 Android Studio Flamingo에 추가된 기능을 살펴보자. 내가 개발할 때 체감할 수 있을 만한 내용만 선별하여 정리했다. 아직 개발 초기 단계인 만큼 기능이 계속 추가될 수 있는데, 가능한 한 최신 내용으로 갱신할 계획이다. 웬만하면 canary는 안 쓰는 편이지만, Android Dev Summit 2022에서 알게 된 기능을 체험해 보고 싶어서 사용하고 있다. Network Inspector traffic interception Flamingo Canary 1 버전부터 Network Inspector가 모든 네트워크 트래픽을 보여준다. 응답이 외계어인 이유는 인코딩이 깨졌기 때문이다. DB에는 정상적으로 저장된다. 그 밖에도 커스텀 rule을 만들어 특정 응답..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ue5gK/btrSJEK8Qhz/PWzIBn9UX2OQ5W9OBQFwT1/img.gif)
현재 Release Candidate인 Android Studio Electric Eel(EE)에서 추가된 기능을 살펴보자. 추가된 기능을 모두 적지는 않았고, 실질적으로 내가 개발할 때 체감할 수 있을 만한 내용을 정리했다. Compose Preview 프리뷰에서 변경사항을 즉시 확인할 수 있다. 매번 빌드하지 않아도 된다! 내가 제일 좋아하는 업데이트라 맨 앞에 적었다. 원문에는 맨 끝에 있는데 ㅎㅎ Compose Preview에서 Device 설정 ``@Preview`` 어노테이션에 프리뷰를 보여줄 기기 정보를 설정할 수 있다. 그런데 무려 기기 스펙을 문자열로 명시하는 문법이다;; @Preview(device = "spec:width=1280dp,height=800dp,dpi=480,orienta..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/casH5v/btrSlnXFXWT/4N9lPvorTzUlydPU9DSD8K/img.png)
Compose에서 slot이란 사용자가 원하는 뷰로 채울 수 있게 비워둔 공간을 의미한다. 주로 컨테이너 역할을 하는 composable을 구현할 때 사용하는 패턴이다. 예를 들어 ``TopAppBar``에는 다음 그림처럼 빈 공간이 3개 있는데, 왼쪽부터 각각 ``navigateIcon``, ``title``, ``actions``를 위한 공간으로 할당되어 있다. @Composable fun TopAppBar( title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: (@Composable () -> Unit)? = null, actions: @Composable RowScope.() -> Unit = {}, backgr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dp8rlD/btrShINKoCW/mkXOfO538gkiKmmqqiloI0/img.png)
아직 Experimental feature이긴 하지만, Relay에서 Compose theme에 접근할 수 있는 방법이 있다. Figma에서 사용하는 디자인 값을 Compose의 값으로 매핑하면 된다. 구체적인 과정은 다음과 같다. Figma의 스타일 값을 json으로 변환한다. Json 스타일 값을 Compose theme 값으로 변환한다. 완료! 세팅 Theme mapping을 사용하려면 UI package를 가져올 때 하단 옵션을 활성화해야 한다. Material3, Material(2), 커스텀 테마를 지원한다. 커스텀 테마를 사용하려면 위에서 본 mapping 파일을 직접 만들어야 한다. 이 글에서는 Material 테마를 사용해 보겠다. App theme에 앱에서 사용되는 Theme 클래스의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cadJEI/btrR9uJxWci/4Hn4doWqZxIMnHMwOlkd20/img.png)
지난 글에서 만들었던 버튼을 활용하여 Relay가 내부적으로 어떻게 구현되는지 공부해 보자. UI 구성을 약간 수정했는데, 버튼을 감싸는 흰색 사각형을 없애고 버튼 자체를 root component로 만들었다. ``ui-packages`` ``ui-packages`` 폴더에는 Figma에서 가져온 UI 패키지가 저장되어 있다. 패키지 하나당 폴더 하나씩이다. ``fonts`` 폴더가 패키지 폴더의 하위 디렉토리에 있는데, 현재 시점에서는 패키지끼리 ttf 파일을 공유하지 않는다. 따라서 여러 패키지에서 동일한 폰트를 사용하더라도 동일한 폰트 파일을 여러 번 다운로드하게 된다. 향후 개선이 필요한 부분. 다른 파일은 볼 거 없고, UI 정보가 저장된 ``sample_button.json`` 파일을 보자. ..