Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Organiser mon code

    13 août 2012 à 16:07:19

    Bonjour,

    Je suis entrain de coder mes toutes premières lignes de code sous android/java mais j'ai l'impression que je ne m'y prends pas de la bonne maniére...

    Pour le moment le code est archi simple : le logiciel s'ouvre, le choix entre 2 boutons, si je clique sur le premier bouton (creer_compte), j'arrive sur un formulaire puis je vérifie les valeurs saisies dans les champs login et mot de passe.
    Je suis un grand débutant et pour le moment ça fonctionne mais j'ai l'impression que je fais plus du procédural que de l'objet non ?

    Voici mon code :

    package com.auden.chat;
    
    
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    import android.view.View;
    import android.view.View.OnClickListener;
    
    public class Chargement extends Activity {
    
    	private Button nouveau_membre;
    	private Button deja_membre;
    	
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_chargement);
            nouveau_membre =(Button)findViewById(R.id.nouveau_membre);
            nouveau_membre.setOnClickListener(new OnClickListener(){
            	public void onClick(View view) {
            		setContentView(R.layout.nouveau_membre);
            		
            		// Gestion du bouton créer compte
            		Button bt_creer_compte;
            		bt_creer_compte =(Button)findViewById(R.id.bt_creer_compte);
            		bt_creer_compte.setOnClickListener(new OnClickListener(){
                    	
            			public void onClick(View view) {     		
                    	EditText login_saisi = (EditText)findViewById(R.id.editlogin);
                       	String nom = login_saisi.getText().toString();
                       	
                       	EditText pass1_saisi = (EditText)findViewById(R.id.editpass);
                       	String pass1 = pass1_saisi.getText().toString();
                       	
                       	EditText pass2_saisi = (EditText)findViewById(R.id.editpass2);
                       	String pass2 = pass2_saisi.getText().toString();
                       
               
                       	if (nom.length() < 4)
    	                   	{	
    	                   	Toast.makeText(Chargement.this, Chargement.this.getString(R.string.login_trop_court), Toast.LENGTH_LONG).show(); 
    	                   	}
    		                   	else if (nom.length() > 12)
    		                   	{
    		                   		Toast.makeText(Chargement.this,Chargement.this.getString(R.string.login_trop_long), Toast.LENGTH_LONG).show();
    		                   	}
    			                   	else if (pass1.length() < 4 )
    				                   	{
    				                   		Toast.makeText(Chargement.this,"mdp trop court", Toast.LENGTH_LONG).show();
    				                   	}
    					                   	else if (pass1.compareTo(pass2) < 0)
    					                   	{
    					                   		Toast.makeText(Chargement.this,"pass différents", Toast.LENGTH_LONG).show();
    					                   	}	
    						                	else if (pass1.length() > 26 )
    						                   	{
    						                   		Toast.makeText(Chargement.this,"mdp trop long", Toast.LENGTH_LONG).show();
    						                   	}
    							                	else
    							                   	{
    							                   		Toast.makeText(Chargement.this,"ok", Toast.LENGTH_LONG).show();
    							                   	}
    		                   	
                    	}
                    });  
            		
            		
            		
            		
            	}
            });  
            
            
            
            deja_membre =(Button)findViewById(R.id.deja_membre);
            deja_membre.setOnClickListener(new OnClickListener(){
            	public void onClick(View view) {
            	Toast.makeText(Chargement.this,"bouton 2 cliqué",Toast.LENGTH_LONG).show();
            	}
            }); 
            
            
        	}
    
    
     
    }
    


    Merci pour vos retours...
    • Partager sur Facebook
    • Partager sur Twitter
      13 août 2012 à 16:12:57

      Tu pourrais lancé une deuxième activité pour créer un compte pour que ton code soit plus clair mais sinon ca me parait pas mal...
      • Partager sur Facebook
      • Partager sur Twitter
        13 août 2012 à 18:35:38

        Merci,

        Mais l'idéal ça ne serait pas de créer une class pour gérer tout ce qui touche à mes membres ? inscription, changement de mots de passe etc... ?
        • Partager sur Facebook
        • Partager sur Twitter
          14 août 2012 à 18:31:53

          Les conseils que je peux te donner :

          1 - Tout ce qu'il y'a dans bt_creer_compte.setOnClickListener(), tu mets tout ça dans une autre class Activity, plus simple de s'y repérer
          2 - Créer une classe outil pour gérer tout le controle de ton formulaire d'inscription plutôt que de mettre ça dans la class d'affichage. (ce dont tu parles juste au-dessus apparemment)
          3 - Essaye un maximum d'éviter de changer le layout d'une class activity. Sinon ce n'est pas très clair. Essaye toujours de faire un layout xml = une activity.
          Tu peux evidemment utiliser plusieurs layouts pour ajouter du contenu (c'est même très bien) mais pas remplacer le tout.

          De manière général :
          - Le design en xml
          - L'intégration dans une class Activity
          - Tout les controles dans une autre classe
          - Créer des Java Bean, notamment pour les membres selon ton code
          - Essaye de garder tes conditions au même niveau. Je ne sais pas pourquoi tu mets tes else if plus à droite que ton if. Ils ont le même niveau. Tu vas te perdre après si tu crées des conditions imbriquées.
          - Évite les Toast. Pour tester c'est bien, pour l'utilisateur c'est horrible. Affiche tes messages comme pour le web, rajoute du contenu dynamiquement à ton layout.

          Juste une remarque particulière par rapport à ton code. Quand tu fais un controle (je parle de tes conditions), mets les dans une ou plusieurs fonction qui te retourne l'erreur. Ne fais pas de "sinon tout va bien". On ne signale que l'erreur, pas l'absence d'erreur.
          • Partager sur Facebook
          • Partager sur Twitter

          [Android] Organiser mon code

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown