2014-02-21 7 views
0

Так что я делаю приложение для Android. По существу, что он делает, он выбирает долготу и широту пользователя в сетевом провайдере. Затем он передает это методу, который использует геокодер для восстановления почтового индекса. Как только у меня есть почтовый индекс, я делаю запрос на WunderGround и возвращаю прогноз JSON. Затем я использую GSON, чтобы разобрать его, и получить каждую дату дня, температуру (F) и условия.Сбой приложения для Android. Async, вероятно, причина

ОДНАКО, мое приложение продолжает падать, и я понятия не имею, почему. LogCat сообщает мне, что он находится в «FutureTask». Я Googled, и это имеет какое-то отношение к потокам, поэтому я предполагаю, что что-то в моей Async отключено.

Если кто-нибудь может взглянуть на мой код и дать мне несколько советов о том, как исправить это, я был бы признателен.

КОД не пропущено (больше не требуется)

LogCat:

02-20 22:53:38.632: I/Adreno-EGL(31953): <qeglDrvAPI_eglInitialize:316>: EGL 1.4 QUALCOMM build: (CL4169980) 
02-20 22:53:38.632: I/Adreno-EGL(31953): OpenGL ES Shader Compiler Version: 17.01.10.SPL 
02-20 22:53:38.632: I/Adreno-EGL(31953): Build Date: 09/26/13 Thu 
02-20 22:53:38.632: I/Adreno-EGL(31953): Local Branch: 
02-20 22:53:38.632: I/Adreno-EGL(31953): Remote Branch: 
02-20 22:53:38.632: I/Adreno-EGL(31953): Local Patches: 
02-20 22:53:38.632: I/Adreno-EGL(31953): Reconstruct Branch: 
02-20 22:53:42.846: E/dalvikvm(31953): Could not find class 'com.google.gson.JsonParser', referenced from method com.example.midterm2.MainActivity$parseJSON.doInBackground 
02-20 22:53:42.846: W/dalvikvm(31953): VFY: unable to resolve new-instance 738 (Lcom/google/gson/JsonParser;) in Lcom/example/midterm2/MainActivity$parseJSON; 
02-20 22:53:42.886: W/dalvikvm(31953): threadid=12: thread exiting with uncaught exception (group=0x417a0898) 
02-20 22:53:42.936: E/AndroidRuntime(31953): FATAL EXCEPTION: AsyncTask #1 
02-20 22:53:42.936: E/AndroidRuntime(31953): java.lang.RuntimeException: An error occured while executing doInBackground() 
02-20 22:53:42.936: E/AndroidRuntime(31953): at android.os.AsyncTask$3.done(AsyncTask.java:299) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at java.util.concurrent.FutureTask.setException(FutureTask.java:219) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at java.util.concurrent.FutureTask.run(FutureTask.java:239) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at java.lang.Thread.run(Thread.java:841) 
02-20 22:53:42.936: E/AndroidRuntime(31953): Caused by: java.lang.NoClassDefFoundError: com.google.gson.JsonParser 
02-20 22:53:42.936: E/AndroidRuntime(31953): at com.example.midterm2.MainActivity$parseJSON.doInBackground(MainActivity.java:197) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at com.example.midterm2.MainActivity$parseJSON.doInBackground(MainActivity.java:1) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
02-20 22:53:42.936: E/AndroidRuntime(31953): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
02-20 22:53:42.936: E/AndroidRuntime(31953): ... 4 more 
+2

Опубликовать логарифм, пожалуйста. Это очень много кода, чтобы проследить вслепую. – codeMagic

+0

Просто глядя на свой код, я не могу найти никаких проблем в вашем исполнении AsyncTask, но выполняете ли вы еще одну AsyncTask одновременно? Это может вызвать множество странных проблем ... но, как комментирует @codeMagic, добавьте свой logcat – GhostDerfel

+0

@codeMagic. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Я немного незнакома с logcat. – SlashTag

ответ

0

По линии, которая гласит

Caused by: java.lang.NoClassDefFoundError: com.google.gson.JsonParser 
02-20 22:53:42.936: E/AndroidRuntime(31953): at com.example.midterm2.MainActivity$parseJSON.doInBackground(MainActivity.java:197) 

вашей GSON библиотека парсер не упакована в вашем APK правильно. Вероятно, вы должны дважды проверить свою конфигурацию зависимостей.

Я не уверен, как вы создали свой проект, но вопрос: Libraries do not get added to APK anymore after upgrade to ADT 22, вероятно, будет полезен.

Смежные вопросы