전체 글(163)
-
Retrofit 실습 예제 (2) Youtube API 가져오기
# Retrofit 활용 순서 복기1) 라이브러리 추가dependencies { // Retrofit implementation("com.squareup.retrofit2:retrofit:2.9.0") // Gson Converter implementation("com.squareup.retrofit2:converter-gson:2.9.0") // OKHttp for 통신 로그 implementation("com.squareup.okhttp3:logging-interceptor:4.9.0") 2) API 인터페이스 정의: 서비스의 각 HTTP 엔드포인트에 대해 메서드를 정의하는 인터페이스 생성interface YoutubeAPI { // 예시) https://team..
2024.07.31 -
Retrofit 실습 예제 (1) 시도별 미세먼지 현황 앱
1) 공공데이터 포털에서 API 인증 키 발급https://www.data.go.kr/data/15073861/openapi.do 한국환경공단_에어코리아_대기오염정보각 측정소별 대기오염정보를 조회하기 위한 서비스로 기간별, 시도별 대기오염 정보와 통합대기환경지수 나쁨 이상 측정소 내역, 대기질(미세먼지/오존) 예보 통보 내역 등을 조회할 수 있다.www.data.go.kr 2) gradle에 라이브러리 추가(큰따옴표로 추가하기) implementation("com.google.code.gson:gson:2.10.1") implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:c..
2024.07.31 -
Retrofit 개념
# 서버와 클라이언트- 서버: 데이터나 리소스를 제공하는 시스템- 클라이언트: 유저를 대표해 서버에 정보나 서비스를 요청하는 시스템 # 프로토콜- 클라이언트가 서버에 무언가를 요청할 때 정해놓은 통신 규약(약속)- 웹 어플리케이션 프로토콜: HTTP # API- 클라이언트가 서버에 무언가를 요청할 때, 서버가 클라이언트에게 리소스를 잘 활용할 수 있도록 제공해주는 인터페이스(메뉴판) # REST API(REpresentational State Transfer)- 웹에서 서버와 클라이언트 간의 통신을 위한 표준 방법- 웹에서 데이터를 주고받는 방법을 정의- 클라이언트가 서버에 정보를 요청하고, 서버가 그 정보를 제공- 구성 요소① URL 엔드포인트: 웹상의 자원을 나타내는 URL 링크② HTTP 동사(C ..
2024.07.31 -
Google Map 가져오기
# 지도 사용 설정1) gradle에 추가할 코드// dependenciesimplementation 'com.google.android.gms:play-services-maps:18.1.0'implementation 'com.google.android.gms:play-services-location:21.0.1' 2) manifest.xml에 추가할 코드// permissions// 구글맵 API 키 등록 # 구글 개발자 콘솔에서 지도 API 키 발급- https://console.cloud.google.com/?pli=1 에서 프로젝트 생성, 사용자 인증 정보 만들고 API 키 발급- 발급받은 키를 manifest 파일에 등록 # 레이아웃 설정 # 지도 출력 뷰 객체 생성class MainActiv..
2024.07.31 -
사용자 위치 얻기
# 위치 접근 권한- 사용자 위치 추적을 위한 3가지 권한 필요1) android.permission.ACCESS_COARSE_LOCATION: 와이파이/모바일 데이터를 사용해 기기의 위치에 접근하기 위한 권한(도시에서 1블록 정도의 오차 수준)2) android.permission.ACCESS_FINE_LOCATION: 위성/와이파이/모바일 데이터 등을 이용할 수 있는 위치 제공자를 사용해 최대한 정확한 위치에 접근하기 위한 권한3) android.permission.ACCESS_BACKGROUND_LOCATION: 안드로이드 10 이상에서 백그라운드 상태에서 위치에 접근하기 위한 권한 # 권한 설정- manifest에 권한 추가 필요 ... # 권한 요청- 런타임 시 앱은 유저에게..
2024.07.31 -
데이터 저장 - Room
# Room 개념- SQLite를 쉽게 사용할 수 있는 DB 객체 매핑 라이브러리- 쉽게 Query를 사용할 수 있는 API를 제공- Query 결과를 LiveData로 정해 DB가 변경될 때마다 쉽게 UI 변경 가능- SQLite보다 Room 사용 권장 # Room의 주요 3요소1) @Database- 클래스를 DB로 지정하는 annotation(주석)- RoomDatabase를 상속받은 클래스- Room.dataabseBuilder를 통해 인스턴스를 생성 2) @Entity- 클래스를 테이블 스키마로 지정하는 annotation 3) @Dao- 클래스를 DAO(Data Access Object)로 지정하는 annotation- 기본적인 insert, delete, update SQL은 자동 생성 / ..
2024.07.31