App/Android

안드로이드 // 레트로핏, retrofit2 연습

Jaybon 2020. 8. 14. 20:20

 

해당 프로젝트

https://github.com/jaybon1/androidwork/tree/master/getApiTest

 

jaybon1/androidwork

Contribute to jaybon1/androidwork development by creating an account on GitHub.

github.com

 

인터넷 연결을 위해 AndroidManifest.xml 에 아래코드를 추가해준다

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

--

 

 

구조

--

 

 

앱 수준의 gradle에 레트로핏과 gson 컨버터를 추가해준다(일반 gson과 다르니 참고)

    // 레트로핏
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'

    // gson
    implementation group: 'com.squareup.retrofit2', name: 'converter-gson', version: '2.3.0'

--

 

 

데이터를 가져오기위한 간단한 뷰를 짠다

--

 

 

라이엇 api에서 가져온 데이터를 이용해서  http://www.jsonschema2pojo.org/  사이트를 통해 자바 객체로 만든다

 

변환 사이트

http://www.jsonschema2pojo.org/

 

만들어진 클래스

--

 

 

외부에서 데이터를 가져오기 위한 레트로핏2 서비스

--

 

 

아래처럼 하면 매개변수로 주소값을 설정 할 수 있다

--

 

 

mxl파일의 뷰들을 사용하기 위해 가져온다

--

 

 

1. 레트로핏 객체를 생성한다
- 바뀌지 않는 baseUrl 을 입력
- 가져온 데이터를 자바 객체로 만들기 위한 Gson 컨버터 입력

2. RiotService를 만들어준다
3. RiotService에서 데이터를 가져온다
4. 콜백이 오면 조건에 맟춰서 함수가 실행된다
5. response.body()에 담긴 자바객체를 가져온다 / 텍스트뷰에 뿌려준다
6. 통신에 실패할 경우 메시지를 띄운다

--

 

 

테스트

--