저는 지금 안드로이드 프레임 워크를 가지고 놀기 위해 아주 기본적인 응용 프로그램을 개발하려고합니다. 3 가지 활동으로 간단한 애플리케이션을 만들었습니다. 하나는 데이터베이스에 데이터를 삽입하는 것이고, 하나는 확인 메시지를 처리하고 다른 하나는 지금까지 입력 된 데이터를 표시하는 것입니다.안드로이드 응용 프로그램에서 스레드 오류를 표시합니다.
나는 이런 일이 이유에 나는 매우 명확하지 않다 목록 활동에서이 오류 (마지막 실행)
을받을 수 있지만,이 로그 캣 출력입니다. 내가하려는 것은 그 활동에서 다음과 같습니다 :
HttpResponse response = httpClient.execute(httpPost);
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
String responseStr = EntityUtils.toString(resEntity).trim();
Log.v(TAG, "Response: " + responseStr);
TextView responseSimpleText = new TextView(this);
responseSimpleText.setText(responseStr.toString());
// you can add an if statement here and do other actions based on the response
setContentView(responseSimpleText);
}else{
Log.v("ListingAcitivty.java", "Response is Null");
}
누군가가 무슨 일이 일어나고 있는지 지적 할 수 있습니까? AsyncTask를 사용하고 있는데 데이터가 성공적으로 삽입되었습니다.
이것은 'AsynTask'의'doInBackground' 메소드의 일부라고 생각합니다. 이 메소드는 뷰를 갱신 할 수 없다는 것을주의하라. (당신은이 메소드 내부에서'setContentView (responseSimpleText); 그것은 UI 스레드가 아닌 백그라운드 스레드에서 실행되기 때문입니다. –
나는 이것을 결코 알지 못했다! 감사. 이 경우 가장 좋은 일은 무엇입니까? –
'onPreExecute()','onProgressUpdate (Progress ...)'또는'onPostExecute (Result)'에서 뷰를 업데이트하십시오. 자세한 내용은 [여기] (http://developer.android.com/reference/android/os/AsyncTask.html) –