Skip to content

unso99/FirstAndroidProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

header

Overview ⭐️

  • Application Name: 대중교톡
  • 지도 어플을 이용한 대중교통 커뮤니티 어플
  • 노원구에 있는 지하철역과 버스 정류장에 대한 채팅방을 열어 익명의 사람들과 대중교통 출발 및 도착에 대한 정보를 공유하는 어플

Main application use-cases 🍪

  • Community Mapping: 지도를 만드는 과정에서 지역사회 구성원과 이해관계자들의 관심을 유도하고 이들의 커뮤니티에 대한 계획 및 의사결정에 참여하도록 하는 총제적인 과정을 의미

커뮤니티 맵핑

Expected Components to be used for our development 🔧

지도 서비스 구현

  • naverMap api를 사용해서 mapView를 구성
  • mapView안에 Marker, infowindow, 현재위치기능, cameraposition update를 사용

장소 검색 기능

  • webView를 사용
  • firebase에 다음 도로명주소 api를 적용시킨 html을 hosting하여 webView 페이지를 불러옴

실시간 지하철역 도착 정보

  • Odsay api를 이용
  • api를 통해 json 데이터를 받아와서 retrofitConnection를 이용하여 json 데이터를 원하는 데이터구조로 처리
  • mapView 내의 각 지하철역의 마커의 infoWindow에 가장 가까운 시간 2개의 정보를 가져옴

알람 기능

  • spinner를 통해 원하는 지하철 역명을 가져옴
  • 라디어그룹버튼을 이용해 원하는 지하철 방향을 가져옴
  • broadcastReceiver와 notificationManager, alarmManager를 활용하여 원하는 지하철 역, 방향에 대해 제일 가까운 시간에 대해 알람 기능

채팅 기능

  • Firebase Authentication을 사용하여 사용자 인증을 처리,
    signAnonymously()를 활용하여 사용자를 익명으로 등록
  • Firebase Realtime Database를 사용하여 채팅 메시지를 저장,
    메시지를 작성하면 데이터베이스에 저장하고, 변경사항을 실시간으로 감지하여 화면에 업데이트
  • Intent를 사용하여 카메라 어플로 이동
  • Firebase Storage를 사용하여 이미지를 업로드,
    업로드한 이미지의 URL을 Realtime Database에 저장하여 채팅방에 이미지를 표시

Function implementation 🔧

  • Geocoder : 지오코더 함수로 주소를 위경도로 바꿔준다.
  • Rgeocoder : 역지오코더 함수로 위경도를 주소로 바꿔준다.
  • setAlarm : AlarmReceiver에 알람을 설정하고 싶은 시간을 넘겨주며 알람을 설정해준다.
  • getPublicTransportationData : odsay api를 활용하여 얻은 지하철역 시간표 데이터를 retrofiConnection과 retrofitApi를 활용하여 DTO에 맞게 가져온 후 원하는 지하철 시간표를 가져오는 함수이다.
  • getInstance : retrofit 객체를 반환하는 함
  • putMessage : 채팅창에서 입력한 메시지 Firebase database에 push하는 함수
  • getMessage : 메시지 database에서 event가 발생했을 때 메시지를 firebase에서 가져오는 함수
  • getDateTimeString : 현재 날짜 및 시간을 문자열로 반환하여 메시지 보낸 시각 불러오는 함수
  • TakePicture : Intent를 활용하여 카메라 앱으로 이동하는 함수
  • sendImage : 촬영한 이미지 메시지를 Firebase database에 push하는 함수
  • uploadImageToFirebase : 사진촬영한 이미지를 Firebase Storage에 업로드하고 업로드한 이미지의 URL을 얻어와 sendImage를 호출하는 함수
  • getDateText : adpater에서 전달된 날짜 및 문자열을 "오전 HH:mm" 혹은 오후 HH:mm" 형식으로 변환하여 문자열로 반환하는 함수

어플 사진

  • 메인 Activity 및 mapFragment
- 지하철이 없을 때

- 알람 버튼을 눌렀을 때
- searchActivity
- 검색한 장소 마커 위치 버튼을 눌렀을때(사람모양버튼)

- chatFragment
- 카메라 버튼을 눌렀을 때
-다른 사람의 채팅

Development History 🌳

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors