데이터를 한 방향으로 흐르게 하고 수도관 역할을 하는 인프라를 구현해서 데이터 스트림을 결합하고 변환하는 것이 좋다. 이렇게 데이터 스트림을 결합하고 변환하려면 정교한 무언가가 필요한데, 그게 오늘 정리해볼 **Flow**이다!
REST REST(REpresentational State Transfer)는 자원의 표현에 의한 상태 전달을 의미함. REST는 네트워크 상에서 client와 server 사이의 통신 방식 중 하나로 프로토콜이나 표준이 아닌 아키텍처 스타일임.
시대가 변하면서 기기 성능의 향상과 더불어 앱에 대한 기대가 높아지면서 최신 아키텍쳐을 기반으로 코틀린을 활용하는 선언적 UI도구 키트인 Jetpack Compose가 나오게 되었다.
기존에 notifyDataSetChanged()를 통해 데이터를 업데이트하면 1개만 바뀌어도 나머지 데이터도 모두 업데이트되는 불필요함이 있었는데 ListAdapter를 사용하게되면 백그라운드 스레드에서 DiffUtil를 통해 불필요한 교체 비용을 줄일 수 있다. Re
Room은 로컬 데이터베이스에 데이터를 저장할때 사용한다. 기기가 네트워크에 액세스할 수 없을때 오프라인 상태일때도 사용자가 여전히 콘텐츠를 탐색할 수 있으며 기기가 다시 온라인 상태가 되면 콘텐츠 변경사항이 서버에 동기화된다. Room은 위와 같은 문제를 자동으로 처
딥 링크는 홈페이지가 아닌 홈페이지 내의 특정 화면에 한 번에 도달할 수 있는 링크를 말한다. 링크는 모바일과 웹에서 모두 사용되는 개념이다. 예시를 들자면 https://velog.io/ 벨로그 자체 링크가 아닌 나의 벨로그(특정화면)으로 이동하기 위한 링
프로세스 : 실행 중인 프로그램 ex) 실행중인 인스타그램프로세스는 (다수의) 작업 단위 집합스레드(Thread) : 하나의 프로세스 상의 독립적인 실행 흐름 ex) 좋아요 기능, 스토리 공유 기능 등하나의 프로세스에는 메인스레드만 있거나 메인스레드 + 서브스레드로
LiveData란? > LiveData는 관찰 가능한 데이터 홀더 클래스입니다. 관찰 가능한 일반 클래스와 달리 LiveData는 수명 주기를 인식한다. 즉, 활동, 프래그먼트, 서비스 등 다른 앱 구성요소의 수명 주기를 고려한다. 수명 주기 인식을 통해 LiveDat
📌코루틴(Coroutine)이란? > 코루틴은 코루틴이 시작된 스레드를 중단하지 않으면서 비동기적으로 실행되는 코드 1. 협력형 멀티태스킹 co(함께, 동시에)+Routine(특정한 일을 실행하기 위한 일련의 명령) 코루틴 함수는 언제든지 중간에 나갈
📌Gradle Scripts란? > _안드로이드 프로젝트를 생성하면 Gradle Scripts 안에 build.gradle, settings.gradle 등의 파일이 자동으로 만들어진다. 이 파일들을 통해 안드로이드 프로젝트의 빌드 정보, 라이브러리 등을 관리한다._
✍TabLayout, Filterable 사용법 >Tablayout을 사용해서 원하는 키워드가 포함된 리스트만 볼 수 있도록 리사이클러뷰를 필터링 헤보자!! TabLayout 구성 **1. TabLayout안에 원하는 tabItem을 배치한다(ex: All, L
RecyclerView 무한 스크롤 무한 스크롤이란? 리스트를 밑으로 스크롤 했을 때 progressBar가 보였다가, 새로운 리스트가 추가되는 것을 말함. ** 📌구현방법 RecyclerView 생성 Scroll이 끝에 닿는 것을 감지하여 닿았을 경우 데이터에
매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에 앱에 관한 필수 정보를 설명한다. 가장 상위 폴더에 AndroidManifest.xml이 있어야하며, 이 정보는 앱이 실행되기 전에 시스템이 알아야 할 내용을 정의하고 있다.