[강의록] 제 3주차 LIstView, ArrayAdapter
간격은 조금 있지만
3주차 강의 ListView와 ArrayAdpater 사용법에 대해서 알아보겠습니다.
우리가 사용할 것은 Adpater라는 디자인 패턴이에요
어댑터(Adapter)는 원하는 묶음의 데이터를 지정된 양식에 맞게 자동으로 내보내주는 방법을 의미합니다.
자바에서 기본적으로 제공해주는 ArrayList<T> 제너릭에 데이터 묶음을 넣을 거구요
그것을 안드로이드에서 제공하는 ArrayAdapter<T> 라는 제너릭을 이용해서 리스트뷰에 연결 시킬 것입니다.
아래의 그림을 보시면 3단계로 나타내 봤어요
1. ITEM들을 ArrayList<T>에 넣는다.
2. ArrayAdapter<T>로 어떻게 보여줄 것인지 지정한다.
3.원하는 ListView에 보여준다.
***이렇게 3단계로 기억해주시면 됩니다.
다음으로 코드 분석입니다.
XML은 별거 없기 때문에 따로 설명안하구요
어렵게 느꼈던 자바만 설명을 붙였습니다.
클래스의 필드부분엔 역시나 XML에 있는 객체들을 선언했고, 이전과는 다르게
ArrayList<T>와 Adapter를 선언했습니다.
정보하나를 담는 그릇 - > 내부 Class
그릇들을 차곡차곡 쌓는 저장소 -> ArrayList
저장소의 정보를 차례대로 보여주는 연결 기능 -> Adapter
라고 생각하시면 됩니다.
맨 아래에서 버튼에 적용한 이벤트는 저번에 했던 내용의 응용 버젼입니다.
우리가 원하는 모양으로 보여줄 Adapter를 작성하는 부분입니다.
기본적으로 안드로이드에서 제공하는 ArrayAdapter를 상속받아 오버라이딩 하여 사용합니다.
가장 중요한 getVIew()라는 메소드를 오버라이딩 하여 보여주고 싶은 모양(XML)에 있는 객체들을
선언하고 각 객체에 넣고 싶은 정보를 넣어줍니다.
원하는 데이터를 넣을 그릇입니다.
응용하면, 글, 글쓴이, 댓글숫자, 좋아요숫자 등등등 여러가지 데이터를 만들 수 있습니다.
나중에 서버와 통신하게 되면, 서버의 데이터베이스를 담을 수 있게됩니다.
핸드폰 내부에 데이터베이스를 만들 게 되어도 정보를 처리할 때 이렇게 클래스를 만들어서
처리하면 편합니다.
이부분이 갖아 아래에 있는 이유는 제일 수정할일이 없기 때문에 밑에 작성했습니다.
위치같은건 상관없어요, 버릇입니다.
XML 2개와 JAVA 1개가 들어있는 파일입니다.
내용이 더 궁금하시다면
직강을 들어보세요.... 이번꺼는 퀄리티가 조금...
다음 번에는 Intent를 이용한 화면 전환과
데이터 넘겨주기를 해보겠습니다.
Intent까지 한다면 기본적인 어플은 다 만들 수 있는 수준이 됩니다.
앞으로의 스터디는 이런 강의 보다는 집단 지성으로....기대해봅니다.