NullPointerException addToRequestQueue (com.android.volley.Request, java.lang.String) 'en una referencia de objeto nulo

Estoy usando http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/ y está funcionando bien en el proyecto de ejemplo de este registro de inicio de sesión. Solo ingresa y regístrate )

Pero después de muchos intentos de intentarlo con cardviews y otros widgets , este error aparece en el *LogCat* :

 java.lang.NullPointerException: Attempt to invoke virtual method 'void client.myproject.app.AppController.addToRequestQueue(com.android.volley.Request, java.lang.String)' on a null object reference at client.myproject.RegisterActivity.registerUser(RegisterActivity.java:185) at client.myproject.RegisterActivity.access$300(RegisterActivity.java:35) at client.myproject.RegisterActivity$1.onClick(RegisterActivity.java:81) at android.view.View.performClick(View.java:4780) at android.view.View$PerformClick.run(View.java:19866) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

Mientras que estos códigos funcionan bien en una sola aplicación (sólo con registro de inicio de sesión).

Estoy usando la biblioteca Volley. Por favor ayuda.

En el complemento AndroidManifest.xml

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

En mi caso, me olvidé de inicializar la variable rq, por favor, asegúrese de que lo hizo

  ... private RequestQueue rq; // rq = null (NullPointerException if you use) ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... rq = Volley.newRequestQueue(YourActivity.this); // rq != null } ... rq.add(request); 

Como N1to dice, usted necesita agregar su controlador en el AndroidManifest.xml, si no lo agrega entonces el onCreate () nunca se llama y cuando llama AppController.getInstance () la instancia es null.

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

También funciona para mí con

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

No pasó ningún dato al método volley, eso significa que obtiene datos nulos (datos vacíos) … ver ejemplo:

 protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map=new HashMap<>(); map.put(region, regionName); return map; } 

Si regionName está vacío, le dará NullPointerException, así que regionName debe tener algo …..

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.