사용하여 안드로이드 앱 오류 로그를 이해 할 수 없습니다누군가가 이러한 오류 로그 항목에 대해 나에게 자세히 설명해 수 AsyncTask를
W/System.err(8537): at com.any.sales.Alerts.toast(Alerts.java:14)
W/System.err(8537): at com.any.sales.SalesHandler.startStalesSync(SalesHandler.java:31)
W/System.err(8537): at com.any.sales.Start.act(Start.java:55)
W/System.err(8537): at com.any.sales.Start.onCreate(Start.java:23)
W/System.err(8537): at com.any.sales.Alerts.toast(Alerts.java:14)
W/System.err(8537): at com.any.sales.HttpCall.onPostExecute(HttpCall.java:103)
W/System.err(8537): at com.any.sales.HttpCall.onPostExecute(HttpCall.java:22)
내 애플 충돌 및 ADB 로그이 제외한 다른 오류 로그를 표시되지 않습니다에 유지합니다. 그리고 나는이 글들이 무엇을 말하려고하는지 이해할 수 없다.
저는 HttpPost, HttpClient, HttpResponse와 같은 Http 클래스가 온라인 서버에 연결하고 데이터를 가져 오는 앱을 만들고 있습니다. 이 목적을 위해 HttpCall 클래스를 만들고 AsyncTask를 확장합니다. 나는이 클래스를 잠시 사용하고 있으며, 모든 프로젝트에서 완벽하게 작동하고 있지만 이제는 어떻게 든 제대로 작동하지 않습니다.
예외에 대한 printStackTrace를 수행하고 있으며 오류 로그 항목을 모두 봅니다. 이 항목이 무엇을 말하려고하는지 이해할 수 있다면 문제를 바로 잡을 수 있습니다. 보시다시피 함수 이름, 클래스 이름 행 번호 만 참조 할 뿐이며 오류가 실제로 무엇인지 알려주는 다른 메시지는 없습니다. 이것은 내 HttpCall 클래스입니다 :
public class HttpCall extends AsyncTask<Void, Void, String> {
String url;
List<NameValuePair> params;
AsyncResponse delegate = null;
public HttpCall(String url, List<NameValuePair> params, AsyncResponse responseDelegate) {
this.url = url;
this.params = params;
this.delegate = responseDelegate;
}
private String post(String url, List<NameValuePair> params) {
// Data Objects
UrlEncodedFormEntity entity;
HttpPost post;
HttpClient client;
HttpResponse response;
BufferedReader reader;
StringBuilder builder;
String line;
try {
// Set Parameters
entity = new UrlEncodedFormEntity(params);
// Set Request
post = new HttpPost(url);
post.setEntity(entity);
// Execute Request through Http Client and Store the response
client = new DefaultHttpClient();
response = client.execute(post);
// Read Response to the buffer
reader = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()
)
);
builder = new StringBuilder("");
while ((line = reader.readLine()) != null) {
builder.append(line);
}
reader.close();
return builder.toString();
} catch (ConnectTimeoutException ex) {
ex.printStackTrace();
return "Unable to process request"
+ "\nDue to a very slow or no active Internet"
+ "\nPlease try again in few seconds..";
} catch (NoHttpResponseException ex) {
ex.printStackTrace();
return "No Response from Server. Please try again in few seconds..";
} catch (IOException ex) {
ex.printStackTrace();
return "Error in IO";
} catch (Exception ex) {
ex.printStackTrace();
return "Unknown Connection Error";
}
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(Void... voids) {
try {
return post(this.url, this.params);
} catch (Exception ex) {
ex.printStackTrace();
return ex.getMessage();
}
}
@Override
protected void onPostExecute(String result) {
try {
super.onPostExecute(result);
if (delegate != null)
delegate.onFinish(result);
} catch (Exception ex) {
ex.printStackTrace();
Alerts.toast(ex.getMessage());
}
}
}
이 AsyncTask를
내 문제를 해결public interface AsyncResponse {
void onFinish(String output);
}