개발 지식 공유, 복습

Retrofit2 - 공공데이터(1) 본문

안드로이드(Kotlin)

Retrofit2 - 공공데이터(1)

like_sonny 2022. 3. 10. 01:04

앱을 개발하다 보면 API를 이용할 필요가 생길 것이다. 그럴 때 Retrofit을 이용하면 편리? 할 것 같다.

 

build.gradle파일에서 다음 3가지를 추가해주자.

dependencies {
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.google.code.gson:gson:2.8.6'
}

Manifest파일에는 이 권한을 추가해주자.

<uses-permission android:name="android.permission.INTERNET"/>

나는 공공데이터 포탈에서 미세먼지 관련 데이터를 얻고자했다. 간단하게 api 신청하는 법은 다음과 같다.

먼저 공공데이터 포털에 들어간다.

https://www.data.go.kr/index.do

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

들어가면 검색란이 있는데 여기서 본인이 얻고자하는 데이터 이름을 입력하고 오픈 API 건으로 이동한다.

저 목록들 중 얻고 싶은 데이터에 '활용신청'을 누른다.

api 데이터를 쓰는 사유같은거?

여기서 간단히 양식을 작성해주고 신청하면....

나에게 승인된 api

이제 해당 API를 사용할 수 있다!

 

코드를 작성하기 전에 먼저 결과를 어떻게 받는지 궁금할 것이다.

그럴 경우 문서를 다운받고 원하는 요청 메시지란을 보면 링크가 있다. 거기서 '서비스 키' 부분을 본인이 부여받은 개인 키를 대입하고 검색하면 된다! (이때는 일반 인증키(Encoding)를 넣어주면 된다.)

 

문서가 생각보다 잘 나와있어 좋다.

여기서 데이터 형식을 xml 아니면 json일텐데 나는 json이 더 편해서 이렇게 설정했다. (링크에 xml을 json으로 변경했다. 모든 api가 json을 제공하진 않으니 유의하자.)

 

 

json으로 나온 결과

이제 코드로 가보자.

retrofit builder

먼저 java코드를 json으로 변환해주는 gson과 사용할 retrofit을 선언한다.

 

baseUrl에는 End Point에서 첫번째 부분만 가져오면 된다고 생각하면 편할 것 같다. 그 뒷부분은 메서드마다 1개씩 추가할 수 있으므로 더 효율적이라고 생각!

 

헉헉....

여기까지 쓰느라 너무 길었다. 나머진 2편에서 쓰도록 하겠다.

 

'안드로이드(Kotlin)' 카테고리의 다른 글

Retrofit2 - 공공데이터(2)  (0) 2022.05.15
Fragment 이동 - Kotlin  (0) 2022.01.28
인트로 화면(Splash) - Kotlin  (0) 2022.01.28