로그 확인해보기 android retrofit

Assist·2023년 5월 22일
0

Android

목록 보기
11/21

전 포스트에서 에러 상황이 발견되었다...
https://openapi.naver.com/v1/search/ 이것이 기본 url인데

    /**
     * 책 요청 api
     */
    @GET("search/book.json")
    fun requestBookApi(
        @Header("X-Naver-Client-Id")id : String ,
        @Header("X-Naver-Client-Secret")pw : String,
        @Query("query")query : String,
  ) : Call

하하....그럼 https://openapi.naver.com/v1/search/search/book.json 이런식으로 나외서

Naver API : 이게 뭔 쓉 URL 이냐?
이 답변만 계속 받았드아........
이것때문에 1시간 동안 계속 삽질했다....url을 잘보자
자 그럼 로그를 한번 보자


2023-05-22 23:44:34.197 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: {
2023-05-22 23:44:34.197 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 	"lastBuildDate":"Mon, 22 May 2023 23:44:34 +0900",
2023-05-22 23:44:34.197 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 	"total":352,
2023-05-22 23:44:34.197 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 	"start":1,
2023-05-22 23:44:34.197 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 	"display":10,
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 	"items":[
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"굿나잇 아이패드",
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32503504704",
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3250350\/32503504704.20220527073225.jpg",
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"안 드로이드",
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"9900",
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"보물창고",
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20120720",
2023-05-22 23:44:34.198 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788961702898",
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"세상의 모든 똑똑한 기기들아, 굿나잇!\n\n『굿나잇 아이패드』는 진정 우리에게 가치 있고, 꼭 필요한 활동은 잠시 전자 기기에 대한 집착을 내려놓을 때 찾아든다는 사실을 재미있게 알려주는 그림책이다. 할머니가 전자 기기의 소음과 정신없는 상황을 견디다 못해 전자 기기를 하나씩 빼앗아버리자 아이들은 할머니에게 매달리는가 하면 애원을 하기도 하고, 애교 섞인 화를 내는가 하면 절망하기도 한다. 그런데 잠시 뒤, 자리에 눕게 되자 신기하게도 하나 같이 밝은 표정으로 꿈나라로 향한다. 전자 기기 대신에 조용하고 포근한 잠자리를 얻은 것이다. 이 책을 통해 아이들은 아무리 재미있는 전자 기기도 보다 중요한 순간을 위해 잠시 멈추어야 할 때가 있음을 깨닫게 될 것이다."
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"안드로이드 스튜디오3 & 프로그래밍 (안드로이드 8)",
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32466877705",
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3246687\/32466877705.20221019124609.jpg",
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"닐 스미스",
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"33300",
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"제이펍",
2023-05-22 23:44:34.199 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20170814",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9791185890784",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"최신 안드로이드 스튜디오 설치부터 안드로이드 개발 기초까지!\n\n이 책은 안드로이드 스튜디오 기반의 애플리케이션 개발과 테스트에 필요한 환경 설정, 그리고 안드로이드 스튜디오의 주요 기능과 사용법을 간명한 예제 코드로 설명한다. 또한, 안드로이드 스튜디오 3의 각종 최신 기능에 대한 내용도 국내 최초로 포함하고 있다."
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"Android Studio를 활용한 안드로이드 프로그래밍 (Android 13.0(T) 지원, Android Studio Dolphin 사용)",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/37236385619",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3723638\/37236385619.20230404163238.jpg",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"우재남^박길식",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"32300",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"한빛아카데미",
2023-05-22 23:44:34.200 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20230113",
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9791156646426",
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"실습 단계별 명쾌한 멘토링!\n\n대학이나 IT 전문 학원의 안드로이드 프로그래밍 과목 수강생을 대상으로 한다. 기본적인 프로그래밍을 접해본 독자라면 안드로이드에 꼭 필요한 Java 기초부터 안드로이드 앱 개발까지 학습 가능하도록 구성되어 있다. 안드로이드 프로그래밍을 하면서 부딪힐 수 있는 다양한 오류나 실수까지 친절하게 안내하여 시행착오 없이 안드로이드를 빠르게 정복할 수 있다.\n\n※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다."
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"고모는 안드로이드",
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32485080861",
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3248508\/32485080861.20220530152208.jpg",
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"니콜라스 앨런",
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"0",
2023-05-22 23:44:34.201 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"국민서관",
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20141031",
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788911123964",
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"부모님을 잃고 세계적인 과학자이자 괴짜인 에드나 고모와 함께 살게 된 빌리, 알피 남매. 에드나 고모는 자신을 대신해 남매를 감시할 안드로이드 고모를 만들고, 새 고모는 다락방에서 남매와 함께 생활하며 하루 종일 그들을 감시한다. 하루하루 숨 막히는 나날을 보내던 중 남매는 기지를 발휘해 안드로이드 고모의 비밀을 밝혀내고 평화로운 일상을 되찾는다. 하지만 에드나 고모가 흉악범 2인조에 납치되면서 다시 위기에 처하는데……. 과연 빌리, 알피 남매와 안드로이드 고모는 무사히 에드나 고모를 구출해 평온한 일상으로 돌아갈 수 있을까?"
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"안드로이드의 신 (원리와 예제로 배운다)",
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32492053286",
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3249205\/32492053286.20221231084254.jpg",
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"남진하",
2023-05-22 23:44:34.202 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"27000",
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"로드북",
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20160510",
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788997924202",
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"[안드로이드의 신]은 안드로이드 앱 개발 지식을 배우기 위한 입문서다. 기초지식만 배우고 끝나지 않고 상용 앱 개발 능력을 갖출 수 있도록 목표를 설정하고 있다. 오랫동안 모바일 앱을 개발해온 저자의 경험 또한 이 책에 고스란히 들어가있다. 입문서답게 예제의 과정은 입문자가 실수하지 않도록 자세하게 설명해놓았다. 책을 통해 학습한 내용을 바탕으로 구글 플레이스토어에 근사한 앱을 배포하는 순간의 기쁨을 만끽할 수 있을 것이다."
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"안드로이드 개발",
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32492772548",
2023-05-22 23:44:34.203 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3249277\/32492772548.20221227203150.jpg",
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"함호종^민혜진",
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"22500",
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"글로벌",
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20120405",
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788955026313",
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"안드로이드 플랫폼은 훌륭한 하드웨어적인 기반 위에 완전한 형태의 오픈 소스로 제공되는 강력한 운영 체제를 더해 스마트폰 시장의 파이를 양분하고 있다. Linux커널을 기반으로 하여, 그 위에 안정성과 그 성능의 탁월함이 이미 다양한 방법을 통해 검증된 라이브러리 그룹, 그리고 구글이 직접 최적화한 달빅 가상 머신 위에서 동작하는 풍부한 애플리케이션과 폭넓은 개발자 환경까지 모두 무료로 제공하고 있다."
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"안드로이드 4.0 (안드로이드사이드 운영자가 직접 전수하는)",
2023-05-22 23:44:34.204 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32497522727",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3249752\/32497522727.20220527033308.jpg",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"한동호",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"0",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"제이펍",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20120516",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788994506418",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"200개의 단계별 예제로 배우는『안드로이드 4.0』. 이 책은 안드로이드를 쉽고 빠르게 익힐 수 있도록 저자의 다양한 세미나 경험과 오프라인 강의, 그리고 안드로이드 개발자 커뮤니티인 ‘안드로이드사이드’를 운영하면서 얻은 노하우를 200개의 단계별 예제를 통해 설명하고 있다."
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"안드로이드 웹앱 (with HTML CSS JavaScript)",
2023-05-22 23:44:34.205 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32467070706",
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3246707\/32467070706.20220527053452.jpg",
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"조나단 스타크",
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"0",
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"한빛미디어",
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20110729",
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788979148299",
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"Building『안드로이드 웹앱: with HTML CSS JavaScript』. 이 책은 웹앱의 기본인 HTML, CSS, 자바스크립트는 물론, 이런 웹 기반 기술을 토대로 개발한 웹앱을 모바일 디바이스를 넘나들며 실행 가능한 앱으로 만들기 위한 폰갭 같은 오픈 소스까지 설명한다. 또한 안드로이드 마켓을 이용하는 방법까지 수록하였다."
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.206 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"안드로이드 웹앱 (with HTML CSS 자바스크립트 제이쿼리 제이큐터치 폰갭)",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32504717639",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3250471\/32504717639.20220527033653.jpg",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"조나단 스타크",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"0",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"한빛미디어",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20120305",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788979149111",
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"강력하고 유연한 앱을 만드는 비법!\n\n웹 표준으로 만드는『안드로이드 웹앱』은 HTML, CSS, 자바스크립트로 안드로이드 앱을 만들고 안드로이드 마켓에 올리는 방법을 알려주는 책이다. 또한 디바이스의 다양한 장치를 웹앱에서 이용할 수 있게 하여 웹앱의 한계를 극복하는 데 도움을 준다. 본문은 안드로이드용 웹페이지 만들기, jQeury로 진행 표시기를 웹앱에 띄우기, jQTouch로 애니메이션 추가하기, 오프라인에서도 동작하는 앱 개발하기, 폰갭으로 가속도계, GPS, 카메라 같은 하드웨어 제어하기, 웹에서 앱을 테스트하고 안드로이드 마켓에 올리기 등으로 구성되어 있다.\n\n▶ 이 책은 2011년에 출간된<Building 안드로이드 웹앱 with HTML CSS JavaScript>(한빛미디어)의 개정판입니다."
2023-05-22 23:44:34.207 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		},
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		{
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"title":"안드로이드 어플 백과 (안드로이드 유저가 반드시 챙겨야 할 머스트해브 어플 해부)",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"link":"https:\/\/search.shopping.naver.com\/book\/catalog\/32455435636",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"image":"https:\/\/shopping-phinf.pstatic.net\/main_3245543\/32455435636.20221019151549.jpg",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"author":"김성욱",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"discount":"10800",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"publisher":"혜지원",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"pubdate":"20111024",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"isbn":"9788983797001",
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 			"description":"『안드로이드 어플 백과』는 많은 사용자들로부터 인정받고 있는 유용하고 필수적인 어플들을 다루고 있다. 단순한 소개 수준을 넘어 비교적 상세하게 설명하였으므로 안드로이드 스마트 폰 초보자라도 어플에 대해 쉽게 접근할 수 있음은 물론, 어플 선택에 대한 수고와 시간 낭비를 줄일 수 있을 것이다. 대부분 무료 어플을 다루고 있으며 몇 가지 유료 어플에 대해서는 가격을 명시해 두었다."
2023-05-22 23:44:34.208 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 		}
2023-05-22 23:44:34.209 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: 	]
2023-05-22 23:44:34.209 1433-1483/com.partron.naverbookapiproject I/okhttp.OkHttpClient: }

복잡해 보이지만 전혀 복잡하지 않다
필자는 json을 통해 받기를 원해 book.json을 호출했다. 자 그럼 json으로 불러와서 어떻게 할건데가 질문이겠지
필자가 retrofit을 좋아하는 가장 큰 이유가 이것이다. data class object 형식으로 선언하면 내가 object으로 쉽게 가져올수 있다는 것이다
한번 보자

  • 로그 형식으로 보면 lastBuildDate , total , start ,display , List 형식

    이걸

    data class MovieResponse (
      val items: List<Movie>,
      val total: Int,
      val start: Int,
      val display: Int
    )
    data class Movie(
      val title: String,
      val link: String,
      val image: String,
      val director: String,
      val actor: String,
      val userRating: Double
    )
    

    이런식으로 선언하고

       @GET("book.json")
      fun requestBookApi(
          @Header("X-Naver-Client-Id")id : String ,
          @Header("X-Naver-Client-Secret")pw : String,
          @Query("query")query : String,
    ) : Call<MovieResponse> -> 요거 
    

    이런식으로 call을 MovieResponse으로 받을수 있다.
    그럼 이걸 어떤식으로 쓴다는 것이냐?

        /**
       * 책 검색 api
       */
      fun requestBookApi(id :String , pw : String , query : String) = viewModelScope.launch(Dispatchers.IO) {
          _bookSearchLiveData.postValue(Resource.loading())
          var text: String? = null
          try {
             text =  URLEncoder.encode(query, "UTF-8")
          } catch (e: UnsupportedEncodingException) {
              throw RuntimeException("UTF-8 인코딩 실패", e)
          }
          val requestBookApi = repository.requestBookApi(id ,pw , query)
          requestBookApi.enqueue(object: Callback<MovieResponse> {
              override fun onResponse(call: Call<MovieResponse>, response: Response<MovieResponse>) {
                  if(response.isSuccessful){
                      when(response.code()){
                          Define.SYSTEM_ERROR_NO_API ->{
                              _bookSearchLiveData.postValue(Resource.error(null))
                              return
                          }
                          Define.SYSTEM_ERROR_WRONG_QUERY ->{
                              _bookSearchLiveData.postValue(Resource.fail(Define.MESSAGE_NO_QUERY))
                              return
                          }
                          Define.SYSTEM_ERROR ->{
                              _bookSearchLiveData.postValue(Resource.fail(Define.MESSAGE_SYSTEM_ERROR))
                          }
                          Define.SYSTEM_SUCCESS->{
                              _bookSearchLiveData.postValue(Resource.success("Success"))
                              //요놈!
                              val data = response.body()
                              Log.d("tag" , data?.items?.get(0)?.title!!)
                          }
                      }
                      return
                  }
                  _bookSearchLiveData.postValue(Resource.error(null))
              }
    
              override fun onFailure(call: Call<MovieResponse>, t: Throwable) {
                  _bookSearchLiveData.postValue(Resource.error(t))
              }
          })
      }
    

    요놈 이라는것을 봐라 저런식으로 MovieResponse 타입 형식으로 받을수 있다
    그럼 나중에 view에 배치할때 adapter 같은곳에 해당 인자를 손쉽게 넣을수 있다

    2023-05-22 23:50:29.356 1798-1798/com.partron.naverbookapiproject D/tag: 굿나잇 아이패드

    실재 필자의 log창이다. 자 그럼 이제 본격적으로 app의 view을 만들어보자!

profile
안드로이드만 좋아하는 특이한 개발자

1개의 댓글

comment-user-thumbnail
2023년 5월 23일

참고로 네이버 개발자 문서를 보면 UTF - 8 로 인코딩 해야 한다고 적혀있지만
retrofit 을 사용 시 UTF - 8 자동 인코딩 되어 하실 필요 없습니다!

답글 달기