sitelink1 | |
---|---|
sitelink2 | |
sitelink3 |
AsyncTask과 HttpURLConnection을 이용하여 비동기적으로 서버와 통신하며 세션을 유지해야 했다
Pseudo 코드로 정리해보자면
MainActivity {
public static String cookies = "";
HttpUtil extends AsyncTask {
doInBackground() {
if (cookies != null && cookies.length() > 0) {
conn.setRequestProperty("Cookie", cookies); //세션 유지를 위한 쿠키 설정
}
...
...
HttpURLConnection.connect(); 또는 HttpURLConnection.getOutputStream();
...
...
//최초 접속후 세션 유지용 쿠키 취득
Map m = conn.getHeaderFields();
if(m.containsKey("Set-Cookie")) {
Collection c = (Collection)m.get("Set-Cookie");
for(Iterator i = c.iterator(); i.hasNext(); ) {
cookies += (String)i.next();
}
}
}
}
}
위 코드를 참고해서 적당히 적용하면 된다