본문 바로가기

분류 전체보기58

[Android 앱개발 숙련] RecyclerView 리사이클러 뷰 (# 추가하기) 1. RecyclerView 1) 개념 - 안드로이드 앱에서 리스트 형태의 데이터를 표시하는 데 사용되는 위젯 (AdapterView를 표현하는 여러 방법 중 하나) - 여러 아이템을 스크롤 가능한 리스트로 표현, 많은 아이템을 효율적으로 관리하고 보여줌 (세로, 가로 등) - 한정적인 화면에 많은 데이터를 넣을 수 있는 view (view를 재활용해서 사용하겠다는 것) 2) ListView 와 RecyclerView ListView RecyclerView - 사용자가 스크롤할 때 마다 위에 있던 아이템은 삭제되고, 맨 아래의 아이템은 생성되길 반복 - 사용자가 스크롤할 때 위에 있던 아이템이 재활용되어 아래로 이동, 재사용됨 - 삭제와 생성을 반복해 성능에 좋지 않음 - 10개정도의 view만 만들고 .. 2024. 4. 11.
[Android 앱개발 숙련] 어댑터 뷰, 리스트 뷰, 그리드 뷰 (# 추가하기) 1. 어댑터 뷰 : 여러개의 항목을 다양한 형식(이미지뷰 + 텍스트뷰 등)으로 나열하고 선택할 수 있는 기능을 제공하는 뷰 // 하나 만들어두고 재사용하는...st - 표시할 항목 데이터를 직접 관리하지 않고, 어댑터라는 객체로부터 공급받음 어댑터 뷰 어댑터 데이터 원본 1) 리스트 뷰 : 항목을 수직으로 나열 2) 그리드 뷰 : 항목을 격자 형태로 나열 - 객체 배열 - 리소스 - 데이터베이스 - 컨텐츠 프로바이더 1) 어댑터 : 데이터를 관리하며, 데이터 원본과 어댑터뷰 사이의 중계 역할 수행 = 어댑터에 정의된 인터페이스를 바탕으로 필요한 정보를 요청해, 항목 뷰를 화면에 표시하거나 선택된 항목뷰를 처리함 (1) 어댑터뷰가 어댑터를 사용하기 위해서 ㄱ. 데이터 원본이 어댑터에 설정되어야 함 ㄴ. 어.. 2024. 4. 9.
[Android 앱개발 숙련] 뷰 바인딩 - 개념, 설정방법 (# 추가하기) 1. view binding 개념 (+) 뷰와 상호작용하는 코드 쉽게 작성 가능 - 모듈에서 사용 설정된 뷰 바인딩은모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성함 - 바인딩 클래스의 인스턴스에는 상응하는 레이아웃에 ID가 있는 모든 뷰의 직접 참조가 포함됨 - 대부분의 경우, 뷰 바인딩이 findViewById를 대체함 * findViewById와의 차이점 1) Null 안전성 (Null Safety) : 앱이 레이아웃의 각 뷰를 직접 참조할 수 있게 해주는 안전한 코드를 자동으로 생성해 null 오류(뷰가 아직 화면에 나타나지 않았는데 해당 뷰를 사용하려고 하는 등의 문제들)을 예방함 - ex. 아직 null인 것을 안전하게 처리 / 레이아웃의 일부만 뷰가 있을 때 널 가능함을 알려줌 2.. 2024. 4. 9.