일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- EncryptedSharedPreferences
- 앱심사경험
- 개발자도전기
- WorkManager
- compose
- 초보개발자
- 상태관리
- 문제개선
- SharedPreference
- Android
- Developer
- 문제해결
- 모바일앱개발
- Jitpack
- 앱개발
- chatGPT
- Kotlin
- Java
- 안드로이드
- 클래스 설계
- 개발시작
- coroutines
- androidstudio
- 코틀린
- 앱심사대응
- 코루틴
- foregroundservice
- SwiftUI
- Swift
- ios
- Today
- Total
목록compose (8)
개발린생
안드로이드 기본 잠금 화면 위에 특정 화면을 띄워야하는 기능을 구현해야해서 코드와 글을 작성하게 되었다. 혹시 ForegroundService targetSDK 34 이슈로 찾아온 사람을 위해 미리 말하자면,예제 프로젝트가 컴포즈 프로젝트지만 컴포즈(컴포저블 함수 사용)로 구현한 부분은 단순 UI 쪽 밖에 없어서, 기존 XML 기반 프로젝트여도 도움이 될 것이다. 기본 잠금 화면 위에 특정 화면을 띄우기 위해서 중요한 기능은 아래와 같다.다른 앱 위에 표시 권한 요청ForegroundService 기능 구현 (Android 14, SDK 34 대응) 이전 글에서 ForegroundService로 구현했던 기능을 WorkManager로 구현했었는데 이번엔 다시 ForegroundService를 다뤄보겠다...
Rating Bar란, 별점 평가 UI 요소를 의미한다.안드로이드 공식 문서에서도 사용하는 용어이며, 개발 및 디자인 커뮤니티에서도 잘 쓰이는 용어라고 한다. 나의 경우 별점 평가 기능을 넣을때 활성화/비활성화 이미지를 넣는 방식으로 개발해왔기 때문에 용어를 몰랐었다.또, 평가 기능을 넣을때 0에서 5까지 있으며 설정 가능한 단위가 1 단위여서 충분히 활성화/비활성화 이미지 두장으로 구현 가능했다. 그러나 이번에 사이드 프로젝트를 진행하며 평가 최소, 최대 값이 0~5까지 있으며 단위가 0.5여서 평가 UI를 찾아보게 되었다.RatingBar를 구현할 당시에 검색했던 용어가 Rating Bar가 아니었던 건지, 직접 구현해서 적용했다.(내 기억으로는 어떤 용어로 검색을 했었고 그닥 결과가 나오지 않아서 ..
Android Compose의 리스트LazyColumn(⬇️)은 세로 목록, LazyRow(➡️)는 가로 목록을 표시할 때 사용한다.LazyColumn과 LazyRow 모두 항목이 화면에 나타날 때만 렌더링되어 메모리를 효율적으로 사용한다.또 Android RecyclerView와 비슷하지만 훨씬 간단한 문법으로 구현할 수 있다.LazyColumn 예시 코드:@Composablefun LazyColumnExample() { LazyColumn(modifier = Modifier.fillMaxSize()) { items(100) { index -> Text( text = "Item #$index", modifier ..
이전 포스팅에 이어 Compose와 SwiftUI 레이아웃 시스템에 대해 공부한 내용을 적어보려한다.Compose, SwiftUI 모두 뷰를 수직, 수평 방향이나 위로 쌓을 수 있는 레이아웃 시스템을 제공한다.Android Compose의 레이아웃 시스템 Column, Row, BoxColumn, Row, Box 레이아웃 컴포저블을 사용해 UI 요소를 배치한다.Column은 수직 방향(⬇️), Row는 수평 방향(➡️), Box는 겹쳐서 배치할 수 있는 레이아웃을 제공한다.Column 예시 코드:// VStack과 유사한 레이아웃 컴포저블 Column 예제 함수@Composablefun ColumnExample() { Column( modifier = Modifier ..
비교를 위해 UI 정의와 함수 구조를 유사하게 구현했으며,두 플랫폼 모두 GreetingView에서 이름을 인자로 받아, 그 값을 MainScreen 화면에 텍스트로 표시하는 예제를 작성해봤다.Android Compose의 @Composable 함수와 SwiftUI의 View 구조체가 각각 비슷한 역할을 수행한다.Android Compose의 Composable 함수@Composable 어노테이션을 사용해 함수로 UI를 정의한다.각 UI 컴포넌트는 재사용 가능한 함수로 만들 수 있으며, 컴포저블 함수는 컴포지션에 참여해 UI 트리를 형성한다.예시 코드:@Composablefun MainScreen() { // MainScreen에서 GreetingView 컴포저블을 호출하고 문자열을 전달 Gr..
💬 Android XML 기반 개발도 충분한데 Android Compose를 배워야할까?안드로이드 개발자로써, 나는 오랫동안 XML 기반으로 UI를 구현해왔고, 컴포즈에 대한 언급이 많아졌을 때도 굳이 새롭게 배워야 할 이유가 있을까? 의문이 들었다. XML로도 충분히 잘 개발할 수 있었고, 새로운 것을 도입하는 게 실제로 얼마나 큰 이점이 있을지 의문이었다. 솔직히 말하면, 기존 방식에 익숙하고 불편함도 없었기 때문에 귀찮음이 앞섰다..^^XML로 이미 원하는 결과를 쉽게 얻을 수 있었으니, 굳이 컴포즈를 배울 필요를 느끼지 못했다. 나처럼 이미 안드로이드 개발 경험이 있는 사람에게는 XML은 기본적으로 사용 가능한 옵션이기 때문에, 처음 안드로이드를 배우는 개발자에게는 컴포즈가 최신 기술이니 XML..
Android와 iOS는 서로 다른 운영체제를 기반으로 하지만, 개발 과정에서 공통적으로 적용되는 개념과 구조가 많은 것 같다.둘을 동시에 공부할 것이기 때문에 Android와 iOS 개발에서 공통적으로 사용할 수 있는 필수 개념들을 ChatGPT를 통해 정리해봤다. 한번에 많은 지식을 습득하기는 어려우니 키워드를 하나하나씩 파헤칠 예정..ChatGPT, Android와 iOS 개발의 공통적인 부분이 있을까? 1. 아키텍처 패턴 (MVC, MVVM 등) Android와 iOS 모두 MVC(Model-View-Controller), MVVM(Model-View-ViewModel) 같은 아키텍처 패턴을 따른다.이를 통해 비즈니스 로직과 UI를 분리하여 유지보수성을 높이고, 코드의 구조를 깔끔하게 유지할 수 ..
회사의 어려운 상황이 큰 계기가 되어 해야지, 해야지 했던 iOS 개발 공부를 시작했다.Android나 iOS나 공부하려고 사둔 서적들을 제쳐두고 ChatGPT와 함께 공부 시작! iOS 개발 시작하며, Android 개발을 동시에 공부하려고 한다.회사에서 업무를 하다 보면 기능 구현에 급급해져서 제대로 이해하지 않고 넘어가는 경우가 많다.이런 상황이 반복되면, 같은 기능을 다시 구현할 때에도 복사-붙여넣기로 해결하려 하거나, 오류가 생기면 그때그때 검색하면서 문제를 해결하게 된다.이로 인해 코드 퀄리티가 떨어지고, 면접에서도 해당 기능을 설명하기 어려울 뿐만 아니라, 내가 직접 구현했지만 내 실력으로 체화되지 않은 느낌이 들어서 매우 찝찝하다. (자신감도 떨어짐 이런 부분을 개선하기 위해서 이해를 바탕..