전체 글 141

[Compose] Component 알아보기 - Surface

surface : - 가장 기본적으로 UI를 구현하는 기반  elevation, border, shape, color 등 설정이 가능하다 contentColor를 설정하지 않으면 color에 따라서 contentColor가 자동으로 설정된다(contentColor가 설정되지 않았다면, 이 Surface는 배경 색상을 테마의 ColorScheme에 정의된 색상에 맞는 ContentColor를 반환한다. 예를 들어, 이 Surface의 색상이 ColorScheme.surface라면, contentColor는 ColorScheme.onSurface로 설정된다) Surface( modifier = Modifier.padding(10.dp), shadowElevation = 10.dp, ..

🤖 Compose 2025.01.03

[Compose] Component 알아보기 - Text, Button

Component들이 아직 손에 익지 않아서 테스트해보면서 몇가지만 기록해보려고 합니다  Text에서 색상, 폰트 크기, 폰트 굵기 변경 등 테스트해보겠습니다 가장 기본형태를 아래와 같다는 가정입니다 :) 커스텀하려면 parameter로 원하는 걸 추가하면 되는데 아직 손에 익지 않아서 하나씩 해보는 중입니다 Text( text = "Hello $name!", modifier = modifier) 폰트 컬러 변경 Text( color = Color(0xff0094ff), //혹은 color = Color.Green 의 형태도 가능 text = "Hello $name!", modifier = modifier)  폰트 크기 변경Text( color..

🤖 Compose 2025.01.01

[Compose] Compose 시작에 앞서

compose 구글에서 제공하던 캠프를 들은 적 있는데 다 까먹었어요그래서 다시 공부합니다.. 시작하기 앞서 간단하게 끄적여봅니다 기존에 사용하던 안드로이드 UI는 XML을 사용해 레이아웃을 정의하고, Java나 Kotlin 코드를 통해 UI를 조작하는 명령형 방식인데 이와 달리 Compose는 선언형 UI입니다  선언형 UI- 모든 컴포넌트가 상태를 가지고 각 컴포넌트는 자신의 상태를 기반으로 UI를 구성- 상태가 변경되면 해당 컴포넌트가 자동으로 다시 그려져 최신 상태를 반영 compose를 시작하기 전 잘 이해해야할 부분들을 체크해가며 공부해야할 거 같아요 - 상태 관리에 대한 이해 필요(remember, mutableStateOf, State 등) - 비동기 작업을 처리하는 방법에 대한 이해가 필요

🤖 Compose 2025.01.01

[Android] binding 즉시 업데이트 하기 executePendingBindings

executePendingBindings- 뷰에 수정된 사항을 즉시 업데이트 하는 함수로, 바인딩을 즉시 실행하는 느낌이라고 보면 될 거 같아요  public void executePendingBindings() { if (mContainingBinding == null) { executeBindingsInternal(); } else { mContainingBinding.executePendingBindings(); } }  recyclerview가 재활용될 때  ViewHolder가 이전 데이터의 상태를 유지하고, 새로운 데이터가 바인딩될 때까지 잠시 이전 상태가 보이는 경우가 생길 수 있어요 이를 방지하기 위해 ..

📱 Android 2024.11.21

[Android] 이미지뷰에 apng 파일 적용하기

APNG는 애니메이션을 지원하는 PNG 파일 형식으로, GIF보다 더 나은 품질과 효율성을 제공하는 파일입니다 우선 대중적인 APNG4Android 라이브러리를 사용하겠습니다 https://github.com/penfeizhou/APNG4Android GitHub - penfeizhou/APNG4Android: Android animation support for APNG & Animated WebP & Gif & Animated AVIF, High performanceAndroid animation support for APNG & Animated WebP & Gif & Animated AVIF, High performance - penfeizhou/APNG4Androidgithub.com implem..

📱 Android 2024.11.17

[Android] Multipart / Presigned url

파일업로드 방식 2가지에 대해 알아보겠습니다 MultiPart- 여러 데이터 조각을 하나의 HTTP 요청으로 전송하는 방식- 안드로이드에서는 Retrofit, OkHttp 등의 라이브러리를 통해 쉽게 구현가능한데, 파일 업로드와 텍스트 데이터 전송에 주로 사용됩니다 MultiPart의 방식- 클라이언트 → 서버 : 클라이언트는 파일을 여러 부분으로 나누어 서버에 전송- 서버 → 저장소 : 서버는 클라이언트로 파일의 각 부분을 수신한 후, 이를 하나의 파일로 조합하여 저장소에 저장 @MultiPart annotation을 사용하면 돼요 interface ApiService { @Multipart @POST("upload") fun uploadFile( @Part file: Mu..

📱 Android 2024.11.14

[Android] styles textcolor 우선순위

styles에서 textColor 우선순위에 대해 알아볼게요 명칭자체에 순위가 보이지만 정리해두겠습니당 textcolor- 특정 뷰에 직접 설정된 텍스트 색상으로, 가장 높은 우선순위를 가집니다 textcolorPrimary- 테마에서 정의된 기본 텍스트 색상으로 뷰에 `textColor`가 설정되어 있지 않거나, 뷰가 기본적으로 상속받는 경우에 사용됩니다. 일반적으로 앱의 기본 텍스트 색상으로 사용됩니다 textcolorSecondary- 보조 텍스트 색상으로, 주로 보조적인 정보나 덜 중요한 텍스트에 사용됩니다. textColor가 우선적으로 적용되지 않는 경우에만 사용됩니다

카테고리 없음 2024.10.24

[Flutter] M1 맥북에서 flutter 설치하기

flutter를 시작하기앞서, 개발환경을 구축해봅시다  ✅ AndroidStudio, XCode는 설치되어있어야합니다Android Studio 설치 : https://developer.android.com/studio?hl=ko Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android DevelopersAndroid Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.developer.android.com Xcode 설치 : https://apps...

🦋 Flutter 2024.10.19

[Android] 앱 배포 실패, 그 원인은 SoLoader ? (ft.giphy)

배포를 하려다가 플레이 콘솔에서 배포 실패가 떴었어요 에러 메시지는 아래와 같았습니다 하나 이상의 앱에 결함이 있는 SoLoader SDK 버전이 포함되어 있으므로 앱이 다운되어 사용성이 저하됩니다 64비트 전용 기기에서 비정상 종료를 일으키는 SoLoader SDK 버전이 앱에 통합되어있습니다 공식문서에도 친절하게 나와있습니다 :) https://support.google.com/googleplay/android-developer/answer/12576726?hl=ko 잘못된 SoLoader 버전이 있는 앱 수정하기 - Play Console 고객센터도움이 되었나요? 어떻게 하면 개선할 수 있을까요? 예아니요support.google.com 에러 수정방법 1️⃣ 앱이 SoLoader SDK에 직접 종속..

📱 Android 2024.10.11

[Android] Clean Architecture

공식 문서에서 권장하는 앱 아키텍처는 아래와 같습니다 우선 각 계층에 대해 알아보고 권장 앱 아키텍처의 주요 목표에 대해 알아보겠습니다   1. Presentation Layer / UI Layer (사용자 인터페이스 관련 책임)   - Fragment, Activity- ViewModel : UI 관련 데이터를 관리, UI와 비즈니스 로직(도메인 레이어) 간의 연결 역할  2. Domain Layer (비즈니스 로직 관련 책임)   - UseCase: 도메인 레이어의 핵심 구성 요소로 비즈니스 로직을 수행하는 단위로,데이터 레이어에서 데이터를 가져와 비즈니스 로직을 처리한 후, 결과를 UI 레이어에 전달합니다.확장성과 재사용성을 고려해서 주로 하나의 비즈니스 로직당 하나의 use case를 두는 것이 ..

카테고리 없음 2024.10.09