본문 바로가기
Coding/Making

App - 반려동물 어플

by ZaRi 2023. 7. 7.

 

 이번에 학교에서 기말고사 프로젝트로 만들었던 동물 정보 어플에 대해서 간단하게 적어볼려고 합니다.

 

https://www.animal.go.kr/front/awtis/public/publicList.do;jsessionid=uNQTzGo8dpyWXE3Y41sVzgavP9MGEUTpXP1FOZT4risqaWz7xq2c73pYfTSkHHio.aniwas_servlet_front?menuNo=1000000055

 

국가동물보호정보시스템  공고

공고기간 종료개체는 "보호중·보호종료 동물" 메뉴에서 확인하시기 바랍니다. 「동물보호법」 제40조, 같은 법 시행령 제16조제1항 단서 및 같은 법 시행규칙 제24조제1항에 따라 구조된 동물의

www.animal.go.kr

 

 해당 국가 동물정보 사이트를 웹크롤링해서 만들었습니다. 하지만 이제 비공식적인 앱이기도 하고 조 프로젝트로 만든 어플이라 소스코드는 따로 올리지 않겠습니다.

 


구성

 구성은 시작화면, 메인화면, 자세히보기 화면으로 크게 나눌 수 있을 것 같습니다.

 웹페이지 내용을 크롤링 해서 안드로이드 환경해서 더 보기 쉽게 출력해서 보여준다는 것에 초점을 맞췄습니다.

 우선 비공식적인 앱이고, 국가 사이트의 정보이기 때문에 혹시라도 걸릴 수도 있어서 대략 적인 내용들은 가리겠습니다.

 

 

시작화면

국가-로고가-그려져-있는-시작화면
시작화면

 

 

 처음 실행하게 되면 이 시작화면이 나오고 2초정도 로딩이 됩니다.

 그리고 인텐트를 사용하여 구현하였습니다.

 (시작화면만 좀 사진이 다를 텐데 안드로이드 애뮬레이터에서 실행을 해보니 로고가 출력이 안돼는 오류가 있어서, 제 폰에서 찍은 사진으로 대체하였습니다.)

 

 

 

메인화면

- 초기화면, 검색창

 

메인화면과-상세검색-눌렀을때-나오는-화면이-보인다.
메인화면1

 

 로딩이 끝나고 들어가게 되면 동물 정보들이 싹 나오고, 상세 검색버튼을 누르면 더 상세하게 검색이 가능하게 됩니다.

 아래에 페이지 번호를 누르면 그 페이지 번호로 넘어가게 됩니다.

 

 

 

- 상세검색

 

날짜,도시,동물-등-상세설정-메뉴가-보이고-있음
상세검색

 

 날짜 부터 도시, 종 등을 설정해서 검색할 수 있습니다. 시도가 바뀔 때마다 시군구 메뉴도 같이 바뀌고 축종(고양이, 개, 기타)가 바뀔 때마다 종 선택 메뉴도 같이 바뀌게 됩니다. 

 

 

 

- 검색 후

 

검색결과를-출력하고-있음
메인화면2

 

 조회 버튼을 눌러 검색을 하게 되면 검색 결과가 나오게 됩니다. 검색 결과만큼 데이터가 출력되고 페이지 수가 결정됩니다. 그리고 결과가 없으면 결과가 없다고 뜨게 됩니다.

 

 

 

자세히보기 화면

 

- 자세히보기 버튼 눌렀을 때

 

자세히보기

 

 자세히 보기 버튼을 누르게 되면 이제 목록에 있던 동물의 사진이 크게 나오고 동물에 대한 설명이 출력되게 됩니다.

 그리고 오른쪽 위에 전화버튼을 누르면 자동적으로 전화앱으로 전화번호가 연결되어 통화할 수 있게 해줍니다.

 

 

 

느낀점

 이번에 처음으로 어플을 만들기도 했고, 처음으로 프로젝트를 다른 사람들과 해보았습니다. 

 저는 이제 시작화면, 상세 검색부분을 맡았었는데 생각보다 작업하는데 오래 걸렸습니다. 그래서 왜 프로젝트를 분할해서 업무를 담당하는 지 이번 기회에 좀 알게 되었습니다. 

 또한 확실히, ArrayList나 HashMap등 가변적인 배열구조를 사용하고 함수, 반복문을 사용하니까 좀 생각할게 많아지더라도, 효과적으로 코드량을 줄일 수 있었습니다.

 그리고, 웹크롤링하는 프로그램을 처음 만들어보았는데, 저번에 음식호불호테스트 웹사이트 만든게 도움이 많이 되었어서 정말 코딩하는 사람들은 여러가지 방면으로 알고 있는게 좋겠다라는 생각이 들었습니다.

 국가 사이트다 보니까 데이터를 막아놨다는 말을 들어보기도 했고, 제가 웹크롤링을 하려고 보니까 일부러 데이터를 쉽게 못 가져가게 처리를 해놓은 게 많이 보였어서, 어떻게든 뚫어서 데이터를 가져오긴 했지만 혹시 모르니까 사진을 많이 가려 놓았습니다.

 어쨋든, 이번 경험을 통해서 많은 것을 배우고 느낀 것 같고, 다른 어플들도 만들어보고 싶다는 생각이 들게 되었습니다.

 

 


 

 요즘에, 시험도 끝나서 아마 자바에서 중요하게 생각했던 것들? 그리고 안드로이드 스튜디오에서 중요하게 생각했던 것들을 블로그에서 정리해볼 것 같습니다.

 그리고 이번에 자바를 통해서 안드로이드 네이티브 어플을 만들어보았습니다. 근데 저는 물론 안드로이드 네이티브 어플에 대해서도 공부할 게 많겠지만, 아이폰 ios 어플도 같이 호환되는 어플도 만들어보고 싶습니다. 그래서 이번 방학동안에 플러터를 공부해서 안드로이드, 아이폰 어플을 1인 개발도 해보고, 또한 chat gpt api 를 사용한 서비스도 지금 만들어볼까 구상중에 있습니다.

 그럼 끝!!

댓글