본문 바로가기

Android33

[Android] 안드로이드에 MVVM 적용해보기 (DataBinding, LiveData, Koin) 소프트웨어 개발 패턴에는 MVC, MVP, MVVM 등이 있다! 그 중에서 안드로이드에서 가장 많이 사용하는 MVVM에 대하여 다루어보고자 한다. 처음에 MVVM을 공부하려고 찾아봤는데 구현 방법들이 너무 많아서 어려웠다... 그래서 몇가지 구현 방법들에 대하여 기초적인 부분을 작성해보고자 한다. 물론 나도 공부하고 적은거라 틀린 부분이 있을 수 있다. 참고 정도만 해보자..! 1. MVVM이란? Model, View, ViewModel을 구성으로하는 패턴이다. 기존 MVC를 보완하기 위해 MVP가 나왔고 MVP를 좀 더 보완한게 MVVM이라고 하는 히스토리도 있다. MVVM의 구조는 아래와 같다. View - 기본적으로 UI를 지칭하는 구성 요소이다. 안드로이드에서 따지자면 Activity나 Fragm.. 2020. 12. 5.
[Android] 안드로이드에 Animation 적용하기! 안드로이드에 애니메이션을 적용하려고 찾아보면 종류가 너무 많아 헷갈린다 ㅜㅜ 그래서 이 게시글에서는 Animation의 종류와 적용 방법을 정리해보겠다! * 애니메이션 종류1. Property Animation2. View Animation - Tween Animation - Drawble Animation (Frame Animation) ■ Property Animation 객체 속성 변경을 통해 애니메이션을 지정하기 때문에 Property Animation이라고 부른다.지정할 수 있는 속성은 다음과 같다. - Durtaion : 애니메이션 재생 시간을 지정할 수 있다. - Time interpolation : 시간에 따른 속성 값의 변화 정도를 지정할 수 있다. - Repeat count and be.. 2020. 11. 9.
[Android] 안드로이드 Room으로 로컬 데이터베이스 이용하기 1. Room 이란? 안드로이드에서 데이터를 로컬에 저장하는 방법에는 File, SharedPreference, SQLite 등이 있다. 각각의 특징을 간략하게 알아보자면 File - 텍스트 파일 등의 파일을 생성하여 파일 입출력으로 관리한다. SharedPreference - Key, Value 쌍으로 데이터를 관리한다. SQLite - MySQL, PostgreSQL과 같은 DB 시스템이지만 응용 프로그램에서 사용하는 가벼운 DB이다. Room은 위의 SQLite와 관련이 있다..! Room은 SQLite에 대한 추상화 레이어를 제공한다고 공식 문서에 나와있다. 예를 들어, SQLite에서는 모든 Query를 직접 작성했어야 했는데 Room에서는 CRUD와 관련된 기본 추상화 메서드를 제공하여 사용할.. 2020. 10. 25.
[Android] ViewPager2 ViewPager2는 ViewPager의 개선된 버전이다. * 변경 사항 1. 세로 페이징 지원 (android:orientation 속성 이용) 2. 오른쪽에서 왼쪽 페이징 지원 (android:layoutDirection 속성 이용) 3. 런타임에 프래그먼트 컬랙션을 수정 가능 4. DiffUtil 클래스에 엑세스 가능 (RecyclerView 데이터세트 변경 애니메이션 활용 가능) * 구현 해야할 것 1. ViewPager에 들어갈 Fragment - Fragment 클래스와 XML 2. ViewPager를 포함할 Activity - Layout XML에는 ViewPager2를 추가, Activity에서는 Adapter 구현 3. (선택) Page 전환 애니메이션 하나씩 코드로 살펴보자 1. Vie.. 2020. 10. 11.