개발/안드로이드

안드로이드와 HTTPS 통신 -1-
안드로이드와 HTTP 통신HTTP는 클라이언트와 웹서버가 서로 통신하기 위해 사용하는 프로토콜임.HTTP는 평문으로 데이터를 주고받기 때문에 네트워크 보안 상 취약하다.이런 점으로 인해 안드로이드는 Pie(9) 버전부터 기본적으로 HTTP 통신을 허용하지 않음.그래서 안드로이드에서 HTTP 서버와 통신을 하려면AndroidManifest.xml 에 평문트래픽을 허용하도록 설정해줘야 함.// AndroidManifest.xml 안드로이드와 HTTPS 통신 1. HTTPS 프로토콜과 TSL(SSL) 핸드쉐이크평문으로 데이터를 주고받는 HTTP를 보완하고자SSL/TLS 프로토콜 기반으로 데이터를 암호화 한, HTTPS 프로토콜이 만들어졌음.HTTPS는 비대칭키 알고리즘으로 데이터를 암복호화함.데이터가 비대칭키..

안드로이드 백그라운드 정리 (thread와 handler)
안드로이드의 메인스레드 안드로이드앱이 실행하게 되면 어플리케이션 동작을 위해 기본적으로 생성되는(by default) 스레드를 메인스레드라고 한다. 메인스레드는 컴포넌트를 동작시키고 ui를 그리는 일을 담당하며 이 때문에 UI스레드라고 불린다. (메인스레드 == UI스레드) 안드로이드는 앱의 ui를 하나의 스레드에서만 담당하는 원칙을 가지고있다. (싱글스레드 모델) UI 스레드는 단 하나 앱은 날이갈수록 복잡해지지만 UI를 담당하는 스레드는 단 하나다. 이때문에 이러한 싱글스레드 모델에서는 몇가지 규칙이 있다. 1. 메인스레드(UI스레드)를 블럭하지 말것 -> 시간 오래걸리는 작업은(다운로드,IO작업 등..) 메인스레드에서 하지말고 딴데서(다른 스레드) 해라 2. 안드로이드 UI는 오직 UI스레드(메인스..