안드로이드 개발 질문/답변
(글 수 45,052)
public String getAuthToken() throws Exception {
SharedPreferences shrdPref = PreferenceManager.getDefaultSharedPreferences(this);
String authToken = shrdPref.getString("authToken", null);
//Log.v("C2DM", "AuthToken : " + authToken);
if (authToken == null) {
StringBuffer postDataBuilder = new StringBuffer();
postDataBuilder.append("accountType=HOSTED_OR_GOOGLE");
postDataBuilder.append("&Email=marcof623@gmail.com");
postDataBuilder.append("&Passwd=xxxxx"); // 비밀번호는 이값이 아닌 제대로된 값 넣었습니다.
postDataBuilder.append("&service=ac2dm");
postDataBuilder.append("&source=marcof-1.0");
byte[] postData = postDataBuilder.toString().getBytes("UTF-8");
URL url = new URL("https://www.google.com/accounts/ClientLogin);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length",Integer.toString(postData.length));
// 출력스트림을 생성하여 서버로 송신
OutputStream out = conn.getOutputStream(); // 이부분 전에 toast를 넣으면 출력되는데
out.write(postData);
out.close(); // 이부분 이후에 넣으면 출력이 안됩니다!!
// 서버로부터 수신받은 스트림 객체를 버퍼에 넣어 읽는다.
BufferedReader br = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String sIdLine = br.readLine();
String lsIdLine = br.readLine();
String authLine = br.readLine();
Log.v("C2DM", sIdLine);
Log.v("C2DM", lsIdLine);
Log.v("C2DM", authLine);
authToken = authLine.substring(5, authLine.length());
SharedPreferences.Editor editor = shrdPref.edit();
editor.putString("authToken", authToken);
editor.commit();
}
Toast.makeText(Select.this,authToken,Toast.LENGTH_SHORT).show();
shrdPref = null;
return authToken;
}
등록 id는 잘 받아집니다. 하지만 authtoken값이 안받아지는데 왜이러는거죠??
소스에서 빨간부분이 문제가 되는거 같습니다.