웅쓰뚱쓰
웅쓰의 IT
웅쓰뚱쓰
  • 분류 전체보기 (127)
    • 프로그래밍 (31)
      • 자료구조&알고리즘 (12)
      • Django (1)
      • NAS (3)
      • python (1)
      • Java (2)
      • Kotlin (0)
      • 안드로이드 (0)
      • 백준 (6)
      • 프로그래머스 (1)
      • 블록체인 (4)
    • IT (57)
      • 스마트폰 (30)
      • 모바일 (3)
      • 기타제품 (9)
      • 기타기술 (10)
      • 소식 (5)
    • 꿀팁 (1)
      • 윈도우10 (1)
    • 리얼후기 (4)
      • 제품리뷰 (2)
      • 일상리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 삼성
  • vr
  • 화웨이
  • 안드로이드 스튜디오
  • 앱 만들기
  • 아마존
  • LG
  • 안드로이드
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #Android앱개발올인원패키지Online
  • 동적배열
  • 블랙프라이데이
  • 이더리움
  • 백준
  • 폴더블폰
  • 블록체인

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
웅쓰뚱쓰

웅쓰의 IT

안드로이드 - Network [패스트 캠퍼스 챌린지 30일차]
카테고리 없음

안드로이드 - Network [패스트 캠퍼스 챌린지 30일차]

2021. 11. 30. 14:40


 

서버와 통신하는 방법

 

- 해당 url로 요청한다

- 인증정보를 보낸다

- JSON 형식을 사용해서 data를 보낸다

 

 

간단하게 서버에 요청을 보내고 응답을 받아서 데이터를 출력해보겠다

 

먼저 manifest에 퍼미션을 추가해준다

 

<uses-permission android:name="android.permission.INTERNET" />

 

 

테스트 서버의 url주소를 URL객체에 담는다

 

 

요청은 GET 방식으로,

 

헤더에 Content-Type을 application/json으로 추가하였다

 

 

요청이 잘 된 경우 데이터를 받아서 출력해보겠다

 

 

데이터를 주고받을 때 json을 그대로 보내는 것이 아니다

 

우리가 알아들을 수 없는 바이트 형식으로 주고받기 때문에

 

우리가 알 수 있는 형식으로 변환해 주어야 한다

 

InputStreamReader으로 InputStream을 UTF-8 형식으로 읽고

 

BufferedReader로 버퍼를 이용해서 데이터를 더 빨리 읽는다

 


 

물론 이 상태로 실행하면 에러가 발생한다

 

android.os.NetworkOnMainThreadException

 

안드로이드는 메인쓰레드를 정지시키면 안 된다

 

메인쓰레드에서 네트워크 요청을 하게 되면

 

요청을 보내고 받을 때까지 메인쓰레드가 정지되기 때문에

 

네트워크는 반드시 비동기로 처리해 주어야 한다

 


 

요로코콤 비동기 처리를 해주었다

 

 

데이터 출력 결과

 


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

https://bit.ly/3FVdhDa

    웅쓰뚱쓰
    웅쓰뚱쓰

    티스토리툴바