[앱인벤터] 지하철 7호선 (1)
프로젝트 진행일: 2022년 5월 28일(토) ~ 10월 8일(토)까지
1. 기획:
지하철 7호선 노선을 공공데이터 api를 활용하여, 지하철 역정보를 실시간 확인할 수 있는 어플을 만들자.
전부 다 만드는거는 오래걸리고 힘드니까, 일단 7호선만 만들기로 함.
2. 역정보 가져오기
API문서 읽기:
- 역정보 받아오기
- 열차정보 받아오기
실시간 열차정보는 너무 상세한 내용이 나오기 때문에,
일단 역정보부터 확정하기로 했다.
서울 공공데이터로 검색하면 사이트가 나오는데, "서울 열린데이터 광장"사이트로 들어가면 된다.
https://data.seoul.go.kr/
열린데이터광장 메인
데이터분류,데이터검색,데이터활용
data.seoul.go.kr
회원가입을 하고, 오픈API 사용 요청을 해야한다.
인증키를 받은 다음, 해당 키를 넣어서 호출하면 데이터를 받아 사용할 수 있다.
내가 원하는 데이터가 있는지, 어떤 식으로 가져오는지는 샘플 데이터를 보면 알 수 있다.
오픈API탭에 가서 샘플URL을 눌러보면, 데이터가 어떤식으로 오는지 알 수 있기 때문에
JSON파일을 파싱해서 원하는 값을 결과로 받아올 수 있다.
역정보가 어디에 있는지 확인한다.
STATION_CD(역 코드)
STATION_NM(역 네임)
LINE_NUM(05호선)
데이터 파싱:
실제로 사용한 데이터는 "서울교통공사 노선별 지하철역 정보"를 사용하였다.
앱인벤터는 딕셔너리 형태로... 2차원리스트를 인식하지 못하기 때문에...
JSON파일을 리스트로 까고 또 까고 하기로 했다.
웹1으로 URL값을 가져와서 (검정색 부분은 발급받은 인증키가 들어간다), 합치기를 통해서 JSON파일을 디코딩하여 받는다.
dataparsing에 담은 다음, 이차원리스트를 인덱싱을 통해 까고 들어간다.
까고, 또 까고.... ai컴패니언을 통해 나온 값을 레이블로 띄워가면서, 내가 원하는 값이 나올 때까지 깐다.
역 개수를 확인해서, 변수에 담은 다음
지역변수로 반복문을 돌려서, 역 개수만큼 역 이름을 가져와서 전역변수"역리스트"에 담는다.
가져온 역 리스트를,
캔버스에 찍는다. 어떻게? 반복문으로, 좌표를 더해가면서. 그러면 스크롤 했을 때 목록이 한 눈에 보인다.
다음 시간에 계속...