Multipart HTTP 요청의 한 종류로 HTTP 서버로 파일 혹은 데이터를 보내기 위한 요청 방식이다. 위와 같이 백엔드에서 REST API 명세서를 작성해주면 해당 명세서에 맞게 통신 코드를 구현해야 한다. 상황에 따라 Multipart 데이터 내용은 달라질 수 있기 때문에 명세서를 잘 보고 명세서에 맞게 값을 넣어야 한다. 이미지가 여러개일 수도 있고, 여러개의 String 값이 들어올 수도 있고, 하나의 이미지에 JSON 값을 요청할 수도 있다. 위 상황에서는 하나의 이미지에 JSON 값을 요청하는 경우이다. 포스트맨에서 Multipart 요청을 보내기 위해서는 다음과 같이 사용된다. 회원가입을 할 때 사진과 아이디, 닉네임 등 여러 데이터를 전달하는 상황이다. Body에 form-data로 ..
지난번에 포스팅 했던 Retrofit을 사용해서 서버와 통신하는 글을 보고 오시는 것을 추천합니다. [Android] Retrofit을 사용해서 서버와 통신하기 Retrofit이란? Rest API 통신을 위해 구현된 라이브러리 Squareup사의 OkHttp 라이브러리의 상위 구현체 Retrofit은 OkHttp를 네트워크 계층으로 활용하고 그 위에 구축됨 초창기 안드로이드 네트워크 통신은 sangyoon98.tistory.com Intro Retrofit을 사용해서 자바와 코틀린 두가지 언어로 통신하는 방법을 포스팅했었다. 하지만 CallBack 메소드를 호출하던 방식이라 코드의 길이도 길었고 완전한 비동기 프로그래밍 방법이 아니었다. 그래서 이번에는 Coroutine을 사용해서 서버 통신을 비동기 ..
Retrofit이란? Rest API 통신을 위해 구현된 라이브러리 Squareup사의 OkHttp 라이브러리의 상위 구현체 Retrofit은 OkHttp를 네트워크 계층으로 활용하고 그 위에 구축됨 초창기 안드로이드 네트워크 통신은 HttpURLConnection / Apache HTTP Client 사용 하지만 단점이 많아 Deprecated 되고 OkHttp, Volley, Retrofit 등 라이브러리 사용 근데 왜 하필 Retrofit이냐! 서버 통신은 비동기 처리를 위해 스레드를 사용해야 하는데 스레드 성능이 제일 빠르기 때문이다 Retrofit 장점 매우 빠른 성능!! 위에서 보았듯이 매우매우매우 빠르기 때문에 안 쓸 이유가 없다 간단한 구현HttpURLConnection의 Connectio..
BottomNavigationView 이와 같이 화면 하단에 탭 화면을 구성할 수 있는 뷰이다. 탭을 눌러 Fragment를 전환할 수 있으며, 이 프로젝트에서는 5개의 탭으로 구성하였다. activity_main.xml 레이아웃 내부에 Fragment가 보여질 LinearLayout과 BottomNavigationView를 배치했다. 속성 설명 app:menu="@menu/menu_bottom" 메뉴에 표시될 항목들을 나타내는 속성이다. 나중에 보여줄 menu_bottom.xml에서 항목들을 편집할 수 있다. app:itemBackground="@android:color/white" 탭 항목의 배경 색을 설정할 수 있는 속성이다. app:itemIconTint="@color/selector" 탭 항목..
웹 크롤링 웹사이트(website), 하이퍼링크(hyperlink), 데이터(data), 정보 자원을 자동화된 방법으로 수집, 분류, 저장하는 것. 웹 크롤링은 이와 같이 인터넷에 나와있는 정보들을 수집하여 보여주는 기술이다. 안드로이드를 개발하면서 상당히 많이 사용되는 작업이기도 하다. 이 글에선 Jsoup 라이브러리를 이용하여 웹 크롤링을 할 것이다. Jsoup 라이브러리 Jsoup 라이브러리에 대해 먼저 알아보자면, Java에서도 Jsoup 라이브러리를 사용해서 HTML 파싱을 할 수 있다. 파싱을 한글로 뜻풀이를 해보면 구문 분석이라는 뜻으로 문장을 이루고 있는 구성 성분을 분해하여 구조화하는 것을 의미한다. 따라서 HTML 태그 및 정보들을 가져와 새롭게 만들어 주는 것을 뜻한다. Jsoup 라..
https://developer.android.com/studio?gclid=Cj0KCQjwxb2XBhDBARIsAOjDZ37l7VGdOaSqtSKM4-K83-mkKbVIAweqRvzXFoOWbYdBiGwkWckRsPoaAkXGEALw_wcB&gclsrc=aw.ds Download Android Studio & App Tools - Android Developers Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today. developer.android.com 위 사이트로 접속을 하게 되면 아래와 같은 화..