【问题标题】:Android Studio Weather Application CrashingAndroid Studio 天气应用程序崩溃
【发布时间】:2017-07-22 20:11:58
【问题描述】:

所以,我一直在关注 Android 天气应用程序的 YouTube 教程。该应用程序似乎可以编译,但是在模拟器上打开时会崩溃。我不是最流利的程序员,但是代码是可以理解的。我无法弄清楚是什么导致了这个问题。该应用程序应该为“MainActivity.java”中硬编码位置的位置获取天气数据。数据来自 Yahoo!使用 API。

项目文件链接:https://drive.google.com/drive/folders/0B2dQ9-JQjysVeXlqZENBZDExN0E?usp=sharing

以下是我得到的错误:

--------- 崩溃开始 E/AndroidRuntime: 致命异常: main 进程:com.example.mattbenson.cw_2_weather,PID:2529 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int org.json.JSONObject.optInt(java.lang.String)” 在 com.example.mattbenson.cw_2_weather.service.WeatherService$1.onPostExecute(WeatherService.java:81) 在 com.example.mattbenson.cw_2_weather.service.WeatherService$1.onPostExecute(WeatherService.java:38) 在 android.os.AsyncTask.finish(AsyncTask.java:667) 在 android.os.AsyncTask.-wrap1(AsyncTask.java) 在 android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6119) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) E/Surface: queueBuffer: 到 SurfaceTexture 的错误队列缓冲区,-19 E/EGL_emulation:tid 2570:swapBuffers(487):错误 0x300d (EGL_BAD_SURFACE) W/OpenGLRenderer:swapBuffers 在 0x76990bb1c580 上遇到 EGL 错误 12301,正在停止渲染... 应用程序终止。

(对不起,我是这个网站的新手!)

非常感谢任何帮助。

【问题讨论】:

    标签: java android api mobile weather


    【解决方案1】:

    正如 StackTrace 所说,错误位于第 81 行 int count = queryResults.optInt("Count"); 的 Class WeatherService,因为它返回 NULL

    尝试使用方法optInt with fallbackqueryResults.optInt("Count", 0);

    【讨论】:

    • 感谢您的回复。我已经更改了声明,但应用程序仍然崩溃。这是我得到的错误: java.lang.NullPointerException: Attempt to invoke virtual method 'int org.json.JSONObject.optInt(java.lang.String, int)' on an null object reference at com.example.mattbenson.cw_2_weather .service.WeatherService$1.onPostExecute(WeatherService.java:81) at com.example.mattbenson.cw_2_weather.service.WeatherService$1.onPostExecute(WeatherService.java:38)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 2015-12-05
    • 1970-01-01
    相关资源
    最近更新 更多