가끔 내 앱에서이 오류가 발생합니다. 버튼을 여러 번 클릭하면 충돌이 발생하고 버튼이 SOAP 요청을 서버에 보내고 전체 logcat이 다음과 같이 표시됩니다 : 클릭에java.lang.RuntimeException : doInBackground() 실행 중 오류가 발생했습니다. 원인 : java.lang.NullPointerException
E/AndroidRuntime(16290): FATAL EXCEPTION: AsyncTask #1
06-06 15:17:16.003: E/AndroidRuntime(16290): java.lang.RuntimeException: An error occured while executing doInBackground()
06-06 15:17:16.003: E/AndroidRuntime(16290): at android.os.AsyncTask$3.done(AsyncTask.java:200)
06-06 15:17:16.003: E/AndroidRuntime(16290): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
06-06 15:17:16.003: E/AndroidRuntime(16290): at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
06-06 15:17:16.003: E/AndroidRuntime(16290): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
06-06 15:17:16.003: E/AndroidRuntime(16290): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
06-06 15:17:16.003: E/AndroidRuntime(16290): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
06-06 15:17:16.003: E/AndroidRuntime(16290): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
06-06 15:17:16.003: E/AndroidRuntime(16290): at enter code herejava.lang.Thread.run(Thread.java:1027)
06-06 15:17:16.003: E/AndroidRuntime(16290): Caused by: java.lang.NullPointerException
06-06 15:17:16.003: E/AndroidRuntime(16290): at com.bgi.genebook.task.QueryCalAllDataTask.doInBackground(QueryCalAllDataTask.java:24)
06-06 15:17:16.003: E/AndroidRuntime(16290): at com.bgi.genebook.task.QueryCalAllDataTask.doInBackground(QueryCalAllDataTask.java:1)
06-06 15:17:16.003: E/AndroidRuntime(16290): at android.os.AsyncTask$2.call(AsyncTask.java:185)
06-06 15:17:16.003: E/AndroidRuntime(16290): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
06-06 15:17:16.003: E/AndroidRuntime(16290): ... 4 more
버튼 코드 실행됩니다
Map<String, Object> mapSyc = new HashMap<String, Object>();
mapSyc.clear();
QueryCalAllDataTask<VipOxygen> task = new QueryCalAllDataTask<VipOxygen>(
this);
mapSyc.put("date", date);
mapSyc.put("wsdl", VipBloodOxygenWebService.wsdl);
task.execute(mapSyc);
을하고 QueryCalAllDataTask.java은 다음과 같습니다
public class QueryCalAllDataTask<T> extends
AsyncTask<Map<String, Object>, Integer, List<Map<String, String>>> {
GBListener<T> listener;
public QueryCalAllDataTask(GBListener<T> listener) {
this.listener = listener;
}
@Override
protected synchronized List<Map<String, String>> doInBackground(Map<String, Object>... params) {
List<Map<String, String>> contentListDay = new ArrayList<Map<String, String>>();
Log.e("OPERATE", params[0].get("wsdl").toString()); // line 24
try{
contentListDay = (List<Map<String, String>>)BaseWebService.getDataAllDaysCountOfMouth(params[0]
.get("wsdl").toString(), params[0].get("date").toString());
}catch(Exception e){
}
return contentListDay;
}
@Override
protected void onPostExecute(List<Map<String, String>> list) {
System.out.println("QueryTask.onPostExecute()" + list);
listener.getAllCalData(list);
}
@Override
protected void onProgressUpdate(Integer... values) {
System.out.println(values);
}
}
누가 나를 도울 수 있습니까? 그 이유는 무엇입니까? 이 충돌은 잠시 동안 나타납니다. 버튼을 여러 번 클릭하면!
* 누가 나를 도울 수 있습니까? 그리고 왜? * 왜? – xyz
왜 아무도 나를 도울까요 ?? 이 삶은 의미가 없습니다! 왜?? –
'QueryCalAllDataTask.java' 파일의 24 번째 줄에서 오류가 발생합니다. 그 라인에 무엇이 있는지 모르기 때문에 더 이상 당신을 도울 수 없습니다. 빈 catch 블록의 경우 – jlordo