ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 사진 검색 안드로이드 앱 구현 - 1. Flickr API 사용 해보기
    Android/JSON&ListView (사진검색 안드로이드앱 구현) 2017. 12. 22. 18:19

    안드로이드앱에서 사진 검색해서 다운로드 받을 수 있는 웹서비스를 찾다가 Flickr을 사용해보았습니다.

    앞으로 4개의 포스팅을 통해 flickr API를 사용하여 안드로이드 앱에서 사진 검색을 구현한 과정을 다룹니다.



    • Flickr API 사용 해보기

    http://webnautes.tistory.com/459


    • Android에서 REST 요청 후 JSON 응답 받기

    http://webnautes.tistory.com/462


    • Android에서 JSON 파싱하여 ListView에 출력

    http://webnautes.tistory.com/471


    • ListView 아이템 클릭하면 이미지 다운로드해서 보여주기

    http://webnautes.tistory.com/472




    flickr API( https://www.flickr.com/services/api/ )에서는 세가지 요청 형식을 제공하는데 REST, XML-RPC, SOAP입니다.


    이중 제일 간단해 보이는 REST 요청을 사용하기로 했습니다.

    웹브라우저의 주소창에 요청 주소를 입력해주면 결과값을 바로 확인해볼 수 있습니다.


    최초 작성        - 2014.06.29

    최종 업데이트 - 2017.12.21





    1. Flickr API KEY 발급받기


    2. REST 요청 테스트


    3. JSON 포맷 구조





    1. Flickr API KEY 발급받기

    1. Flickr API를 사용하기 위해서는 야후 계정이 있어야 합니다.

    https://www.flickr.com/services/apps/create/apply 에 접속하여 로그인 합니다.

    계정이 없으면 가입을 해서 진행해야 합니다.  




    2. 테스트 해보기 위해서 필요하므로 비상업용 키 신청을 선택했습니다.





    3. App 이름과 App에 대한 설명을 적어 준 후, 아래쪽에 두 개 있는 체크박스를 모두 체크 후 등록을 클릭합니다.





    4. 발급받은 API 키를 복사해둡니다.





    2. REST 요청 테스트

    다음 REST 요청 주소를 웹브라우저의 주소창에 입력하여 접속해봅니다.

    • Flickr_API_KEY 부분은  발급받은 API 키로 대체합니다.

    • text 다음에 입력한 cat을 검색하게 됩니다.

    • 응답 포맷으로(format) json을 지정했습니다.


    https://secure.flickr.com/services/rest/?method=flickr.photos.search&api_key=Flickr_API_KEY&text='cat'&safe_search=1&content_type=1&sort=interestingness-desc&per_page=5&format=json




    웹페이지에 JSON 응답이 출력됩니다.




    3. JSON 포맷 구조


    JSON 포맷으로 받은 응답으로부터 원하는 정보들을 파싱하려면 JSONArray와 JSONObject를 구별할 줄 알아야합니다.  

    괄호 모양의 차이에 유의하여 다음 4가지 중 어떤 것인지  파악하며 원하는 정보를 끄집어 내면됩니다.


    JSONArray

    [ “apple”, “orange”, “banana”,”status”],

    여러 개의 아이템을 하나로 구성 시 사용

    JSONObject

    {"name": "apple", "color":"red", weight:”500”}

    하나의 아이템에 대한 속성들을 기술 시 사용


    JSONArray + JSONObject

    {“total”:”3”, “fruit”:[{"name": "apple", "color":"red", weight:”200”}, {"name": “orange", “color":"orange", weight:”130”},{"name": "”:”banana", "color":"yellow", weight:”500”}], “status”:”ok”}

    JSONObject 내부에

    JSONArray 사용

    [{"name": "apple", "color":"red", weight:”200”}, {"name": “orange", “color":"orange", weight:”130”},{"name": "”:”banana", "color":"yellow", weight:”500”}]

    JSONArray 내부에

    JSONObject 사용



    전체 JSON 응답을 보고 JSONArray와 JSONObject 부분을 구분할 줄 알면 파싱하는 것은 쉽습니다.

    프로그래밍적으로 파싱하는 방법은 이후 포스팅에서 다루도록 하겠습니다.




    포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
    댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

    여러분의 응원으로 좋은 컨텐츠가 만들어집니다. 지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

    유튜브 구독하기


    댓글 2

Designed by Tistory.