분류 전체보기254 [Android] 안드로이드의 Window에 대한 이해 Android Window보통 , Activity 화면에서 status bar, navigation bar 그리고 사용자 view 3가지를 보여준다. 각각 component 들은 서로 다른 window를 가지고 있다. status bar 를 위한 window ( battery, rssi, time 표시 .. ) , navigation bar 를 위한 window ( 햄버거 아이콘, back btn, menu button 등 ) 등 이 모든 window를 WindowManager에 의해서 제어되고 있다. Window란?Window는 뭔가를 그려낼 수 있는 화면이다. 기본적으로 액티비티 단위 마다 각자의 WindowManager를 가지고 있고, WindowManager에 의해 Window들이 관리 된다.액티.. 2025. 1. 9. [Android] DataBinding에 대한 고찰 (2) - DataBinding은 내부적으로 어떻게 동작할까? 들어가기전에,이전 포스팅에서 DataBinding 클래스가 어떤 원리로 생성되는지 살펴보았습니다. 이전 포스팅을 보지 않으신 분들은 아래 링크를 확인 부탁드립니다.https://jtm0609.tistory.com/244 [DataBinding] DataBinding에 대한 고찰 (1) - DataBinding은 어떻게 생성되는가?위 포스팅은 DataBinding에 대한 기본적인 이해가 있는 독자를 염두에 두고 작성되었습니다. DataBinding이란?데이터 바인딩은 선언적 형식으로 레이아웃의 컴포넌트와 앱의 데이터 결합을 지원하는jtm0609.tistory.com 이 글에서는 XML에 바인딩 된 데이터가 실제 변경되었을 때 내부적으로 어떤 동작이 일어나는지 알아보겠습니다. Click Events & D.. 2025. 1. 9. [Android] DataBinding에 대한 고찰 (1) - DataBinding은 어떻게 생성되는가? 위 포스팅은 DataBinding에 대한 기본적인 이해가 있는 독자를 염두에 두고 작성되었습니다. DataBinding이란?데이터 바인딩은 선언적 형식으로 레이아웃의 컴포넌트와 앱의 데이터 결합을 지원하는 라이브러리이다. 2015년 Android Dev Summit에서 처음 발표되어 지금까지 안드로이드 앱을 구현할 때 흔히 사용되고 있다. 우리는 DataBinding을 적용한 Fragment나 Activity가 포함된 프로젝트를 빌드할 때, DataBinding 클래스 또는 DataBinding Impl 클래스가 생성되는 과정을 경험했을 것이다. 그렇다면 왜 이러한 클래스들이 생성되는지, 그 원리가 무엇인지 함께 살펴보자. DataBinding 객체 생성 (Abstract Class)DataBindin.. 2025. 1. 8. [Android] executePendingBindings() 꼭 써야 할까? DataBinding을 사용하는 코드를 보면, executePendingBindings()을 사용하는 코드가 많이 보인다.정확한 사용 이유에 대해 알고 쓰지 못한 점을 반성하며, 어떤 역할을 하고 있는지 한번 알아보자.executePendingBindings()executePendingBindings()는 DataBinding에서 제공하는 메서드로, 예약(Pending) 중인 바인딩 작업을 즉시 실행하는 역할을 한다. Databinding은 변수나 Observable이 변경되면 그 변경사항을 화면에 반영하기 위해 바인딩을 예약하는데, 이 바인딩 작업은 다음 프레임에 적용되도록 예약된다. (즉시 적용 x) 하지만, executePendingBinding()을 사용하면 다음 프레임이 반영이 아닌, 예약된 바.. 2025. 1. 8. [Android] 태스크 (Task)와 백 스택(Back Stack) 태스크 (Task)태스크는 액티비티 스택에 대한 메타 데이터와 여러 정보의 콜렉션이다. 앱의 런처 아이콘을 클릭하면 안드로이드 시스템에서 실제로 수행하는 일은 재개(resume)할 이전의 기존 작업을 찾는 것이다. 만약 어느 태스크도 찾디 못했다면 새로 시작된 액티비티를 태스크의 백스택 루트 액티비티로 설정하여 새로운 태스크가 생성된다. 백 스택 (Back Stack)먼저 안드로이드에서 Stack은 액티비티가 순서대로 저장되어 관리되는 공간을 의미한다.뒤로가기를 누를 경우 최상단의 액티비티를 제거(pop)한다.혹은 startActivity()를 통해 새로운 Activity를 최상단에 추가하여 새 Activity가 기존의 최상단 Acitivity를 가릴 경우 기존 액티비티는 일시 중지된다. 태스크 (Tas.. 2024. 12. 18. [Android] 직렬화와 Serializable, Parcelable 직렬화, 역직렬화직렬화(Serialization) : 객체를 바이트 단위의 연속적 데이터(바이트 스트림)로 변경하는 작업역직렬화(Deserialization) : 바이트 스트림을 원래 객체로 변환하는 작업 왜 직렬화가 필요한가 ?데이터를 서버 등으로부터 받아올 때 보통 JSON, XML 등의 형태가 전달되곤 합니다.이 때, 이를 역직렬화하여 바로 기존 객체처럼 쓸 수 있게하거나, JVM 메모리에만 상주되어있던 그런 객체들을 영속화 (Persistence)시켜 시스템이 종료되더라도 없어지지 않게끔 처리해야할 때(Shared Prefrence / DB 등) 직렬화를 사용합니다. + Android Intent 통신 과정에서 직렬화안드로이드의 경우 Intent를 통해 객체를 주고 받습니다.Intent는 프로세.. 2024. 12. 17. 이전 1 2 3 4 5 6 7 8 ··· 43 다음