-
[Develop&Design] '강남대학교 시간표(new)' 안드로이드 AppMhwan's Develope/Android App 2020. 1. 2. 22:40
## 기능
- 강남대학교 서버로 필요 정보를 받아옴 (로그인 필요, 시간표, 학점 내역, 학사일정표, 교내 장소 정보)
- 자동로그인 제공
- 시간표 : 로그인만 하면 시간표를 바로 받아올 수 있음 (입력 미필요)
- 학점계산 및 관리 : 이번학기 듣는 과목으로 미리 학점 계산 및 지난 학기 학점 계산
- 일정관리 : 수강하는 과목의 과제 등 다양한 일정을 등록하여 필요할 때 알람을 해주는 스케쥴러 기능
- 캠퍼스맵 및 교내 장소정보 : 캠퍼스 지도는 물론 각 관마다 위치한 강의실, 연구실, 실습실 등 모든 장소를 찾을 수 있음
- 등록금 및 장학금 : 서버로 부터 등록금 및 장학금 내역을 받아와 보여줌
- 도서관 도서 정보 및 열람실 실시간 좌석현황 제공
- 교내 셔틀버스 시간표
## 개발 기간
- 2018.12월부터 약 3달 동안 개발
- 이후 오랜기간의 테스트를 거쳐 2018. 09. 01 출시
## 개발 환경
- JAVA, Android
- Sqlite
## 사용한 주요 라이브러리
- Gson, Jsoup, HttpUrlConnection (교내 서버와의 연결 및 각종 정보를 Json형태로 주고받기 위해 사용)
- Daum Map (교내 캠퍼스맵을 다음 지도로 지원)
- Sqlite (안드로이드 내장 Database)
## 개발 사항
- 로그인 로직 : 교내에서 로그인 및 각종 정보에대한 API를 제공하지 않으므로 직접 학교 홈페이지 및 앱의 분석을 통해 개발에 사용
- 자동로그인 및 사용자 정보 : 로그인 시 Response의 Cookie값을 Android Preference로 저장하고 후에 다른 정보를 받아올 때 Request의 Cookie로 사용하는 방식
- SSLHandShakeException : 2020.03.07 학교의 SSL 인증서 기간 만료로 인해 로그인 시 SSLHandShakeException 발생
(당시 이 오류 발생으로 인해 하루 동안 서비스가 안되는 문제가 있었음 )해결방법 : 이 방법을 사용하려면 인증서를 다운받거나 X509TrustManager를 이용해 인증서를 무력화 시키는 방법을 이용한다
-> 무력화 시키는 방법 : https://mhwan.tistory.com/47- 따라서, 기존의 방법을 사용해서 네트워크 접속을 시도하고 실패시 인증서를 무력화 시키는 위 방법을 사용하여 재시도
(이렇게, 총 3번을 재시도 하는 방법으로 해당 문제 해결)## 링크
- PlayStore : https://play.google.com/store/apps/details?id=com.mhwan.kangnamunivtimetable
## 주요 화면
'Mhwan's Develope > Android App' 카테고리의 다른 글
[Develop&Design] 'PICA' 안드로이드 App & Server (0) 2021.02.02 [Develop & Design] '마스크파인더' 안드로이드 App (0) 2020.03.21 [Develop&Design] 'CheckMoney' 안드로이드 App (0) 2020.01.02 [Develop&Design] 'eZ Message' 안드로이드 App (0) 2016.10.25 [Develop&Design] '결정장애 탈출' 안드로이드 App (0) 2016.10.25