목록listview (6)
코린이 탈출기
앞의 chapter 6의 내용은 리스트뷰를 직접 사용하는 것을 위주로 다루었습니다. 이번에는 코드 작성을 하는 것이 아닌 리스트뷰의 이론에 대해 자세하게 다루어보겠습니다. 안드로이드 앱은 램이라는 핸드폰의 메모리를 저장하는 곳이 있습니다. 앱을 실행할 때 한 화면에 너무 많은 수의 View들을 배치하면 램이 부족하여 앱이 죽게 됩니다. 즉, 핸드폰 메모리의 용량 초과로 앱이 강제로 종료됩니다. 이 에러를 OOM(Out Of Memory) 발생했다고 표현합니다. 상황에 따라서는 굉장히 많은 수의 목록을 View로 표현하는 경우도 있는데, 예를 들면 인스타그램이나 페이스북 등의 뉴스피드 형식의 앱들이 있습니다. 앱을 보면 거의 무제한으로 데이터가 쌓이고 심지어 제일 처음으로(맨 위로) 돌아가더라도 정보는 그..
리스트뷰의 내용물 변경 사항을 반영하는 것을 다룰 것인데, 이전에 코딩하였던 자료를 참고로 사용하여 설명하겠습니다. 2021.05.11 - [안드로이드/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기] - chapter 6.6 - 리스트뷰의 부가 기능 (1) - 이벤트 처리 - setOnItemClickListener 이전에는 이벤트 처리를 배웠다면 이번에는 목록을 지우는 방법에 대해 다루어보겠습니다. 코드를 작성하는 곳은 MainActivity.kt입니다. 기존에 토스트를 띄우던 49 ~ 52번 줄을 지우고 작성하겠습니다. 길게 누를 경우에는 그 위치에 해당하는 줄을 지워보겠습니다. 지우는 코드는 removeAt입니다. 48번 줄과 같습니다. 여기까지 작성하고 에뮬레이터를 실행해서 길게 ..
이전에는 데이터를 작성하고 어댑터에 연결까지 하였습니다. 2021.05.11 - [안드로이드/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기] - chapter 6.4 - 리스트뷰 만들기 (3) - ArrayList 이용, 실제 목록 추가, 어댑터-리스트뷰 연결 마지막 부분인 실제 데이터가 목록에 반영하는 방법에 대해 다루겠습니다. 코드를 작성하는 곳은 StudentAdapter.kt입니다. 실제 데이터를 목록에 반영하도록 Adapter 클래스를 통해 getView 함수를 사용하였습니다. getView 함수는 데이터를 한 줄씩 반복적으로 뿌려주는 역할을 하고 있습니다. 기존에는 xml에 그려진 내용을 그대로 뿌려주었다면 이제는 데이터를 반영하여 뿌려주도록 합니다. 코드는 student_li..
이전에는 데이터를 만들어서 어떤 모양으로 뿌려질지를 엮어주는 과정으로 Adapter에 대해 다루었습니다. 2021.05.10 - [안드로이드/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기] - chapter 6.3 - 리스트뷰 만들기 (2) - Adapter 클래스 뼈대 작업 이번에는 ArrayList를 이용하여 실제 목록을 추가하고, 어댑터와 리스트뷰를 연결하겠습니다. 코드를 작성하는 곳은 MainActivity.kt입니다. 액티비티에서 실제 목록을 담아줄 ArrayList를 작성해보겠습니다. 액티비티의 멤버 변수(클래스 내부 변수)로 ArrayList를 만들었습니다. 실제 목록에 들어갈 데이터들을 ArrayList 변수에 추가해주겠습니다. 12번 줄과 같습니다. val 목록 변수 명 ..
이전에는 어떤 데이터를 뿌려줄지에 대한 데이터 클래스와 어떤 모양으로 보여줄지를 만들었습니다. 재료를 준비했다고 생각하시면 됩니다. 2021.05.08 - [안드로이드/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기] - chapter 6.2 - 리스트뷰 만들기 (1) - 기초 재료 만들기 이제는 위에서 만든 재료들을 엮어주는 과정인 Adapter을 사용해보겠습니다. Adapter 클래스는 데이터 클래스와 xml을 조합해서 리스트뷰에 뿌려주는 역할을 합니다. 이번 챕터에서는 기초 뼈대 작업만 우선 진행하겠습니다. 실제 데이터를 반영하는 작업은 가장 마지막에 다룰 예정입니다. 정리를 하기 위해 어댑터들을 adapters 패키지에 따로 관리합니다. 만들어진 패키지가 따로 없기 때문에 새로 만들..
ListView는 목록 표시의 기초라고 보시면 됩니다. 같은 모양이 목록으로 반복적으로 나타날 때 사용하는 것입니다. 즉, 여러 줄을 비슷한 모양으로 자리에 맞는 데이터만 변경해 놓은 것을 말합니다. 예를 들면 부동산 어플이 있습니다. ListView에서는 데이터 클래스, ArrayList, Adapter 이 세 가지를 같이 사용합니다. 하나씩 살펴보겠습니다. 그전에 참고 사항으로는 ListView는 안드로이드 기초 중에서 난이도가 가장 높은 편입니다. 초반에 다루는 이유는 ListView가 익숙해지면 다른 비슷한 사용법을 가진 요소들을 쉽게 따라 할 수 있기 때문입니다. ListView는 안드로이드 목록을 표기하는 방법 중 제일 오래되고 가장 기초입니다. 그래서 요즘은 ListView 대신 Recycl..