java.lang.NullPointerException空指针问题


  对于一个Android新手而言遇见空指针问题是在所难免的。比如在调试时一开程序就出现“很抱歉!’XXX‘已停止运行!“这是空指针的一种表现。

  为什么会出现空指针?

  所谓空指针异常,是因为用空(null)去调用属性或方法。
null表示没有这个对象,既然没有这个对象,那么去调用他的属性和方法,就会报异常。
<--主要有以下几种原因:
1、使用了未初始化的变量(虽然已经声明)
2、使用了未初始化的对象(虽然已经声明)
3、使用了关键字或已存在的类名作变量对象方法或类名。
当应用程序试图在需要对象的地方使用 null 时,抛出该异常。
<--这种情况包括:
调用 null对象的实例方法。
访问或修改null对象的字段。
将null作为一个数组,获得其长度。
将null作为一个数组,访问或修改其时间片。
将null作为Throwable值抛出。
(以上几点看明白,然后再查看你的代码,肯定能找出来)

 既然知道为什么错了那就要去看错在哪里。看logcat

仔细看logcat就会发现错误了。比如

警告: Problem parsing stream - java.lang.NullPointerException
java.lang.NullPointerException
 at com.semaphore.util.plist.PElementAdapter.get(PElementAdapter.java:25)
 at com.semaphore.util.plist.PList.get(PList.java:25)
 at com.semaphore.util.plist.PElementAdapter.getPath(PElementAdapter.java:31)
 at com.semaphore.TinyLoader.findLibs(TinyLoader.java:76)
 at com.semaphore.TinyLoader.main(TinyLoader.java:37)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
 at com.exe4j.runtime.WinLauncher.main(Unknown Source)
从以上的第3、4、5行中很容易看出来PElementAdapter.java中的25、31行;PList中的第25行 等存在错误。具体错误自己找。主要看你的Activity.java文件字体变蓝的那一段(android studio中是变蓝的)。

你可能感兴趣的:(Android,Android,空指针问题,XXX已停止运行)