Cookie란?
- 웹 서버가 웹 브라우저에게 보내어 저장했다가 서버의 부가적인 요청이 있을 때 다시 서버로 보내주는 문자열 정보
- 웹 페이지 방문 시 방문 기록 등 브라우저에서의 정보들이 저장된 텍스트 파일
- 데이터 형태는 Key, Value 형태로 String 형식
쿠키는 서버를 대신해 웹 브라우저에 저장하고 요청할 때 해당하는 정보를 서버에 보내 사용자를 식별할 수 있게 한다.
보통, 로그인 상태를 유지하고 사이트 환경설정을 기억하는 등 웹사이트와 관련된 작업을 할 때 사용된다.
Android에서의 Cookie 활용
안드로이드에서 쿠키를 활용할 때는 Webview로 보여주는 사이트의 쿠키를 제어하려고 할 때이다.
안드로이드에서는 Webview 인스턴스에서 사용하는 쿠키를 CookieManager를 통해 관리한다.
Cookie를 CookieManager에 보관하는 이유는 앱이 종료되기 전까지 Cookie가 유지되기 때문이다.
CookieManager
앱의 Webview 인스턴스에서 사용하는 쿠키를 관리하기 위해 안드로이드에서 기본적으로 제공해 주는 CookieManager를 활용한다.
CookieManager를 사용하기 위해 getInstance()를 활용하여 싱글톤 CookieManager 인스턴스를 가져와서 사용한다.
CookieManager에 대한 메서드는 developer 사이트에 자세하게 나와있다. 필요할 때 참고하자!
https://developer.android.com/reference/android/webkit/CookieManager
CookieManager | Android Developers
developer.android.com
CookieManager.getInstance().setCookie(url, value); //쿠키 셋팅
CookieManager.getInstance().flush(); //모든 쿠키 저장
주어진 URL에 대해 단일 쿠키를 설정한다.
쿠키는 Key - Value로 이루어져 있고, 호스트 경로 및 이름이 동일한 기존 쿠키는 새 쿠키로 대체된다.
설정된 쿠키는 만료된 경우 무시된다. 여러 쿠키를 설정하려면 앱에서 setCookie를 여러 번 호출해야 한다.