728x90
반응형

Android 37

[Android] RecyclerView (2) - CardView를 활용해서 구현해보기

https://ehdnsdlek.tistory.com/8 [Android] RecyclerView (1) 개념 및 구조 1. RecyclerView 란? RecyclerView란 안드로이드 공식 문서에서 데이터에 해당하는 뷰가 표함된 ViewGroup이라고 정의하고 있다. 즉, RecyclerView는 데이터를 표시하기 위해 어댑터, 뷰홀더, 레이아웃 매니저 ehdnsdlek.tistory.com RecyclerView (1) 편에서 이해한 내용대로 구현하기위해 워크플로우를 작성하면 다음과 같다. Activity or Fragment에 RecyclerView 작성 아이템의 목록을 나타낼 행 레이아웃 작성 어떤 데이터를 출력할 것인지 데이터 모델 작성 리사이클러뷰 어댑터 작성 리사이클러뷰에 어댑터 연결 및..

Android 2024.02.15

[Android] RecyclerView (1) - 개념 및 구조

1. RecyclerView 란? RecyclerView란 안드로이드 공식 문서에서 데이터에 해당하는 뷰가 표함된 ViewGroup이라고 정의하고 있다. 즉, RecyclerView는 데이터를 표시하기 위해 어댑터, 뷰홀더, 레이아웃 매니저 등의 구성 요소를 사용하여 데이터를 관리하고, 이를 효율적으로 뷰로 변환하여 사용자에게 표시하는 과정 전체를 일컫는다. ListView와의 차이점은 "뷰 재사용" 기법을 사용한다는 것인데, 화면에 보이지 않는 항목의 뷰를 새로운 데이터 항목에 재사용함으로써 성능을 향상시킨다. 이를 위해 뷰홀더(ViewHolder) 패턴을 사용한다. 2. RecyclerView의 구조 RecyclerView의 구조는 크게 3가지로 분류할 수 있다. 데이터 (Data Set) Recyc..

Android 2024.02.14

[Android] SearchView 대신에 EditText 사용하기

Android Studio에는 SearchView가 존재한다. 주로 검색 기능을 제공하는 데 사용되며, 검색 관련 기능을 내장하고 있다. 검색어 제안, 검색 기록, 음성 검색 등의 기능을 손쉽게 구현할 수 있으며 onQueryTextListener를 제공하여 검색 로직도 쉽게 구현할 수 있다. 하지만 원하는 대로 커스텀 하기 불편하기 때문에 EditText를 이용해서 구현해보자. 1. 기본 레이아웃 구성 ConstraintLayout 안에 이미지뷰와 텍스트뷰를 생성한다. 2. 검색 레이아웃 추가 검색 기능 구현을 위한 새로운 ConstraintLayout을 titlebar_layout 아래에 추가한다. 3. 검색 뷰 가시성 설정 현재 titlebar_layout 아래에 검색창이 동시에 존재할 것이다. 우..

Android 2024.02.13

[Android] 프래그먼트 (Fragment)

프래그먼트 (Fragment) FragmentActivity 내의 어떤 동작 또는 사용자 인터페이스의 일부를 나타낸다. 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러개인 UI를 빌드할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있다. 이는 자체적인 수명 주기를 가지고, 자체 입력 이벤트를 수신하고, 액티비티 실행 중에 추가 및 삭제가 가능하다. ⇒ 다른 액티비티에 재사용할 수 있는 “하위 액티비티”와 같은 개념 주요 특징 수명 주기 프래그먼트는 자체적인 생명 주기를 가지며, 이는 호스트 액티비티의 생명 주기에 직접적으로 영향을 받는다. 액티비티가 일시 정지되거나 소멸될 때 프래그먼트도 동일한 상태 변화를 겪는다. ex) 액티비티가 일시정지되는 경우, 그 안의 모든 프래그..

Android 2024.02.12

[Android] 활동(Activity)의 개념

활동 ( Activity) Activity의 개념 : 앱과 사용자의 상호작용을 위한 진입점 모바일 앱 환경은 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작되는 것이 아니라는 점에서 데스크톱 앱 환경과 다르다. ⇒ 한 앱이 다른 앱을 호출할 때 호출 앱은 다른 앱의 활동을 호출 활동은 앱이 UI를 그리는 창을 제공, 일반적으로 하나의 활동 앱에서 하나의 화면을 구현. 즉, 대부분의 앱은 여러 활동으로 구성됨 ⇒ 화면보다 작고 다른 창위에 존재 가능 활동이 앱에서 일관된 사용자 환경을 형성하기 위해 함께 작동하지만 각 활동은 다른 활동에 단지 느슨하게 결합된다. 일반적으로 앱의 활동 간에는 최소한의 종속성만 있다. ⇒ 실제로 활동은 흔히 다른 앱에 속하는 활동을 시작한다. ex) 브라우저 앱은 소셜 미..

Android 2024.02.08

[Android] TabLayout에 ViewPager2 사용하기

TabLayout에 프래그먼트 컨테이너로써 FrameLayout을 사용한다면, 사용자가 직접 스와이프를 할 수 없고 프래그먼트 간의 네이게이션이 더 복잡해질 수 있다. ViewPager - 내장된 스와이프 네비게이션 - 페이지 인디케이터 : 현재 페이지 위치를 시각적으로 표시 - 자동화된 프래그먼트 관리 : FragmentPagerAdapter 또는 FragmentStateAdapter와 함께 사용 - 효율적인 메모리 관리 : RecyclerView 기반 1. Gradle 설정 dependencies { // 기존 종속성들... implementation ("androidx.viewpager2:viewpager2:1.0.0") } 2. XML 레이아웃 작성 Viewpager를 TapLayout 아래에 작..

Android 2024.02.07

[Android] TabLayout 만들기

1. Gradle 설정: 필요한 라이브러리를 프로젝트의 build.gradle 파일에 추가합니다. Gradle Scripts 안에 있는 build.gradle.kts (Module : app)에 추가합니다. dependencies{ implementation("androidx.viewpager2:viewpager2:1.0.0") implementation("com.google.android.material:material:1.2.1") implementation("androidx.recyclerview:recyclerview:1.1.0") } 2. Layout 작성 TabLayout을 작성합니다. 탭이 많아서 스크롤 해야할 경우 다음 속성을 추가합니다. app:tabMode="scrollable" 3. ..

Android 2024.02.07
728x90
반응형
LIST