마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

aspx통신 중 exception로그

0 추천

안녕하세요. 안드로이드 초보입니다.

 

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;
	}

 

안드로이드로이으잉 (1,560 포인트) 님이 2014년 7월 2일 질문
안드로이드로이으잉님이 2014년 7월 2일 수정
uri은 제가 임의로 변경하여 올렸습니다.

1개의 답변

+1 추천
 
채택된 답변
네트워크 작업은 별도의 스레드에서 실행하세요.

runOnUiThread로 실행하면 이름대로 UI스레드에서 실행됩니다.
익명사용자 님이 2014년 7월 2일 답변
안드로이드로이으잉님이 2014년 7월 4일 채택됨
http://ralf79.tistory.com/85

이 내용을 참고하여 만들면 될까요 ?
...