안녕하세요. 안드로이드 초보입니다.
aspx통신을 하려하는데 , 로그가 start11까지 찍히고 start22은 찍힙니다.
로그를 찍어보니
exception 로그가 찍히는데
Exception android.os.NetworkOnMainThreadException입니다.
쓰레드를 안쓰고 그냥 했을때 나타나길래
runOnUiThread로 감싸봤는데 같은 로그가 찍히고있습니다.
제가 정상적인 값을 내려받으려면 어떻게 수정해야할지 조언해 주시면감사하겠습니다.
아래는 코드입니다.
public boolean start(){
Log.d(TAG," start ");
runOnUiThread(new Runnable()
{
@Override
public void run() {
// TODO Auto-generated method stub
try {
HttpClient client = new DefaultHttpClient();
HttpPost get = new HttpPost();
get.setURI(new URI("GameStart.aspx"));
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("rKey",Secure.getString(PopUlar.this.getContentResolver(),Secure.ANDROID_ID) ));
params.add(new BasicNameValuePair("AKey", "Ok" ));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
get.setEntity(entity);
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
HttpConnectionParams.setSoTimeout(client.getParams(), 10000);
Log.d(TAG,"start 11");
HttpResponse resp = client.execute(get);
Log.d(TAG,"start 22");
BufferedReader br = new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
String str = "";
Log.d(TAG,"start 11");
Log.d(TAG,"result = "+br.readLine());
while ((str = br.readLine()) != null) {
Log.d(TAG,"result = "+br.readLine());
}
br.close();
} catch (Exception e) {
e.printStackTrace();
Log.d(TAG,"Exception "+ e);
}
}
});
return true;
}