简体   繁体   English

java空指针异常

[英]java null pointer exception

Based on different SO questions I understand what the java.null.pointer exception is I am just not sure why it occurs in this case. 基于不同的SO问题,我了解java.null.pointer异常是什么,我只是不确定为什么在这种情况下会发生。 In summary a reference to a variable declared as a reference type not yet defined. 总之,对声明为引用类型的变量的引用尚未定义。

I have 2 java files RegisterActivity.java and AppController.java. 我有2个Java文件RegisterActivity.java和AppController.java。

The following call in the RegisterActivity.java file results in a java.null.pointer exception: RegisterActivity.java文件中的以下调用导致java.null.pointer异常:

AppController.getInstance().addToRequestQueue(strReq, tag_string_req); AppController.getInstance()。addToRequestQueue(strReq,tag_string_req);

This is the method in the AppController file: 这是AppController文件中的方法:

public static synchronized AppController getInstance() { return mInstance; 公共静态同步的AppController getInstance(){return mInstance; } }

public class AppController extends Application {

    public static final String TAG = AppController.class.getSimpleName();

    private RequestQueue mRequestQueue;

    private static AppController mInstance;

    @Override
    public void onCreate() {
        super.onCreate();
        mInstance = this;
    }

    public static synchronized AppController getInstance() {
        return mInstance;
    }


//RegisterActivity.java
 public class RegisterActivity extends Activity {
 ...
     private void registerUser(final String name, final String email,
                          final String password) {
          ...
          AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
     }

 ...
 }

07-01 16:33:17.757 995-995/mobi.blessd.user.blessd E/AndroidRuntime: FATAL EXCEPTION: main Process: mobi.blessd.user.blessd, PID: 995 java.lang.NullPointerException at mobi.blessd.user.blessd.activity.RegisterActivity.registerUser(RegisterActivity.java:189) at mobi.blessd.user.blessd.activity.RegisterActivity.access$300(RegisterActivity.java:35) at mobi.blessd.user.blessd.activity.RegisterActivity$1.onClick(RegisterActivity.java:84) at android.view.View.performClick(View.java:4508) at android.view.View$PerformClick.run(View.java:18675) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5584) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) at com.android.internal.os.ZygoteInit.main(ZygoteIni 07-01 16:33:17.757 995-995 / mobi.blessd.user.blessd E / AndroidRuntime:致命例外:主进程:mobi.blessd.user.blessd,PID:995 java.lang.NullPointerException at mobi.blessd。 user.blessd.activity.RegisterActivity.registerUser(RegisterActivity.java:189)at mobi.blessd.user.blessd.activity.RegisterActivity.access $ 300(RegisterActivity.java:35)at mobi.blessd.user.blessd.activity.RegisterActivity android.view.View.performClick(View.java:4508)为$ 1.onClick(RegisterActivity.java:84)android.os.Handler.handleCallback为android.view.View $ PerformClick.run(View.java:18675) (Handler.java:733)在android.os.Handler.dispatchMessage(Handler.java:95)在android.os.Looper.loop(Looper.java:136)在android.app.ActivityThread.main(ActivityThread.java: 5584),位于com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java.lang.reflect.Method.invoke(Method.java:515)处的java.lang.reflect.Method.invokeNative(本机方法)。 java:1268)在com.android.internal.os.ZygoteInit.main(ZygoteIni t.java:1084) at dalvik.system.NativeStart.main(Native Method) t.java:1084),网址:dalvik.system.NativeStart.main(本机方法)

My source code is from the following tutorial http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/ 我的源代码来自以下教程http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/

Did you add the AppControler to your manifest? 您是否已将AppControler添加到清单中?

<application
        android:name=".AppController" //this one
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM