IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[Débutant] Application qui ne répond pas


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 38
    Points
    38
    Par défaut [Débutant] Application qui ne répond pas
    Bonjour,

    Je débute à peine dans la programmation Android et je m'exerce un peu avec ma première application.

    Mon problème est qu'à chaque fois que je lance l'émulateur, mon application ne répond pas. Et finalement je dois forcer la fermeture de l'application.

    Je crois avoir suivi les règles pour réaliser cette application donc, je n'arrive pas à voir vraiment où j'ai fait l'erreur...

    Voici les sources :

    Le Fichier xml de forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:orientation="vertical"
        tools:context=".MainActivity" >
     
        <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@+string/poids"
            android:textColor="#FF0000"/>
        <EditText 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/met_poids"/>
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/taille"
            android:textColor="#FF0000" />
        <EditText 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/met_tailles"/>
        <RadioGroup
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <RadioButton 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/metre"
                android:checked="true"/>
            <RadioButton 
                android:layout_width="wrap_content"
                android:text="@string/centimetre"
                android:layout_height="wrap_content"/>
        </RadioGroup>
     
        <CheckBox 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/fct"/>
        <Button
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:text="@string/clc"/>
        <Button
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:text="@string/raz"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/result"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@+id/resulta"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/info"/>
     
    </LinearLayout>
    Le fichier resource contenant les principales chaines de caracteres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="app_name">TpImc</string>
        <string name="action_settings">Settings</string>
        <string name="hello_world">Hello world!</string>
        <string name="poids">Poids:</string>
        <string name="met_poids">Entrer le poids</string>
        <string name="taille">Taille</string>
        <string name="met_tailles">Entrer la taille</string>
        <string name="metre">Metre</string>
        <string name="centimetre">Centimetre</string>
        <string name="fct">Mega Fonction!!</string>
        <string name="clc">Calculer l\'IMC</string>
        <string name="raz">Raz</string>
        <string name="result">Resultat:</string>
        <string name="info">Vous devez cliquer sur le bouton
            \"Calculer l\'IMC\" pour obtenir un resultat
            </string>
    </resources>
    L'activité principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    package tp.apprentissage.sdz.tpimc;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
     
    public class MainActivity extends Activity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    }
    Le fichier R
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    package tp.apprentissage.sdz.tpimc;
     
    public final class R {
        public static final class attr {
        }
        public static final class dimen {
            /**  Default screen margins, per the Android Design guidelines. 
     
             Customize dimensions originally defined in res/values/dimens.xml (such as
             screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
        
             */
            public static final int activity_horizontal_margin=0x7f040000;
            public static final int activity_vertical_margin=0x7f040001;
        }
        public static final class drawable {
            public static final int ic_launcher=0x7f020000;
        }
        public static final class id {
            public static final int action_settings=0x7f080001;
            public static final int resulta=0x7f080000;
        }
        public static final class layout {
            public static final int activity_main=0x7f030000;
        }
        public static final class menu {
            public static final int main=0x7f070000;
        }
        public static final class string {
            public static final int action_settings=0x7f050001;
            public static final int app_name=0x7f050000;
            public static final int centimetre=0x7f050008;
            public static final int clc=0x7f05000a;
            public static final int fct=0x7f050009;
            public static final int hello_world=0x7f050002;
            public static final int info=0x7f05000d;
            public static final int met_poids=0x7f050004;
            public static final int met_tailles=0x7f050006;
            public static final int metre=0x7f050007;
            public static final int poids=0x7f050003;
            public static final int raz=0x7f05000b;
            public static final int result=0x7f05000c;
            public static final int taille=0x7f050005;
        }
        public static final class style {
            /** 
            Base application theme, dependent on API level. This theme is replaced
            by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
        
     
                Theme customizations available in newer API levels can go in
                res/values-vXX/styles.xml, while customizations related to
                backward-compatibility can go here.
            
             */
            public static final int AppBaseTheme=0x7f060000;
            /**  Application theme. 
     All customizations that are NOT specific to a particular API-level can go here. 
             */
            public static final int AppTheme=0x7f060001;
        }
    }
    Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 149
    Points : 196
    Points
    196
    Par défaut
    regarde le logcat pour connaitre l'erreur.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 38
    Points
    38
    Par défaut savoir
    Merci de me répondre...
    Oui ca beaucoup de renseignement...Mais je n'arrive pas a les
    imterpreter

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Fournis-nous l'erreur, nous t'aiderons à la comprendre et te dirons comment la lire

    Nettoie ton logcat peu de temps avant d'avoir ton crash. Fait en sorte de l'avoir, et tu devrais avoir des suites de lignes rouges commençant par "at [package class]" avec des mentions d'Exception.
    Fournis-nous ces information, car sans, c'est compliqué de t'aider.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre régulier Avatar de manry
    Homme Profil pro
    Alternant administration système et sécurité
    Inscrit en
    Janvier 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Alternant administration système et sécurité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 64
    Points : 79
    Points
    79
    Par défaut
    Hello ce que je vois la c'est que il manque un " (apostrophe) dans ton fichier string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <string name="clc">Calculer l\'IMC</string>

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 38
    Points
    38
    Par défaut Logcat
    Comme tu me l'as demandé Hizin voici le logcat d'un autre test que je faisais::
    Il semblerait que je fais toujours une erreur lors de la recuperation de l'id du textview et le moment ou j'essaie de le remplir avec une chaine de caractere au niveau de la programmation

    Voici le logcat::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    02-06 17:14:30.508: D/AndroidRuntime(447): Shutting down VM
    02-06 17:14:30.517: W/dalvikvm(447): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
    02-06 17:14:30.517: E/AndroidRuntime(447): Uncaught handler: thread main exiting due to uncaught exception
    02-06 17:14:30.537: E/AndroidRuntime(447): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewGroup.addViewInner(ViewGroup.java:1861)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewGroup.addView(ViewGroup.java:1756)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewGroup.addView(ViewGroup.java:1736)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:217)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.app.Activity.setContentView(Activity.java:1633)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at arp.alexis.ph.ricardo.MainActivity.onClick(MainActivity.java:33)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.View.performClick(View.java:2364)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.View.onTouchEvent(View.java:4179)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.widget.TextView.onTouchEvent(TextView.java:6541)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.View.dispatchTouchEvent(View.java:3709)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.os.Looper.loop(Looper.java:123)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at android.app.ActivityThread.main(ActivityThread.java:4363)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at java.lang.reflect.Method.invokeNative(Native Method)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at java.lang.reflect.Method.invoke(Method.java:521)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
    02-06 17:14:30.537: E/AndroidRuntime(447): 	at dalvik.system.NativeStart.main(Native Method)
    02-06 17:14:30.604: I/dalvikvm(447): threadid=7: reacting to signal 3
    02-06 17:14:30.607: I/dalvikvm(447): Wrote stack trace to '/data/anr/traces.txt'
    02-06 17:14:32.437: I/Process(447): Sending signal. PID: 447 SIG: 9
    Ceci pour ce code au niveau de l'activité primaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    package arp.alexis.ph.ricardo;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    public class MainActivity extends Activity implements OnClickListener{
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		Button bt= (Button) findViewById(R.id.send);
    		bt.setOnClickListener(this);
    	}
     
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
     
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
    		if(v.getId()==R.id.send){
    			TextView txt= (TextView) findViewById(R.id.test);
    			txt.setText("Eske sa bon?");
    			setContentView(txt);
    		}
     
    	}
     
    }

  7. #7
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Supprime le setContentView dans ton onClick et ça devrait fonctionner.

    Actuellement, tu réagis au clic en mettant à jour le texte de ton TextView, puis tu indiques à l'Activity de changer sa vue (via le setContentView). Cette vue étant déjà créée, elle est réutilisée. Hors, celle-ci est non seulement créée, mais déjà attachée à une hiérarchie de vue. Une vue ne pouvant être rattachée qu'à une autre, tu obtiens donc l'Exception
    The specified child already has a parent. You must call removeView() on the child's parent first.
    .
    Celle-ci précisant que la vue que tu tentes d'ajouter est déjà attachée à une autre.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

Discussions similaires

  1. [QtGui] [Débutant] Application qui ne démarre pas
    Par menthol34 dans le forum PyQt
    Réponses: 3
    Dernier message: 29/04/2015, 06h55
  2. Dossier qui "ne répond pas"
    Par Hyoga dans le forum Windows XP
    Réponses: 8
    Dernier message: 09/07/2008, 23h48
  3. C# Tuer une application qui ne réponds pas
    Par mayekeul dans le forum C#
    Réponses: 5
    Dernier message: 11/01/2008, 16h08
  4. Réponses: 8
    Dernier message: 18/01/2007, 21h01
  5. [VB.NET]Form qui ne répond pas
    Par Pocel dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/07/2006, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo