안드로이드 개발 책을 보고있는데 이해가 어려운 부분이 있습니다.
ListView earthquakeListView;
ArrayAdapter<Quake> aa;
ArrayList<Quake> earthquakes = new ArrayList<Quake>();
이런 소스에서
ArrayAdapter<Quake> 이것과 ArrayList<Quake>
이게 무엇을 의미하는건가요?
어댑터가 하는일이 무엇인지 궁금합니다.
그리고 <> 꺽쇠 괄호 이게 자바 문법이 맞나요?
자바도 같이 공부하고 있는데 저 괄호는 첨보네요.
가르침 바랍니다.^^
<>는 자바 5 이후로 추가된 제네릭입니다. <Quake>를 선언해줌으로 인해
ArrayList는 Quake형만 받아 들일수 있게되죠 c++의 템플릿과 비슷한 역할을 합니다.
저코드에서 ArrayList로 지진들을 관리하고 ArrayAdapter가 리스트안에 들어있는 Quake의 자료들을
가공하고(ArrayAdapter는 Quake에서 오버라이드한 toString의 리턴값을 리스트뷰에 표시해주는 역할)
ListView에서는 어댑터에서 가공된 자료를 표시하는 역할을 하죠 이미지나 어떤 텍스트 말고도 다른 뷰들을
리스트의 아이템으로 넣어주고 싶다면 ArrayAdapter를 상속하여 getView였나 하는 메서드를 오버라이딩
하면 됩니다.