Android/UI 5

안드로이드 Navigatioin Back Stack 없애기

문제 발생 배경 MVVM 아키텍처, Android Jetpack Library 을 적용한 BaBa 라는 프로젝트를 진행 중에 하나의 문제에 도달했습니다. 결론부터 말하면 Navigation 의 back stack 저장 문제였습니다. 문제 시나리오는 아래와 같습니다. 어떤 아기의 앨범 데이터를 서버로부터 불러오는 경우가 있습니다. 이 앨범 데이터들은 ‘월별’, ‘년도별’, ‘전체’ 로 나뉘어져 화면에 띄워져야 합니다. 그리고 월별, 년도별에서 앨범을 클릭하면 해당 월/ 년도의 앨범을 화면에 띄워줍니다. 이런 식으로 말이죠. 팀원들과의 회의를 통해 월별, 년도별, 전체 앨범 데이터를 계속해서 서버와 통신하여 데이터를 가져오는 것보다 한 번의 모든 앨범을 서버에서 클라이언트로 가져온 후 클라이언트에서 데이터를..

Android/UI 2023.05.17

Android ViewPager2 간단히 뜯어보기

BABA 라는 Android Application side project 을 하는 도중 아래와 같은 화면을 만들어야 했습니다. 이 때 ViewPager2 에 대한 이해가 부족한 것 같아 공부하게 되었습니다. (물론 아래 gif 는 ViewPager2 와 Custom 한 TabLayout 을 같이 사용한 것입니다. viewPager2 의 내부 동작 방식 ViewPager2 는 FragmentStateAdapter 을 extend 해서 구현해야 합니다. 그런데 FragmentStateAdapter 는 RecyclerView.Adapter 을 extend 하고 있습니다. 즉, ViewPager2 는 RecyclerView.Adapter 을 사용하여 동작합니다. RecyclerView 에서의 Item 은 Lis..

Android/UI 2023.05.05

ConstraintLayout

지난 UI 관련 포스팅에서는 LinaerLayout 을 다루었는데 이번에는 실제로 가장 많이 사용하는 ConstraintLayout 을 공부해봅시다. 바로 가시죠. ㅎ ConstraintLayout Constraint : 제약, 제한, 통제 어떤 Widget(ImageView나 TextView,Button 등)을 쉽게 "통제"할수 있다. 동시에 필수적으로 "제약"을 걸어주어야 한다. ConstraintLayout 을 사용하면 복잡한 레이아웃 계층구조를 단순히 구성하여 작성할 수 있다. 자식Veiw 간의 상호관계를 정의할 수 있다.예) 두 View를 위 아래 기준으로 중앙에 배치하기 등 (아래 읽어보면 알 수 있다.) ConstraintLayout이 제공하는 "제약(Constraint)"들, 즉, 컨스트레..

Android/UI 2022.08.30

LinearLayout

지난 포스팅에서 안드로이드에서의 Layout 에 대해서 공부했다. 그리고 LinearLayout, RelativeLayout, FrameLayout, TableLayout, ConstraintLayout 등의 기본 Layout 들에 대해 아주 간단히 알아보았다. 일단 LinearLayout 부터 자세히 알아보도록 하자!!!! 이 포스팅은 다음 사이트를 참고하였다. https://developer.android.com/reference/android/widget/LinearLayout https://zion830.tistory.com/13 https://recipes4dev.tistory.com/89 LinearLayout Linear 의 사전적 정의는 아래와 같다. Linear : 직선의, 선으로 된, ..

Android/UI 2022.08.29

Android Layout

아래 내용은 안드로이드 공식문서 및 개발자를 위한 레시피 tistory 을 참고하였습니다. https://recipes4dev.tistory.com/66?category=658689! https://recipes4dev.tistory.com/87?category=658689 https://developer.android.com/guide/topics/ui/declaring-layout https://stackoverflow.com/questions/3482742/what-is-the-difference-between-gravity-and-layout-gravity-in-android Layout Layout 은 사전적 의미로 "배치" 라는 뜻이다. 레이아웃은 앱에서 사용자 인터페이스를 위한 구조(Acti..

Android/UI 2022.08.29