안드로이드/Deep in the AOS

    Context :: 그래서 Context가 뭐라고? [ Deep in the AOS ]

    Context... Context... Context 안드로이드 앱 개발을 하다보면 Context를 많이 만나게 됩니다. 그런데 Context가 대체 뭐냐고 물어보면 나는 제대로 답하지 못했습니다. ??? : Context는 Context야 ~ Android Developers에서 Context를 뭐라고 설명하고 있을까요? Context는 앱 환경에 대한 전역 정보의 Interface입니다. Android 시스템에서 구현을 제공하는 Abstract Class입니다. Context는 앱 별 Resource와 Class 접근을 허용하며 Activity 시작, Intent 수신과 Broadcast 등의 Application 수준 작업의 호출이 가능합니다. 음... 바로 와닿지는 않았습니다. 🤨 (잘 몰랐기 때..

    RecyclerView :: Recycle Love you❤️ [ Deep in the AOS ]

    RecyclerView를 사용하면 대량의 데이터 세트를 효율적으로 표시할 수 있습니다. 개발자가 데이터를 제공하고 각 항목의 모양을 정의하면 RecyclerView 라이브러리가 필요할 때 요소를 동적으로 생성합니다. 이름에서 알 수 있듯 Recycler View는 이러한 개별 요소를 재활용합니다. 항목이 스크롤되어 화면에서 벗어나도 RecyclerView는 View를 제거하지 않습니다. 대신 RecyclerView는 화면에서 스크롤된 새 항목의 뷰를 재사용합니다. 이렇게 뷰를 재사용하면 앱의 응답성을 개선하고 전력 소모를 줄이기 때문에 성능이 개선됩니다. RecyclerView에서 레이아웃 계획 RecyclerView의 레이아웃은 LayoutManager 클래스를 통해 결정됩니다. RecyclerView..

    Intent :: 컴포넌트간의 통신을 맡은 중대한 녀석 [ Deep in the AOS ]

    Intent는 메시징 객체로 다른 앱 구성 요소로부터 작업을 요청하는 데 사용할 수 있습니다. Intent가 구성 요소 사이의 통신을 하는 데 여러 방식이 있지만 기본적인 사용은 크게 세 가지로 나뉩니다. 액티비티 시작 Activity에서 새로운 Instance를 시작하려면 Intent를 startActivity()로 전달하면 됩니다. Intent는 시작할 Activity에 모든 필요한 데이터를 담습니다. Activity가 완료되었을 때 결과를 수신하려면 startActivityForResult를 사용하면 되는데 이는 Deprecated되었습니다. 🧐 왜 startActivityForResult를 Deprecated ? 1. AndroidX Activity와 Fragment에 도입된 Activity Re..

    Content Provider :: 앱 구성 요소 4대 컴포넌트 :: 갤러리에서 사진 가져오기 [ Deep in the AOS ]

    앱과 앱간의 데이터 연동을 목적으로 하는 컴포넌트 한 앱에서 다른 앱의 Data를 사용해야 하는 경우에 Content Provider를 이용합니다. ex) 카카오톡에서 사진을 전송할 때 갤러리 앱의 사진 데이터를 이용하는 경우 안드로이드 개발자 문서에는 이렇게 설명하고 있습니다. Content Provider는 중앙 저장소로의 데이터 액세스를 관리합니다. Provider는 Android 애플리케이션의 일부이며, 대게 데이터 작업을 위한 고유의 UI를 제공합니다. 그러나 Content Provider는 주로 다른 앱에서 사용하도록 설계되며, 이러한 앱은 제공자 Client 객체를 사용하여 제공자에 액세스합니다. 제공자와 제공자 Client는 함께 데이터에 일관된 표준 인터페이스를 제공하고, 프로세스 간 통..

    BroadcastReceiver :: 앱 구성 요소 4대 컴포넌트 [ Deep in the AOS ]

    Android Developer에선 Broadcast를 다음과 같이 설명합니다. Android 앱은 Android 시스템 및 기타 Android 앱에서 게시 - 구독 디자인 패턴과 유사한 Broadcast Message를 받거나 보낼 수 있습니다. 관심 있는 이벤트가 발생할 때 Broadcast가 전송됩니다. 예를 들어, 시스템 부팅 또는 기기 충전 시작과 같은 다양한 시스템 이벤트가 발생할 때 Broadcast를 전송합니다. 앱은 특정 Broadcast를 수신하도록 등록할 수 있습니다. Broadcast가 전송되면 시스템은 특정 유형의 Broadcast를 수신하도록 신청한 앱에 Broadcast를 자동으로 라우팅합니다. 이런 Broadcast는 앱 전체, 일반 사용자 플로우 외부에서 메시징 시스템으로 ..