앱과 서버의 동작 방식
앱에서 서버에 데이터를 요청하거나 데이터를 보내는 대화를 하려면 서버가 정한 규칙에 따라 대화 요청(Request)을 해야합니다. 정한 규칙에 따라 요청을 하지 않으면 응답(Response)이 오지 않습니다. 서버 쪽에서 정한 규칙을 우린 보통 API(Application Programming Interface)라고 부릅니다.
서버가 제공하는 도메인
www.sparta.com/getdata ←- 데이터 조회 API
www.sparta.com/setData ←- 데이터 저장 API
서버가 만들어놓은 함수를 그냥 이용해서 사용하는 규칙
db.ref('/like/').on('value') ←- 데이터 조회 API
db.ref('/like/').set(new_like); <-- 데이터 저장 API
리액트 네이티브에 주로 데이터를 준비하는 시점
리액트 네이티브로 앱을 만들면서 서버와 통신(대화)하는 시점은 크게 두 가지
1) 앱 화면이 그려진 다음 데이터를 준비 ← useEffect
useEffect? "앱 화면을 보자마자 실행되야 하는 작업들이 모여 있는 곳"
useEffect(()=>{
//서버 API 사용
//이 화면에서 사용 할 데이터 준비 등...
},[])
2) 앱에서 사용자가 저장 버튼을 눌렀다!
서버 API란?
1) 서버가 제공하는 도메인 사용 2) 서버가 만들어놓은 함수 사용 1번에 해당하는, 서버가 제공하는 도메인을 그대로! 사용하는 방식.날씨 데이터를 제공해주는 일정 요청에 대해선 무료 API를 제공해주는 openweathermap api 를 사용합니다
날씨 앱에 날씨 API 사용해보기
API를 통해 날씨 데이터를 가져온다는 것은 다음 순서로 진행되어야 할 겁니다.
1) 현재 위치(좌표) 데이터 필요, 가져오기 (어디의 날씨인지 알아야 하니까요!)
2) 위치 데이터를 이용해 현재 위치 날씨 데이터 가져오기
expo 위치 로케이션 설치
expo install expo-location