[결과물] 스마트닥터

by Blogger 하얀쿠아
2011. 10. 27. 00:19 수행 프로젝트 이력/Smart Doctor (AndroidApp)[2010.06~09月]

2010년 7월 ~ 10월 수행.
안드로이드, 자바를 배우면서 수행한 프로젝트.

수행인원
 5명 (디자인 1.5명, 기능구현 3.5명) 

맡았던 부분
 - 질병정보 데이터베이스 설계 및 App에서의 구현
 - 건강뉴스 XML 파싱 및 뉴스 스크랩 기능 구현
 - 병원 정보 XML 파싱 결과에 구글 지도 연동 (병원 별 마커 표시 등)

 

- 메인메뉴



- 자가진단
본 프로젝트에 내가 맡은 파트중 가장 첫번째로 구현한 부분이다.
안드로이드도 처음, 자바도 처음, 데이터베이스도 실제 구현해본 경험이 없는 상태였기에 구현에 많은 고생을했다.

우선 자가진단 DB는 4개의 테이블로 되어있다.


위 4개의 테이블이 기능 flow에 따라 아래와 같이 보여지며 진행된다.
 


자신의 몸에 이상증상이 나타날 경우, 의심되는 질병을 진단하도록 한다.

머리가 아플경우, 배가 아플경우, 무릎이 아플경우, 등등 이상증상이 발생한경우

머리, 배, 무릎 등의 신체의 부위를 입력받고, 그 부위에서 발생한 증상을 입력받는다.

입력 정보를 기초로 하여, 예 ‧ 아니오 로 답할 수 있는 몇가지 질문을 통해 사용자의 대답을 입력받는다.

최종적으로는 이러한 정보를 종합하여 의심되는 질환/질병을 사용자에게 알려준다.

추가적으로 진단결과를 기반으로 가까운 병원을 검색할 수 있다.




 - 병원찾기
 >>> 현재 위치 기반 :
안드로이드폰의 GPS, WiFi, 3G 등을 통해 현재 사용자의 위치정보를 파악한다.
이 정보를 기반으로 주변에 있는 병원을 찾아서 목록으로 보여준다.

이 기능은 자가진단의 결과와 현재위치를 조합하여 병원을 검색하기때문에 자가진단 결과화면에서만 수행할 수 있다.

검색된 병원 목록에서 선택을 하면 메뉴를 통해 여러 기능을 수행한다.
- 선택된 병원의 위치를 시각정보(지도)로 보여준다.
- 선택된 병원의 상세정보(전화번호, 주소, 원장 이름, 진료 과목 등)를 보여준다.
- 선택된 병원을 나중에 검색하지 않고도 정보를 볼 수 있도록 스크랩할 수있다.
- 선택된 병원에 바로 전화를 걸 수 있다.

 >>> 주소지정 :
 시/도, 구/시/군, 읍/면/동 으로 나누어 주소를 입력받는다.
사용자가 입력한 주소를 기반으로 주변 병원을 검색한다.

검색된 병원 목록에서 선택을 하면 메뉴를 통해 여러 기능을 수행한다.
- 선택된 병원의 위치를 시각정보(지도)로 보여준다.
- 선택된 병원의 상세정보(전화번호, 주소, 원장 이름, 진료 과목 등)를 보여준다.
- 선택된 병원을 나중에 검색하지 않고도 정보를 볼 수 있도록 스크랩할 수있다.
- 선택된 병원에 바로 전화를 걸 수 있다.

 
 


진료과목, 시/도, 구/군, 읍/면/동 을 선택하여 병원을 검색할 수 있다.
병원 검색결과에서, 특정병원을 선택하면 팝업메뉴가 생성되고 원하는 동작을 수행할 수 있도록 사용자의 선택을 기다린다.
 

지도로보기, 병원 상세 정보 보기 두가지 동작 화면이다.


 - 건강뉴스 및 스크랩북 기능
건강뉴스기능은 www.kormedi.com 에서 제공하는 건강뉴스를 수신한다.
사용자에게 업데이트메뉴를 제공해 원하는 시점에 최신의 뉴스를 받아볼수 있다.
수신한 뉴스를 읽고 유용해서 주변인들과 공유하고 싶다면, SMS로 전송할 수 있다.
따로 스크랩을 통해 저장해 놓을 수 있다.

스크랩북 기능은 병원검색결과와 건강뉴스를 스크랩 해둘 수 있게 한다.
어떤 특정 병원의 정보를 자주 조회해야 할 경우, 스크랩 해두면 매번 검색해야 하는 불편함을 덜 수 있다.
건강뉴스의 경우는, 업데이트를 하면 오래된 뉴스는 목록에서 삭제되는데, 보관하고 싶은 뉴스는 따로 스크랩을 해두면 업데이트를 해도 삭제되지 않는다.
 


건강뉴스 초기화면에서 ‘메뉴’키를 누르면 하단에서 메뉴가 올라온다.
메뉴를 통해 업데이트를 하거나, 이미 수신된 뉴스르 비우거나, 설정을 통해 한번에 수신할 뉴스의 건수를 설정할수 있다.
뉴스 수신을 위해 사용자에게 확인창을 띄우고, ‘예’를 누를경우 뉴스수신을 진행한다.
백그라운드 스레드에서 XML파싱이 이루어지며, 메인스레드는 사용자에게 수신중이라는 다이얼로그를 보여주다가, 백그라운드 스레드가 완료메세지를 핸들러로 보내오면, 수신결과를 리스트화하여 보여준다.


뉴스를 조회하는 화면에서 메뉴키를 누르면 스크랩, 문자로보내기 등의 기능을 수행할 수 있다.
마이메뉴는 자가진단 결과, 병원검색결과, 건강뉴스를 로컬데이터베이스에 스크랩해두고 조회할수 있는 기능이다.

이 댓글을 비밀 댓글로

대한민국 앱 공모전 1회

by Blogger 하얀쿠아
2010. 11. 1. 16:51 수행 프로젝트 이력/Smart Doctor (AndroidApp)[2010.06~09月]


기간
2010. 7. ~ 2010. 9

응모작품명
스마트닥터

결과

3차 심사 탈락

요약
내가 하루 15시간씩 1주일간 JAVA를 공부하게 만든 공모전.
그후 하루 15시간씩 2개월간 안드로이드SDK 공부 + 코딩을 하게 만든 공모전.
몸은 힘들지만 내가 하고싶은것을 하면 정신적으로는 전혀 피곤하지 않다는것을 깨닫게 해준 공모전.

후기
2010년 7월이 끝나갈 무렵.
대학교 2학년 1학기를 끝내고 여름계절학기로 선형대수학을 공부하며 학교앞 원룸에서 심심한 나날을 보내던 중.

 같이 선형대수학 수업을 듣던 후배로부터 공모전참여 제의를 받았다.

그 후배를 포함하여 4명의 컴퓨터공학부 학생들이 한팀이 되어 이미 공모전에 제출할 앱을 개발중인데

함께 하지 않겠느냐는 제의였다. 앱은 안드로이드용 앱을 개발 한다고 했다.

 

나는 당시 JAVA라는 언어를 전혀 모르는 상태였지만 하고싶어서 끼워준다면 한다고 했다.

 

결국 공모전을 같이 하게되었다.

팀구성원들은 3학년 2명, 나를포함한 2학년 3명.

3학년 2명은 JAVA도 공부한 상태이고 안드로이드를 어느정도 공부한 상태였지만

나를포함한 2학년 3명은

 

 (ㅇ_ㅇ)???

 

 이런 상태였다. 모르면 공부를 해야하지 않겠나 싶어서 ..

8월 한달동안 아침 7시부터 밤 12시까지 자바, 안드로이드를 계속팠다.
결국 9월 10일에 앱제출을 하는데는 성공했지만.. 내 몸과 마음은 만신창이가 되었다는 후문이 있다.

이 댓글을 비밀 댓글로