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


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

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

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


조회수 337


2 답변


좋아요
2
싫어요
채택취소하기

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

인증방식 사용

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

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

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

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

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

소켓 사용

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

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

  • 2016년 06월 17일에 작성됨
    웹을 좋아함

  • 감사합니다! 제가 이해한 것이 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으로 데이터를 얼마나 보낼 수 있는지, 어떤 제약이 있는지 그건 자세하게 모르겠습니다.)

  • 2016년 06월 17일에 작성됨

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

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close