java - AsyncTask.execute() 上的 NullPointerException

标签 java android

我一直在开发一个单一 Activity 应用程序,该应用程序接收 UDP 数据包,解析其消息,然后更改 ImageView、TextView,并根据消息包含的内容播放警报歌曲。我有三个类:MainActivity、ListeningService 和 AndroidUDP。 MainActivity 包含所有 GUI 实现,AndroidUDP 包含枚举,其中包含 20 种可能的警报类型,具体取决于 UDP 消息包含的内容以及设置 TextView 和 ImageViews,ListeningService 包含 AsyncTask 私有(private)类。

这不是我写的,而是一位电气工程师写的,我的任务是让它真正发挥作用。当我尝试通过 AndroidUDP.startIt() 方法调用 ListeningService 时,出现错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.p3_group.v2vapp/com.p3_group.v2vapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.p3_group.v2vapp.ListeningService.continueListening()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.p3_group.v2vapp.ListeningService.continueListening()' on a null object reference at com.p3_group.v2vapp.MainActivity.onCreate(MainActivity.java:61)

我确信我正在做一些愚蠢的事情,比如尝试从错误的线程调用后台更新。我以前从未做过这种事情,所以任何指点都会很棒!

是的,我知道这段代码非常糟糕。我只需要它能够满足我们正在做的事情,而不是完美

最佳答案

您好,您根本没有启动服务,并且您尝试在“public void doStuff(MainActivity r, IntentFilter filter)”中绑定(bind)服务,但它不会绑定(bind),所以ListeningService ListeningService 在 AndroidUDP 中为 null,但是您尝试调用下面的方法,但 ListeningService 为 null,因此它给出了空指针异常。

public void startIt()
{

    listeningService.continueListening();

}

关于java - AsyncTask.execute() 上的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45090837/

相关文章:

java - 从 Java 代码构建 exe 的最佳免费工具?

android - 在键盘 android 上方添加按钮

android - 在 Android 上将 mask 应用于视频预览

java - 两种方法引用实例方法的区别

java - Hibernate Insert 正在尝试更新标识列

java - Android 崩溃并且崩溃报告未显示在 Android Studio 控制台中

java - 如何解析 xml 元素节点 susing pig 脚本?

android - EditText 提示和具有不同文本大小的文本

java - 添加 fragment 时出现 Glide 库错误或应用程序崩溃,并且还显示该特定问题的图像

android - 进程被终止后可以重用一个 fragment 吗?