728x90
안녕하세요. 이번 시간에는 알라딘 상품 검색 API를 사용하여 책에 대한 데이터를 가져와보겠습니다.
결과부터 보여드리겠습니다.
목차
1. 알라딘 Open API 매뉴얼
2. http request - retrofit
3. http response
1. 알라딘 Open API 매뉴얼
1-1. 공식 사이트
https://docs.google.com/document/d/1mX-WxuoGs8Hy-QalhHcvuV17n50uGI2Sg_GHofgiePE/edit#
API 사용하는 방법을 참고하세요.
1-2. TTB key
요청보낼 때 key를 필수로 입력해야하기 때문에 꼭 인증키를 받습니다.
2. request - retrofit
https://stickode.tistory.com/42
retrofit사용법을 참고하시기 바랍니다.
2-1. serchView
// 책 검색 이벤트 (검색버튼 / 입력한 글자)
binding.searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
Toast.makeText(getApplicationContext(), "[검색버튼클릭] 검색어 = "+query, Toast.LENGTH_LONG).show();
clickSearch(query); // 알라딘 api
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
});
'싱아는' 이라는 단어를 검색했다면 String query에 값이 담기게 됩니다.
2-2. interface 구현
3. http response
// 알라딘 책 검색 api를 통해 책 목록을 받아옴
private void clickSearch(String keyword) { Log.e(TAG, "clickSearch() keyword : "+keyword);
RetrofitAladin retrofitAladin = RetrofitAladin.getInstance(); // baseUrl에 "https://www.aladin.co.kr/ttb/api/"를 넣는다
HttpRequest httpRequest_aladin = retrofitAladin.getRetrofitInterface();
// 요청 메소드 이름 : getSearchBook
httpRequest_aladin.getSearchBook(ttbkey, keyword).enqueue(new Callback<String>() {
@SuppressLint("NotifyDataSetChanged")
@Override
public void onResponse(Call<String> call, retrofit2.Response<String> response) {
Log.e(TAG, "onResponse: " + response.body());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.e(TAG, "onFailure: " + t.getMessage());
}
});
}
response.body()를 출력하면 위에서 보여드렸던 데이터가 나오게됩니다.
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] SearchView 구현하기 (0) | 2023.02.14 |
---|---|
[Java][Android] 소켓(Socket)을 이용해 에코서버(Echo Server) 구현 (0) | 2023.02.13 |
[Android][Java] LineChat 그리는법 (0) | 2023.02.09 |
[Android][Java] 원형 로딩바 만들기 (0) | 2023.02.08 |
[Android][Java] FloatingActionButton에 카운터 기능 추가하기 (0) | 2023.02.07 |