Bonsoir ,
quand j'essayé d’exécuter un projet mon émulateur m'affiche un message d'erreur " Unfortunately Projet has stopped "
Version imprimable
Bonsoir ,
quand j'essayé d’exécuter un projet mon émulateur m'affiche un message d'erreur " Unfortunately Projet has stopped "
Essaye de le démarrer d'abord avec l'AVD puis lance ton projet.
J'imagine que "Projet" est le nom de ton application...
Et elle a fait une chose interdite, qui a pour résultat le "crash" de l'application.
Le LogCat doit contenir la cause détaillée du pourquoi, et à quel endroit de l'application.
Merci pour vos réponses :ccool:,
j'ai consulté le logcat et il m'a dirigé vers mon fichier XML, mais j'ai pas trouver des erreurs sur le code source de mon XML :(
Dans l'attente de votre prochaine réponse veuillez accepter mes meilleurs salutations . :)
Bonsoir,
Je débute dans le développement androïde et la je me retrouve avec le même problème que je n'arrive Pas a résoudre depuis deux semaines sachant que mon log me revois aussi vers le XML qui me semble correcte, quelle est la solution svp.
Je dirai : ne pas faire jouer à la divination.
Si l'appli crash, il y a très peu de chance que ce soit la faute de la machine, c'est plutôt de la faute de votre code.
Vous avez des crash, vous avez donc des très jolies stacktrace dans le LogCat. Si nous vous les demandons (complète, et j'insiste, pas uniquement le type de l'exception), ce n'est pas vraiment pour le plaisir. Sans elles, à part dire "si ça crash, votre code à un problème", nous ne pouvons pas faire grand chose.
Ce qui fait que :
- vous n'avez pas d'aide
- ça ne donne pas envie aux bénévoles d'aider
- la solution que vous pourriez avoir (conditionnel car nous ne savons pas tout) arrivera beaucoup plus tard => vous vous bloquez vous-même.
Faites une fleur à chaque personne qui essaye de vous aider en fournissant toutes les informations relatives à votre problème, vous vous ferez vous-même une fleur car vous aurez plus de chance d'avoir une réponse qui vous aidera.
Puis je expose code ici?
Le code oui un peu...
Mais surtout le LOGCAT !
Dans le deux cas, inclure le "paste" entre deux balises "code" (bouton # de l'interface)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 10-26 22:46:54.835: I/Process(376): Sending signal. PID: 376 SIG: 9 10-26 22:47:09.925: D/dalvikvm(415): GC_EXTERNAL_ALLOC freed 839 objects / 58744 bytes in 75ms 10-26 22:47:11.285: D/AndroidRuntime(415): Shutting down VM 10-26 22:47:11.285: W/dalvikvm(415): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 10-26 22:47:11.305: E/AndroidRuntime(415): FATAL EXCEPTION: main 10-26 22:47:11.305: E/AndroidRuntime(415): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.formation.ActionBar/com.formation.ActionBar.Main}: android.view.InflateException: Binary XML file line #7: Error inflating class com.formation.ActionBar.ActionBarView 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.os.Handler.dispatchMessage(Handler.java:99) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.os.Looper.loop(Looper.java:123) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.ActivityThread.main(ActivityThread.java:4627) 10-26 22:47:11.305: E/AndroidRuntime(415): at java.lang.reflect.Method.invokeNative(Native Method) 10-26 22:47:11.305: E/AndroidRuntime(415): at java.lang.reflect.Method.invoke(Method.java:521) 10-26 22:47:11.305: E/AndroidRuntime(415): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 10-26 22:47:11.305: E/AndroidRuntime(415): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 10-26 22:47:11.305: E/AndroidRuntime(415): at dalvik.system.NativeStart.main(Native Method) 10-26 22:47:11.305: E/AndroidRuntime(415): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class com.formation.ActionBar.ActionBarView 10-26 22:47:11.305: E/AndroidRuntime(415): at android.view.LayoutInflater.createView(LayoutInflater.java:513) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 10-26 22:47:11.305: E/AndroidRuntime(415): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.Activity.setContentView(Activity.java:1647) 10-26 22:47:11.305: E/AndroidRuntime(415): at com.formation.ActionBar.Main.onCreate(Main.java:15) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-26 22:47:11.305: E/AndroidRuntime(415): ... 11 more 10-26 22:47:11.305: E/AndroidRuntime(415): Caused by: java.lang.reflect.InvocationTargetException 10-26 22:47:11.305: E/AndroidRuntime(415): at com.formation.ActionBar.ActionBarView.<init>(ActionBarView.java:45) 10-26 22:47:11.305: E/AndroidRuntime(415): at java.lang.reflect.Constructor.constructNative(Native Method) 10-26 22:47:11.305: E/AndroidRuntime(415): at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 10-26 22:47:11.305: E/AndroidRuntime(415): at android.view.LayoutInflater.createView(LayoutInflater.java:500) 10-26 22:47:11.305: E/AndroidRuntime(415): ... 21 more 10-26 22:47:11.305: E/AndroidRuntime(415): Caused by: java.lang.NullPointerException 10-26 22:47:11.305: E/AndroidRuntime(415): ... 25 more
La stacktrace est complexe... mais voici sa traduction:
L'application a dû être stoppée car il n'a pas pu démarrer l'activité com.formation.ActionBar.MainCode:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.formation.ActionBar/com.formation.ActionBar.Main}
L'activité n'a pu être démarrée car cette dernière a eu une exception pendant la fonction setContentView appelée dans la fonction onCreate de la classe com.formation.ActionBar.Main: fichier Main.java, ligne 15.Code:
1
2
3
4 Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class com.formation.ActionBar.ActionBarView ... at android.app.Activity.setContentView(Activity.java:1647) at com.formation.ActionBar.Main.onCreate(Main.java:15)
Cette exception concerne la création d'une vue basée sur la classe com.formation.ActionBar.ActionBarView
(ce qui au passage me fait penser à deux remarques: com.formation.ActionBar serait un package, hors un package java ne devrait jamais contenir de majuscule. Pour une raison de loader basé sur le filesystem qui peut être case-dependant ou non.
D'autre part, l'activité s'appelle "Main"... ce n'est pas un nom terrible pour une classe... "MainActivity" aurait été bien plus explicite: "c'est une activité, et c'est la principale".
Petite subtilité, c'est à l'initialisation de l'objet (code <init>) que l'exception a eu lieu, ligne 45 du fichier ActionBarView.javaCode:
1
2 Caused by: java.lang.reflect.InvocationTargetException at com.formation.ActionBar.ActionBarView.<init>(ActionBarView.java:45)
La raison en étant une utilisation d'une référence nulle !Code:Caused by: java.lang.NullPointerException
Voilà... reste plus qu'à voir le code de Main.java et de ActionBarView.java ...
Bonjour ,
après des nombreux recherches sur internet qui ont été infructueuses, je me permets de vous demande de l'aide pour trouver l'erreur.
Voila mon code source de ActionBarView.java et Main.java
Actionbarview.java
Main.javaCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 package com.formation.ActionBar; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; public class ActionBarView extends LinearLayout implements OnClickListener{ private View mConvertView; private ImageButton mButtonSearch; private ImageButton mButtonComment; private ImageButton mButtonHome; private ImageButton mButtonEven1; private TextView mTitle; private OnDispatchClickListener mListenerClick; public interface OnDispatchClickListener { public void onDispatchClick(int id); } public ActionBarView(Context context, AttributeSet attrs) { super(context,attrs); mConvertView = LayoutInflater.from(context).inflate(R.layout.action_bar, this); mButtonHome = (ImageButton)mConvertView.findViewById(R.id.ab_even1); mButtonSearch = (ImageButton)mConvertView.findViewById(R.id.ab_search); mButtonComment = (ImageButton)mConvertView.findViewById(R.id.ab_comment); mButtonHome = (ImageButton)mConvertView.findViewById(R.id.ab_home); mButtonHome.setOnClickListener(this); mButtonSearch.setOnClickListener(this); mButtonComment.setOnClickListener(this); mButtonEven1.setOnClickListener(this); } public void showButtonEven1() { mButtonEven1.setVisibility(View.VISIBLE); } public void showButtonSearch() { mButtonSearch.setVisibility(View.VISIBLE); } public void showButtonComment() { mButtonComment.setVisibility(View.VISIBLE); } public void onClick(View v) { mListenerClick.onDispatchClick(v.getId()); } public void setOnDispatchClickListener(OnDispatchClickListener v) { mListenerClick = v; } }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 package com.formation.ActionBar; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import com.formation.ActionBar.ActionBarView.OnDispatchClickListener; public class Main extends Activity implements OnDispatchClickListener{ private ActionBarView mActionBar; private TextView mTvClick; @Override public void onCreate(Bundle TravisLoveBacon) { super.onCreate(TravisLoveBacon); setContentView(R.layout.main); mActionBar=(ActionBarView)findViewById(R.id.actionbar); mActionBar.showButtonSearch(); mActionBar.setOnDispatchClickListener(this); mTvClick=(TextView)findViewById(R.id.tv_click); } public void onDispatchClick(int id) { switch (id) { case R.id.ab_home: mTvClick=(TextView)findViewById(R.layout.accueil); break; case R.id.ab_comment: mTvClick.setText("Comment"); break; case R.id.ab_search: mTvClick.setText("Search"); break; case R.id.ab_even1: mTvClick.setText("Search"); break; } } }
et Merci
mButtonEven1.setOnClickListener(this);
mButtonEven1 n'est jamais initialisé... ligne 45 ça correspond... et le logcat ne ment pas ;)
P.S. Code typo: il y a deux fois mButtonHome d'initialisé... un copier / coller qui a mal tourner.
Activer les warnings sur les variables potentiellement nulles aurait immédiatement afficher le warning dans Eclipse.
Bonsoir ,
merci pour votre réponse
j'ai modifié l’initialisation de mButtonHome = (ImageButton)mConvertView.findViewById(R.id.ab_even1);
en mButtonEven 1 = (ImageButton)mConvertView.findViewById(R.id.ab_even1);
mais y'a tjrs le même problème et est ce que il y'a une autre méthode pour réaliser un sliding drawer et Merci
Bonjour mhamed22, je constate que j'ai un peu le méme probleme que toi mon but est de réalisé une application avec double menu un en haut horizontale et un second en slid sur le coté droit en verticale si t'arrive a des réponses positif fais en moi part merci.
Déjà... il y a l'ActionBar de base... et le SlidingDrawer de base qui évitent quand même un tas de problèmes ;)
Bon... sinon,
Si le programme crashe exactement de la même manière (NullPointerException) au même endroit, à savoir la ligne 45:
Il n'y a même pas à réfléchir ! mButtonEven1 est null !Code:mButtonEven1.setOnClickListener(this);
Si le programme crashe ailleurs maintenant, donner le nouveau logcat... sinon on ne va jamais s'en sortir.