상반기/서버

[Firebase] 전체 식물 정보 리스트

똥방구쟁이 2021. 6. 5. 02:26

식물원의 전체 식물 정보를 볼 수 있는 식물 정보창을 구현하려고 한다.

 

 

전체 식물 정보를 보여줄 화면은 ListView를 사용하였고, 식물 검색 기능에 필요한 EditText와 돋보기 이미지를 넣은 ImageButton도 추가하였다. (왼쪽 사진)

ListView에서 식물의 사진과 이름을 같이 보여주기 위해 plantlist.xml을 따로 생성해서 ImageViewTextView를 추가하였다. (오른쪽 사진)

 

 

Adapter를 생성하려면 getCount(), getItem(), getItemId(), getView() 4가지 메소드를 추가해야 한다.

getCount() list에 있는 아이템의 총 개수

getItem() list 중 해당 위치 아이템

getItemId()는 해당 위치 position

getView()는 해당 위치 View return해주는 메소드이다.

 

 

AdapterListView plantlist를 연결해 주는 역할을 한다.

 

 

그리고 검색 기능을 위해 Adapter 내에 따로 filter() 메소드를 구현하고, ListView에서 제공하는 이벤트 리스너를 추가하였다.

아직 검색어를 입력했을 때 내용이 걸러지지 않는 오류가 있어서 추후에 수정할 계획이다.

 

 

식물의 데이터는 Firebase를 이용해서 불러온다.

DB 구조의 문제인지 코드의 문제인지 안드로이드 스튜디오 내에서 오류는 뜨지 않지만 DB의 마지막 값만 불러와 정렬되는 문제가 있다.

추후에 수정할 계획이다.

 

 

실행모습