본문 바로가기
728x90
반응형

전체 글57

[Android] LiveData 정리 LiveData 란 ?LiveData는 Data의 변경을 관찰 가능한 Data Holder 클래스.관찰 가능한 일반 클래스와 달리 LiveData는 LifeCycle(생명주기)를 인식. 즉, Activity, Fragment, Service 등 다른 안드로이드 구성요소(컴포넌트)의 LifeCycle를 고려함.LifeCycle 인식을 통해 LiveData는 활동상태에 있는 관찰자만 Update 하며, 활동상태는 Started 또는 Resumed을 의미 LiveData 장점 ?1. UI와 Data 상태의 동기화  - LiveData는 관찰자 패턴을 따른다. LiveData는 기본 데이터가 변경 될 때 Observer 객체에 알린다. 이러한 Observer 객체를 사용하여 데이터가 변경 될 때 관찰자가 UI를.. 2025. 2. 11.
[Android] 관찰자 패턴(Observer Pattern) 관찰자 패턴(Observer Pattern) ? - 이벤트를 관찰하는 패턴 - 객체의 상태 변화를 관찰 한 클래스가 다른 클래스의 상태 변화를 관찰(Observe)하고자 할 때 구현하는 디자인 패턴. 즉 객체의 상태 변화를 관찰하는 관찰자.어떤 객체의 상태가 변하거나 이벤트가 발생했을 때 그와 관련 된 객체들에게 알림을 보내는 패턴. 옵저버 패턴을 활용하면 다른 객체의 상태 변화를 별도의 함수 호출 없이 즉각적으로 알 수 있음. - 이벤트에 대한 처리를 자주 해야 하는 프로그램에서 유용함.  옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 noti가 되고, 자동으로 정보가 갱신되는 1:N 관계로 정의된다. 구현 ?옵저버 패턴을 구현하기 위해서는, 관찰 대상(이벤트 발생주체) 클.. 2025. 2. 11.
[Android] Fragment 정리 Fragment 1. 하나의 UI 내에서 독립적으로 동작하는 화면의 부분.   : 동작은 독립적으로 관리 되지만 프레그먼트 자체는 독립적일 수 없음   : Activity나 다른 프레그먼트에 종속되어 있음 2. 자체 layout(xml 파일)을 가질 수 있으며 자체 LifeCycle 보유   : 레이아웃, 동작처리(이벤트), 수명주기의 독립적인 관리 용이 3. 액티비티 분할하면서 UI 일부분 정의 가능   : 유연한 UI 구현 가능 및 재사용성 높음. 반복적으로 재사용 가능 Fragment LifeCycle - Fragment 가 백스택에 최상단으로 올라왔을 경우에는 생명주기가 CREATED - STARTED - RESUMED 순으로 진행 - 반대로 백스택에서 pop 됐을 경우에는 RESUMED - ST.. 2025. 2. 10.
[Android] Activity 정리 Activity란 ? - 사용자 인터페이스(UI)를 구성하는 앱의 기본 단위. 하나의 화면이 하나의 Activity 라고 볼 수 있음. - Activity는 화면을 구성하는 layout (xml)파일과 화면에서 동작을 정의 하는 class 파일로 구성. - 안드로이드 4대 컴포넌트 중 하나(Activity, BroadCastReceiver, Service, ContentProvider) 특징 - 안드로이드 Acitivity 클래스의 sub 클래스로 생성 되어야함. - 다른 액티비티와는 완전 독립적으로 구현됨. - 액티비티 간 메소드 직접 호출 불가 - Intent와 Content Provider를 이용하여 액티비티 공유가 가능. Activity LifeCycle - Activity LifeCycle 이해.. 2025. 2. 10.
[Kotlin] tools:ignore="UselessParent" 로또번호 추첨 어플 내에,버튼 클릭 시 랜덤 번호 추가를 하려고 layout과 textview 동적 생성 작업 중 xml 의 layout에서 warnning이 떴고,android studio에서 추천해 주는 걸로 하려니  tools:ignore="UselessParent" layout 내 위의 내용이 추가 됨. 그리고 layout 안보임. 추천 문구와 함께 적혀 있는내용을 보니, 해당 layout은 자식은 있으면서 형제 요소가 없고, scroll view나 root layout도 아니고 배경도 없으니,굳이 이 layout이 필요하겠냐이 layout이 갖고 있는 자식을 부모 layout으로 옮겨서 효율적인 레이아웃 계층으로 만들자.뭐 대충 이런식으로 적혀 있음.  // main layout // 첫 .. 2025. 2. 3.
[Kotlin] 로또번호 랜덤 생성기 - 1(프로젝트 생성) kotlin 처음 해보는 필자가 구글링으로 알음알음 따라 만드는 과정임.된다는 보장 없음. 정확한 코딩이라는 보장 없음. 코틀린 1도 모르는 필자이지만, 그래도 내가 원하는 기능은 다 넣고 싶은 욕심이 있어서 시간이 걸리더라도 하나씩 붙여보기로 함.원하는 기능은. 1) 로또번호 6개 랜덤 생성2) 내 번호 추가하여 나머지 번호 랜덤 생성3) 지난주 로또 당첨 확인4) 번호별 당첨 횟수(순위) 코틀린 개발 한번도 안해 본 필자가 그냥 생각한 기능임.내가 만들고 내가 사용해 볼 생각으로 만드는 어플이니 내가 원하는 기능 정도는 있었으면 함.기간이 얼마나 소요 될지, 저 기능들이 모두 들어갈 지 아무도 모름. 필자도 모름. android studio에서 Empty Views Activity로 Template .. 2025. 1. 20.
728x90
반응형