728x90

전체 글 62

[Android] RecyclerView를 update하는 메소드

요약 전체적으로 업데이트 notifyDataSetChanged() 아이템 내용 변경 notifyItemChanged(int position) notifyItemChanged(int position, Object payload) notifyItemRangeChanged(int positionStart, int itemCount) notifyItemRangeChanged(int positionStart, int itemCount, Object payload) 아이템 추가 notifyItemInserted(int position) notifyItemRangeInserted(int positionStart, int itemCount) 아이템 이동 notifyItemMoved(int fromPosition, in..

Android 2024.02.28

[Android] RecyclerView - GridLayout 구현하기

RecyclerView를 카드뷰 형식으로 LinerLayout 형태로 만들어 보았다. 오늘은 GridView 형식으로 RecyclerView를 만들어 보자. 1. Layout 만들기 액티비티에 RecyclerView를 생성하고, 각 행의 아이템을 나타내줄 레이아웃도 작성해준다. 이때, row.xml에서 최상단 ConstraintLayout과 CardView는 wrap_content로 설정하여 아이템 항목에 맞춰 감싸준다. // activity_main.xml // row.xml 2. Adapter 작성 RvAdapter.java 파일을 생성한다. RvAdpater는 RecyclerView의 Adapter 클래스를 상속받아 MyViewHolder라는 내부 클래스를 사용하는 커스텀 어댑터를 정의한다. // ..

Android 2024.02.27

[Android] Retrofit2 통신과정과 사용법 / JSON 파일 받아오기

Retrofit은 HTTP API를 Java 인터페이스로 변환해주는 타입 안전한 HTTP 클라이언트 라이브러리이다. 즉, RESTful API와의 통신을 간단하고 효율적으로 만들어주는 것을 목표로한다. Retrofit은 선언적인 방식으로 API를 정의하고, HTTP 요청과 응답을 위한 인터페이스 기반의 선언적인 방식을 제공한다. 이를 구현하여 네트워크 요청을 손쉽게 처리할 수 있게 해준다. 안드로이드 앱 개발에서는 UI를 변경하거나 갱신하는 작업은 메인 스레드(또는 UI 스레드)에서만 수행해야 한다. 그러나 네트워크 작업, 대용량 데이터 처리, 복잡한 계산과 같은 시간이 많이 소요되는 작업은 메인 스레드에서 실행하면 앱이 느려지거나 "응답 없음(ANR)" 오류가 발생할 수 있다. 과거에는 AsyncTas..

Android 2024.02.22

[Android] Glide를 사용해서 네트워크 이미지 로드하기

Glide 라이브러리 Glide는 안드로이드용 오픈 소스 이미지 로딩 라이브러리로, 비동기 이미지 로딩, 이미지 캐싱, 애니메이션 등 다양한 기능을 제공한다. Glide는 특히 리스트나 그리드 같은 컬렉션 뷰에서 스크롤 성능을 향상시키기 위해 설계되었다고 한다. 서버에 있는 이미지(URL)를 로드하기위해 사용되며 재사용, 디스크 캐싱, 메모리 관점에서 매우 효율적이다. 공식문서 ▼ https://github.com/bumptech/glide?tab=readme-ov-file GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling An image loading and caching..

Android 2024.02.21

[Android] RecyclerView 스크롤 차단하기

android:overScrollMode 사용자가 컨텐츠의 시작이나 끝에 도달했을 때 발생하는 오버스크롤(콘텐츠를 넘어서 스크롤하는 것처럼 보이게 하는 효과)의 모드를 설정합니다 auto: 기본값으로, 스크롤 뷰가 오버스크롤을 할지 여부를 시스템이 결정합니다. always: 항상 오버스크롤 효과를 표시합니다. never: 오버스크롤 효과를 결코 표시하지 않습니다. android:overScrollMode="never" android:nestedScrollingEnabled 뷰가 중첩 스크롤을 지원할지 여부를 결정합니다. 중첩 스크롤은 한 스크롤 뷰가 다른 스크롤 뷰 내부에 있을 때, 사용자의 스크롤 동작이 어떻게 처리될지를 관리합니다. true: 중첩 스크롤을 활성화합니다. false: 중첩 스크롤을 비..

Android 2024.02.20

[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
728x90
LIST