json객체 통신에대해 질문드립니다.

조회수 2612회

현재 서버:apache php mariadb 환경에서 json객체를 생성하여 안드로이드에서 받는 형태를 구현하고있습니다.

일반적인 예제들을 보니 php로 db의 데이터를 json_encode()함수로 json객체를 생성하고, echo로 출력해놓은 상태에서 android의 httpurlconnection이나 getstringfromurl으로 텍스트를 읽어오는 방식이었습니다.

만약 url을 알고있다면 브라우저로 직접 접속하여 db의 데이타들을 json 형태의 텍스트들을 직접 볼 수 있는 상태가 되었는데요. 웹에 출력하지않은 상태에서 객체를 직접 안드로이드로 보내려면 http통신이 아닌 다른 방식으로 통신하여야하나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • http를 사용하는 방법도 있고 아닌경우도 있습니다

    인증방식 사용

    예를들어 앱에서 요청할때 에이전트를 파악해서 pc가 아닌 모바일이라면 보여준다던가 혹은 무조건 토큰과 같이 요청해야 출력이 되게한다 등등 의 방법이 있습니다

    예를들어 지금 날씨를 봐야한다 가정하면

    /date 로 그냥 요청하면 아무것도 출력이안되는데

    /date?token=randomtoken 이런식으로 토큰을 첨가해서 보내면 출력이 되게 하는거죠

    위와같은 방법은 RESTFUL 하진않습니다

    소켓 사용

    말그대로 udp나 tcp를 써서 출력하는거죠. 웹에선 확실히 못봅니다.

    대신 http방식보다 해야할게 많습니다

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 감사합니다! 제가 이해한 것이 http 통신을 한다는 것 = 텍스트로 정보를 전달하는 것인건가요? 알 수 없는 사용자 2016.6.18 02:07
    • 그냥 말그대로 json 을 렌더링해서 보여주는거죠. 브라우저에서 {"a":1} 이런형식으로 알 수 없는 사용자 2016.6.19 16:36
  • 웹에서 안드로이드로 json 데이터를 보내는 것을 질문하신게 맞다면,

    push 방식으로 구현하시면 될거 같습니다.

    웹에서 API 를 이용해서 GCM으로 앱에 push를 보내고

    앱에서는 push를 받게 되면 특정 url을 호출해서 json 데이터를 가져오게 하면 되는데

    가져올 때는 http/https로 가져오는게 좋아 보입니다. (GCM으로 데이터를 얼마나 보낼 수 있는지, 어떤 제약이 있는지 그건 자세하게 모르겠습니다.)

    • 감사합니다!! gcm도 생각해봐야겠네요..예전 푸시메시지 구현할 때 굉장히 헤맸던 기억이있어서 거부감이 조금 들긴하지만요ㅠ 알 수 없는 사용자 2016.6.18 02:08

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)