Closed raicas closed 10 years ago
Well, it's my mistake. It shows a toast when facing error in parsing xml. But it is still on background thread! Maybe you want to handle exception by yourself, instead of showing such toast :)
I'll add listeners to handle them, both on background thread and on UI thread. Thank you for your feedback.
Done.
E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1 Process: com.BlackSnowStudio.valkyrie, PID: 29314 java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:300) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841) Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.(Handler.java:200)
at android.os.Handler.(Handler.java:114)
at android.widget.Toast$TN.(Toast.java:327)
at android.widget.Toast.(Toast.java:92)
at android.widget.Toast.makeText(Toast.java:241)
at zh.wang.android.apis.yweathergetter4a.YahooWeatherLog.shortToast(YahooWeatherLog.java:27)
at zh.wang.android.apis.yweathergetter4a.WOEIDUtils.fetchWOEIDxmlString(WOEIDUtils.java:174)
at zh.wang.android.apis.yweathergetter4a.WOEIDUtils.queryWOEIDfromYahooAPIs(WOEIDUtils.java:126)
at zh.wang.android.apis.yweathergetter4a.WOEIDUtils.getWOEID(WOEIDUtils.java:90)
at zh.wang.android.apis.yweathergetter4a.YahooWeather$WeatherQueryByLatLonTask.doInBackground(YahooWeather.java:416)
at zh.wang.android.apis.yweathergetter4a.YahooWeather$WeatherQueryByLatLonTask.doInBackground(YahooWeather.java:406)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)