시작 전
오늘 만들어 볼 것은 "내 위치 자동 기록" 어플을 만들어 볼 것입니다.
내 위치 자동 기록이라고 하니까, 어색하게 느껴지시죠?(내가 쓴건데 내가 어색함🥴🥴)
무엇은 만들 것이냐면, 현재 내 위치를 일정 시간마다 자동으로 기록해주는 어플을 만들어 볼거에요.
요즘 IoT 제품중에 자녀, 어르신들의 위치를 일정 시간마다 보호자에게 전달해주는 제품도 있어요. 이러한 아이디어를 토대로 앱인벤터로 어플을 만들어 볼게요.
사용 영상
디자인
속성 변경사항
보는 방법
- 각 속성 맨위에 속성 - 이름(ex. 수평배치1, 레이블_기록단위)을 확인한다
- 변경된 속성과 같이 변경한다(박스가 있는 것은 변경된 것. 가끔 실수할 수 있음ㅎ)
위에 보는 방법을 숙지해주시면 더 편하게 보실 수 있으실 겁니다.
블록 코딩
변수는 2개를 사용할 것입니다.
"위치_기록" 변수는 일정 시간마다 현재 위치를 담을 리스트로 만들었습니다.
"기록_단위" 변수는 일정 시간에 대한 설정을 할 수 있게 해뒀습니다. 1초당 1000으로 계산하시면 됩니다. 즉, 5초는 1000x5가 되는 것이죠. 참고로 기록단위 변수는 시계의 간격에 사용됩니다.
스크린이 초기화되면(어플이 실행되면) 스피너에 요소들을 추가해줘야 선택을 할 수 있습니다. 위 코드처럼 요소 값을 안넣어주면 스피너가 빈칸이 됩니다. "get(Keys)"는 딕셔너리에서 Key값만 불러옵니다. 이 블록 안쓰면 "(5초 5000)" 이렇게 스피너에 나오게 됩니다.ㅎ
스위치가 변경되면 On일때는 Off로, Off일때는 On으로 변경해줍니다. 스위치가 켜지면 시계 센서와 위치센서도 같이 켜줍니다. 시계 센서가 켜지기 전에 타이머 간격을 딕셔너리+변수를 이용해 변경해줍니다.
스피너를 다른 기록 단위(5초,10초,1분...)으로 변경되면 스위치를 Off 시켜 시계 센서와 위치 센서를 꺼줍니다.
시계센서가 작동될 때, 위치센서를 이용해서 현재 위치를 파악하고, 위치를 기록(변수)합니다.
위치를 기록하는 양식은 다음과 같습니다.
ex)
날짜 : 2022년 4월 13일
시간 : 오후 01:00:00
위치 : (현재 주소)
위치센서의 경우, 정확도가 상당히 떨어집니다. 이유는 자세히 모르겠어요😪😪
하지만, 중요한 건 알죠. 건물내에서 위치센서를 작동하면 "No address available"라고 뜨죠. 해석을 하자면 "주소를 모르겠습니다" 일거에요 아마..?
설명을 해드리자면 건물내에서는 위치센서의 성능이 뚝하고 떨어집니다. 다행히 건물 밖에서 작동시키면 위치를 금방 찾아냅니다.
중요한 건 "No address available"이 자주 발생하니까, 조건문(if)을 써서 "위치를 찾을 수 없습니다"라고 바꿔줬습니다.
사실 함수를 사용안해도 되지만, 혹시 모를 확장을 위해 함수를 자주 사용하는 것이 좋습니다.
후기
원래는 이렇게 까지 자세히 안쓸려했는데, 너무 대충 쓰니까 다른 사람이 못 알아볼 거 같더라구요.
그래서 정성껏 써봣습니다. 처음이니까 이만큼 썻을수도...?
모르는게 있으시면 댓글or메일 보내주시면 됩니다. 😣😣
'앱인벤터 강좌' 카테고리의 다른 글
[앱인벤터 강좌] 나만의 암호 메모장 만들기(암호 모르면 못봐) (0) | 2022.04.27 |
---|---|
[앱인벤터 강좌] 내 위치 지도에 띄우기 및 자동 운동 경로 만들기 (0) | 2022.04.18 |
[앱인벤터 강좌] 5개 국어 번역기 만들기 (0) | 2022.04.07 |
[앱인벤터] 앱인벤터 만들어 놓은 어플 리스트 (0) | 2022.04.04 |
[앱인벤터 강좌] 그림판 어플 만들기 (0) | 2022.03.28 |