728x90
반응형

CS/Android 18

Compose의 표준 레이아웃 요소 - Column, Row, Box

Compose의 세 가지 표준 레이아웃 요소는 Column, Row, Box composable이 존재한다.이 셋은 상위 UI 요소 역할을 할 수 있다. 즉, 이 안에 다양한 ui 요소를 담을 수 있다는 것이다. 예를 들어, 단순히 composable function 안에 다음과 같이 text를 나열할 수 있는데,@Composablefun GreetingText(message: String, from: String, modifier: Modifier = Modifier) { Text( text = message, fontSize = 100.sp, lineHeight = 116.sp ) Text( text = from, font..

CS/Android 2025.03.05

Intent

앱개발을 하던 중, 인터페이스/인텐트에 대해 알려달라는 요청을 받아 이게 무슨 말인지 찾아보게 되었다.인터페이스는 알겠는데, 인텐트는 처음 들어봤다.두 개를 함께 말씀하신거 보면, 비슷한 용도라는 건데, 궁금해서 조사하였다! ㅇ Intent란?Android component(Activity, Service, Broadcast 등)를 실행하거나 데이터를 전달하는 데 사용되는 객체.내외부 application과 통신할 때도 사용.- 로그인 화면에서 메인 화면으로 전환하는 등 Activity 간 전환에 사용- 백그라운드 음악을 재생하는 등 Service 실행에 사용- 배터리 부족 경고 등 Broadcast 메시지 전달에 사용- 카메라 앱을 실행하거나 웹 브라우저를 여는 등 외부 앱 기능 호출에 사용 ㅇ Int..

CS/Android 2025.03.04

Service (with. WorkManager, AlarmManager)

Service란?백그라운드에서 실행되는 UI 없이 실행되는 Android 컴포넌트이 Service를 상속받아 새로운 서비스를 만듦ex) customercenter - 공지사항 앱 Service의 특징Activity와 달리 UI 제공x사용자가 앱을 종료해도 특정 작업을 유지할 수 있도록 백그라운드 실행 가능기본적으로 main thread에서 실행(ANR 발생 가능) → 장시간 실행되는 작업은 Thread나 Coroutine을 사용하는 것이 좋음Foreground Service로 실행하면 앱이 종료돼도 계속 실행 가능배터리 소모를 줄이기 위해 서비스를 사용한 후에는 stopSelf()나 stopService()를 호출해 반드시 정리 필요 Service의 생명주기onCreate() : 서비스가 처음 생성될 때..

CS/Android 2025.03.04

Component

component란?앱을 구성하는 핵심적인 요소.component 각각의 역할이 정해져 있으며, 독립적으로 동작하면서도 서로 연결되어 앱이 작동하도록 함.component들은 AndroidManifest.xml에 등록되어야 하며, 시스템에 의해 관리됨. android의 4대 componentActivity화면을 담당하는 컴포넌트ex) 로그인 화면, 메인 화면 등onCreate(), onResume(), onDestroy() 등 라이프사이클을 가짐사용자의 입력을 받고 화면을 렌더링하며 상호작용 함Activity들은 하나의 Task(작업 단위, ex. 앱의 화면 흐름) 내에서 계층적으로 쌓임(Back Stack)ServiceUI 없이 백그라운드에서 실행되는 작업ex) 음악 재생, 데이터 동기화, 위치 추적A..

CS/Android 2025.02.28

Android Studio build 방법 - Make Project (Ctrl+F9)와 Build APK(s)

android studio에서 build하는 방법에는 여러가지가 있고,그 중에서 Make Project (Ctrl + F9)를 사용해 빌드하는 방법과 Build APK(s)를 이용해 빌드하는 방법을 많이 사용한다.두 빌드 방법에는 큰 차이가 있는데,간단하게 말하면 Make Project는 전체 컴파일만 하고 APK를 생성하지 않는다. 따라서 개발 시 많이 이용한다.Build APK(s)는 전체를 빌드해서 APK를 생성해 배포 및 테스트 시 이용한다. 기능Make Project (Ctrl + F9)Build APK(s)컴파일 수행 여부OOAPK 생성 여부XOGradle 빌드 사용 여부변경된 부분만 사용전체 Gradle 빌드용도코드 변경 후 빠른 확인실행 가능한 APK 생성실행 속도더 빠름더 느림

CS/Android 2025.02.25

Retrofit

retrofit이란android에서 REST API와 통신하기 위한 네트워크 라이브러리.HTTP 요청을 더 쉽게 만들며, 응답을 model 객체로 변환할 수 있다.Jetpack Compose는 UI Framework이므로, 네트워크 라이브러리인 Retrofit을 사용할 수 있는데이 과정에서 ViewModel과 함께 사용하면 API 데이터를 UI에 반영할 수 있다.코드가 간결하고, 유지보수가 쉬워 REST API 호출 시 가장 많이 쓰인다. 장단점ㅇ 장점1. 간결하고 직관적인 코드 : 인터페이스로 API를 정의하고, annotation을 사용해 간편한 API 요청 가능.(OkHttp에 비해 코드가 깔끔)2. Coroutine/Callback 등의 비동기 처리 지원- Coroutine 기반 비동기 처리 : ..

CS/Android 2025.02.16

State(MutableState)

state란?application에서 시간에 따라 변할 수 있는 모든 값ex) 스낵바, ripple effect 등등특정 UI 요소의 상태를 나타내며, 상태가 변경되면 해당 UI가 자동으로 다시 그려지도록 함(state update)변경된 상태를 UI에 반영하기 위한 추가적인 코드 필요 x → 간결데이터 상태와 UI 코드 분리 → 유지보수 쉬움선언형 UI(jetpack compose)에서 state를 업데이트하기 위해서는 동일한 composable을 새 인수로 호출해야 함.→ state 업데이트마다 recompositionrecomposition이란?state의 변경 시 영향을 받는 일부 UI만 업데이트하는게 효율적. 따라서 해당 composable 함수만 다시 실행. → remember 이용 remem..

CS/Android 2025.02.03

Flashing과 Fastboot

Flashing(플래싱)이란?디바이스의 저장소(메모리)에 새로운 소프트웨어나 이미지를 설치하거나 덮어쓰는 작업Android 기기에서는 주로 펌웨어, 커스텀 ROM, 부트로더, 커널 등을 업데이트 또는 교체하기 위해 사용 flashing의 종류1. 전체 플래싱- 시스템 전체(부트, 시스템, 복구 등 모든 파티션)를 새로 설치하는 것.- 주로 공장 초기화와 함께 사용 2. 부분 플래싱- 특정 파티션만 업데이트- 부트 이미지 또는 커널만 플래싱하는 것 등 3. OTA 업데이트- Over-The-Air 업데이트를 통해 무선으로 소프트웨어를 설치하는 것- 사용자 개입이 적고, 자동으로 적용됨 flashing 과정1. 플래싱할 소프트웨어 이미지 파일 준비 및 기기별 맞춤 펌웨어 다운로드2. 부트로더 또는 복구 모드..

CS/Android 2025.01.06

SDK와 PDK

앱개발을 시작하면서, SDK는 많이 들어봤는데 회사에서 사용하는 PDK라는 것도 있어서 헷갈려서 정리한다! SDKSoftware Development Kit특정 플랫폼이나 환경에서 소프트웨어를 개발하기 위해 필요한 도구, 라이브러리, 샘플 코드, 문서 등을 제공하는 소프트웨어 개발 도구 모음 Android SDK안드로이드 플랫폼용 앱 개발을 위한 도구 키트Android 앱 개발에 필요한 모든 기본 기능(UI 구성, DB 작업, 네트워크 요청 등)을 제공Android Emulator를 사용해 다양한 기기와 API 버전에서 앱을 테스트할 수 있도록 하고,여러 Android OS 버전 및 기기에서 동작하도록 호환성 관리 및 디버깅 도구를 제공 Android SDK의 구성 요소로는- API 라이브러리 : And..

CS/Android 2025.01.06

Build Variant

ㅇ Build Variant란?단일 프로젝트에서 다양한 버전의 앱을 만드는 것을 의미한다. 예를 들어, 게임을 한다고 할 때, 무료 버전으로 플레이 하다가 인앱 구매를 통해 유료로 변경하면 컨텐츠가 늘어나는데, 이런 경우 사용하는 것이 build variant이다.여러개의 앱을 개발해서 무료와 유료로 배포를 하는 것이 아니라, 필요에 따라 버전만 다르게 빌드하면 된다. 개발자가 build variant를 직접 구성하는게 아니며, build variant를 형성하는 빌드 유형과 제품 버전을 구성하면 Gradle이 특정 규칙 세트를 사용해 다양한 빌드 설정(설정, 코드, 리소스)을 조합한다. Build Variant = Build Type + Product Flavor=> Android Gradle 플러그인..

CS/Android 2024.12.26
728x90
반응형