/ / NullPointerException dans le projet Android - Android, base de données, sqlite, android-intent, android-activity

NullPointerException dans le projet Android - Android, base de données, sqlite, android-intent, android-activity

J'ai essayé de lancer AddEditRecipesActivity.java de RecipesActivity.java. Dans RecipesActivity, il y a une liste de données de datatable. En appuyant sur le bouton Ajouter dans RecipesActivity, AddEditRecipesActivity.java est appelé, où j'insère des données dans datatable. Mais lorsque j'ai appuyé sur ce bouton, mon application s'est bloquée.

Il s'agit des messages LogCat.

08-20 04:13:20.315: E/Your TAG,(9425): Your Message
-    08-20 04:13:20.315: E/Your TAG,(9425): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.behealthy/com.example.behealthy.AddEditRecipesActivity}: java.lang.NullPointerException
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2024)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.app.ActivityThread.access$600(ActivityThread.java:140)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.os.Handler.dispatchMessage(Handler.java:99)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.os.Looper.loop(Looper.java:137)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.app.ActivityThread.main(ActivityThread.java:4898)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at java.lang.reflect.Method.invokeNative(Native Method)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at java.lang.reflect.Method.invoke(Method.java:511)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at dalvik.system.NativeStart.main(Native Method)
-    08-20 04:13:20.315: E/Your TAG,(9425): Caused by: java.lang.NullPointerException
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:228)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at com.example.behealthy.AddEditRecipesActivity.<init>(AddEditRecipesActivity.java:27)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at java.lang.Class.newInstanceImpl(Native Method)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at java.lang.Class.newInstance(Class.java:1319)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.app.Instrumentation.newActivity(Instrumentation.java:1057)
-    08-20 04:13:20.315: E/Your TAG,(9425):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2015)
-    08-20 04:13:20.315: E/Your TAG,(9425):     ... 11 more

Merci.

Réponses:

2 pour la réponse № 1

De cette ligne

Caused by: java.lang.NullPointerException

nous savons que le problème est que quelque chose est null. Et à partir de cette ligne (la première ligne après celle qui fait référence à votre projet)

at com.example.behealthy.AddEditRecipesActivity.<init>(AddEditRecipesActivity.java:27)

nous savons que "quelque chose qui est nul" est à la ligne 27 de AddEditRecipesActivity

Voyez ce qui pourrait être null là-bas et comprendre pourquoi il serait null. Si vous avez besoin de plus d'aide, veuillez poster le code correspondant.


1 pour la réponse № 2

Une variable à laquelle vous accédez AddEditRecipesActivity à la ligne 27 est null.

Si vous double-cliquez sur un message dans le logcat, eclipse vous amènera à la ligne appropriée.

Si vous ne voyez pas quelle variable est null essayez d'imprimer certaines valeurs avec

Log.d("MyTag", "The value of xyz="+xyz);

Ou exécutez votre code sous le débogueur.