Android/Study

Android/Study

[Android] 인텐트(Intent) 및 인텐트 필터(Intent Filter)

1. Intent란?Intent는 Android의 컴포넌트 간 통신(IPC, Inter-Process Communication) 을 위한 메시징 객체이다. Intent를 사용하면 Activity, Service, BroadcastReceiver 등과 데이터를 주고받으며 시스템의 다양한 기능을 활용할 수 있다.Intent의 주요 기능Activity 간 전환Service 시작 및 바인딩Broadcast 메시지 전송 및 수신데이터 공유 및 전달시스템 기능 호출 (카메라, 갤러리, 전화 앱 실행 등) 2. Intent의 유형Intent는 크게 명시적(Explicit Intent) 과 암시적(Implicit Intent) 으로 구분된다.2.1 명시적 Intent (Explicit Intent)특정한 컴포넌트(Ac..

Android/Study

[Android] Jetpack Compose의 Recomposition 정리

1. Recomposition(리컴포지션)이란?Recomposition(리컴포지션)은 Jetpack Compose에서 상태(State)의 변경에 따라 필요한 UI만 다시 그리는 과정을 의미한다.기존 XML 기반 View 시스템에서는 findViewById()를 통해 특정 View를 직접 변경했지만, Compose는 선언형(Declarative) 방식을 사용하여 상태 값이 변경되면 해당하는 UI 요소만 다시 렌더링(Recompose)한다.즉, Recomposition은 상태 기반 UI 업데이트의 핵심 개념이며, 이를 이해하면 불필요한 UI 업데이트를 방지하고 성능을 최적화할 수 있다. 2. Recomposition이 발생하는 원리1) Composable 함수와 상태(State)Composable 함수는 컴..

Android/Study

[Android] Jetpack Compose 개념 및 XML과의 비교

1. Jetpack Compose란?Jetpack Compose는 Android의 최신 UI 툴킷으로, 선언형(Declarative) 방식을 기반으로 UI를 구성할 수 있도록 설계되었다. 기존의 XML 기반 UI 작성 방식보다 직관적이며, 코드 양을 줄이고, 재사용성을 높일 수 있는 장점이 있다.Compose는 Kotlin 언어를 기반으로 동작하며, 보다 유연한 UI 개발이 가능하다. 특히 상태(State) 기반의 UI 렌더링 방식을 지원하여 동적인 UI를 효율적으로 관리할 수 있다. 2. Jetpack Compose의 주요 특징선언형 UI (Declarative UI)기존 XML 방식은 명령형(Imperative) 방식으로, UI 요소를 직접 조작하고 업데이트해야 했다. 하지만 Compose는 선언형 ..

Android/Study

[Android] SearchView 사용기

이번에는 저번 프로젝트에서 사용했던 View에 대해서 또 다른 것을 정리를 해보려고한다. 바로 SearchView이다. 우리가 원하는 콘텐트 혹은 스트링을 찾기 위해서 사용하는 SearchView이다. 이를 실제로 Android에서 어떤식으로 사용하였는지 그리고 어떻게 사용할 것인지에 대해서 또 공부해보자. SearchView란SearchView는 안드로이드 애플리케이션에서 검색 인터페이스를 제공하는 위젯이다. 이는 사용자가 텍스트를 입력하여 데이터를 검색할 수 있게 해주는 기능을 제공하며, 주로 툴바나 액션바에 통합되어 사용된다. SearchView는 사용자의 입력을 받아 검색 쿼리를 처리하고 결과를 제공하는 역할을 한다. SearchView 사용기XML  app:iconifiedByDef..

Android/Study

[Android] WebView 사용기

지난 프로젝트에서 WebView를 사용한 적이 있었다.그래서 이번 포스팅을 통해서 WebView에 대해서 더욱 깊게 공부하고, 배워서 다음 프로젝트에서도 한번 사용해보자.  @SuppressLint("SetJavaScriptEnabled") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) viewModel.bind(url) webView.settings.apply { this.setSupportMultipleWindows(false) // 새창 띄우기 허용 th..

Android/Study

[Android] WebSocket를 통해서 채팅 기능 구현 feat. Clean Architecture, Hilt

WebSocket이란지난번 포스팅으로 대체하겠다.https://superohinsung.tistory.com/352 [Web] WebScoket이란 무엇인가WebSocket이란WebSocket은 웹 브라우저와 서버 간에 양방향 실시간 통신을 가능하게 하는 프로토콜이다. 일반적인 Http 요청과 달리, WebSocket은 연결이 지속적으로 유지되어 서버와 클라이언트 간에 즉superohinsung.tistory.com Android Project에서 채팅 기능 구현기 + Clean Architecture + Hilt졸업작품에서 채팅기능을 구현해야하는 일이 있었다.실시간 채팅기능이었다.아래 코드와 함께 풀이를 한번 적어보겠다. 프로젝트는 우선적으로 클린아키텍처 기반의 Hilt를 사용한 의존성주입을 사용하였다..

Android/Study

[Android] android Github Actions CI/CD를 사용기

지난 프로젝트에서 Github Actions CI/CD를 사용한 적이 있었다. 오늘 포스팅에서는 사용했던 Github Actions CI/CD 코드를 분석하고, CI/CD가 무엇인지 또한 다음 프로젝트에서도 활용할 수 있도록 공부해보자. CI/CD란 무엇인가CI(Continuous Integration)와 CD(Continuous Delivery 또는 Continuous Deployment)는 소프트웨어 개발 프로세스에서 중요한 역할을 담당한다. CI는 코드 변경사항을 주기적으로 빌드하고 테스트하여 메인 저장소에 통합하는 것을 말한다.CD는 CI 과정을 통과한 코드를 자동으로 배포하는 단계로, Delivery는 승인을 통해 배포되고, Deployment는 자동으로 배포된다. CI/CD의 이점개발 과정의 ..

Android/Study

[Android] ConstraintLayout의 장점

지난 날 ConstarintLayout이 무엇인가에 대하여 정리를 한 적이 있었다.https://superohinsung.tistory.com/231 [Android] ConstraintLayout 이란ConstraintLayout이란 ConstraintLayout은 부모 뷰그룹 안의 다른 요소들과의 상대적인 제약조건을 설정함으로써 화면에 배치되도록 하는 레이아웃을 말합니다. 기존의 레이아웃(Linear, Relative 등등)에 비superohinsung.tistory.com 그렇다면 오늘 ConstraintLayout의 장점에 대해서 알아보자. 가장 큰 장점으로는 뷰의 깊이(depth)를 줄일 수 있다. 이에 따른 2가지의 장점이 다시 따라온다. 성능 최적화예를 들어, 위와 같은 계산기 UI를 구현하..

Tenacity_Dev
'Android/Study' 카테고리의 글 목록