• Home
  • Youzik
  • Papystreaming
  • Darknet
  • Libertyland
  • Cacaoweb
  • GG maps
  • Yggtorrent
  • Zone téléchargement

Grimag

  • Accueil
  • Catégories
    • Smartphone
    • High Tech
    • Business
    • Web
    • Appli Jeux Vidéo
    • Shopping
  • Android c’est quoi ?
  • Nous Contacter
  • Nos comparatifs
    • Drone avec caméra
    • Clavier d’ordinateur
    • Onduleur
    • GPS
    • Répéteur WiFi

Développez une application pour android étape 18 (Réorganisation de l’application)



Dans cette étape 18 je vais réorganiser complétement l’application en plusieurs classes pour avoir une application structurée , et également utiliser les appels aux activity du tuto <<Passer des variables entre Activity sous android>>. On aura donc une classe par action du menu, et chaque nouvelle action sera une classe. Ce qui nous donne donc:

Page principale =>Planningrecette.java (plat du jour)
Enregistrer une recette=>EnregRecette.java
Génération planning => GenerationPlanning.java
Liste des courses=>ListeCourses.java
Voir le planning=>VoirPlanning.java
Rechercher une recette=>RechercherRecette.java
Setting et configuration=>Setting.java
Affiche recette=>AfficheRecette.java

Ma classe Planningrecette.java, la classe principale est allégée considérablement elle donne donc

   public class Planningrecette extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       //ma fenetre d'entre sur l'application a voir plutard a quoi ça vas ressemblé
       this.setContentView(R.layout.entrer);
    }      

/** Called when the activity is first created. */
    @Override

   // création de mon nouveau menu
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        //inflater.inflate(R.menu.options_menu, menu);
        boolean result = super.onCreateOptionsMenu(menu);
        int i=0;
        //inflater.inflate(R.menu.menurepas, menu);
        SubMenu fileMenu = menu.addSubMenu(0,1,i,"Plat du jour");i++;
        SubMenu editMenu = menu.addSubMenu(0,2,i,"Enreg Recette");i++;
        SubMenu genplannMenu = menu.addSubMenu(0,6,i,"Gen planning");i++;
        SubMenu listeCouseMenu = menu.addSubMenu(0,3,i,"Liste courses");i++;
        SubMenu voirPlanningMenu = menu.addSubMenu(0,7,i,"Voir planning");i++;
        SubMenu rechecheMenu = menu.addSubMenu(0,4,i,"Rechercher");i++;
        SubMenu settingMenu = menu.addSubMenu(0,5,i,"setting");i++;

        return true;
    }

  //action sur les différents menu j'appel a chaque fois un nouveau Inten qui corespond à la classe
   public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
      //***************ouverture enregistrement recette***************
        case 2:
     		Intent defineIntent = new Intent(this,EnregRecette.class);
     		this.startActivity(defineIntent);
     		return true;
        case 5:
     		Intent defineIntent5 = new Intent(this,Setting.class);
     		this.startActivity(defineIntent5);
     		return true;
        case 4:
     		Intent defineIntent4 = new Intent(this,RechercherRecette.class);
     		this.startActivity(defineIntent4);
     		return true;
        case 24:
        	Intent defineIntent24 = new Intent(this,GenerationPlanning.class);
 			this.startActivity(defineIntent24);
 			return true;
        }
  return false;
}

}

Il faut également déclarer tous les nouveaux “intent” dans le fichier AndroidManifest.xml



       
    
       
            
                
                    
               
        
        
        
            
                
                    
               
        
        
         
            
                
                    
               
        
        
         
            
                
                    
               
        
       
        
            
                
                
            
        
    
    
 

La classe EnregRecette s’occupera elle d’enregistrer les recettes.

public class EnregRecette extends Activity {

	 private ListView mRecetteList;
	 private  Context lecontext;
	 private final ArrayList aTableauIngredient= new ArrayList();
	 private final ArrayList aTableauIngredientaff= new ArrayList();
	 private  BDAcces objBd=new BDAcces(this);;
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         lecontext =this;
         this.setContentView(R.layout.main);
     	  Button btEnregRecette = (Button) findViewById(R.id.button);

     	   Button btEnregajcon = (Button) findViewById(R.id.ajcondiment);

     	 final TextView texthaut = (TextView) findViewById(R.id.entry);
     	 final TextView textbas = (TextView) findViewById(R.id.entry3);

     	 mRecetteList = (ListView) findViewById(android.R.id.list);
      	final ArrayAdapter adapter2 = new ArrayAdapter(getBaseContext(),
     	            android.R.layout.simple_list_item_1,aTableauIngredientaff);
      	mRecetteList.setAdapter(adapter2);
     	 //final TextView textmilieu = (TextView) findViewById(R.id.entry2);

      	//this.setContentView(R.layout.liste_recette);

     	btEnregRecette.setOnClickListener(new Button.OnClickListener() {
             public void onClick(View v) {
             	try{
             	//textbas.setText(texthaut.getText());
             	String sNomRecette = texthaut.getText().toString();
             	String sContenuRecette = textbas.getText().toString();
             	objBd.open();
             	//texthaut.setText(objBd.renvoi_requete());
             	long bresult = objBd.insertRecette(sNomRecette, sContenuRecette,aTableauIngredient);
             	String resultsring = new Long(bresult).toString() ;
             	textbas.setText(resultsring);
             	//textmilieu.setText(sContenuRecette);
             	objBd.close();
             	}
             	catch (Exception e) {
             		textbas.setText("erreur "+e.getMessage());
	               }

             }
     	});

     	btEnregajcon.setOnClickListener(new Button.OnClickListener() {
             public void onClick(View v) {
             	//View v v.getContext()
             	Myclassdialog dialog = new Myclassdialog(v.getContext(),
             			new OnReadyListener());
             	dialog.setTitle("Enregistrement ingredient");
             	dialog.show();

             }
     	});        	

    }

    private class OnReadyListener implements Myclassdialog.ReadyListener,
    AdapterView.OnItemClickListener, View.OnClickListener{ 

        public void ready(String sUnite,String sQuantite,String sIngredient) { 

        	String[] sNewtext=new String[]{sUnite,sQuantite,sIngredient};

        	String sNewtextaff="";
        	//tableau temporaire des informations
        	aTableauIngredient.add(sNewtext);
        	//tableau temporaire de l'affichage
        	aTableauIngredientaff.add(sQuantite+" "+sUnite+" "+sIngredient);

        	/*int iTailletab = aTableauIngredient.size();

        	for(int i=0;i adapter2 = new ArrayAdapter(getBaseContext(),
       	            android.R.layout.simple_list_item_1,aTableauIngredientaff);
        	mRecetteList.setAdapter(adapter2);
            mRecetteList.setOnItemClickListener(this);

        	//TextView textbastmp2 = (TextView) findViewById(R.id.entry2);

        	//textbastmp2.setText(sNewtextaff);

        }
        // action sur le clik sur un item de ma listview
        public void onItemClick(AdapterView parent, View v, int position, long id) {
        	//***********suppression des informations dans mon tableau********
        	aTableauIngredientaff.remove(position);
        	aTableauIngredient.remove(position);
        	mRecetteList = (ListView) findViewById(android.R.id.list);
        	final ArrayAdapter adapter2 = new ArrayAdapter(getBaseContext(),
       	            android.R.layout.simple_list_item_1,aTableauIngredientaff);
        	mRecetteList.setAdapter(adapter2);
            mRecetteList.setOnItemClickListener(this);

        }
        public void onClick(View v) {
        	int u=0;
        }

   } 

}

La classe Setting.java, gestion de la configuration de notre application.

public class Setting extends Activity{

	 private  BDAcces objBd=new BDAcces(this);
	 private final ArrayList aTableauIngredient= new ArrayList();

	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       setContentView(R.layout.setting);
       //setContentView(R.layout.autocomplete);
 		final TextView contenuText = (TextView) findViewById(R.id.contenu);

 		//**************action mise à jour bdd**********************
 		Button btupdatebd = (Button) findViewById(R.id.btmisjour);
 		btupdatebd.setOnClickListener(new Button.OnClickListener() {
        	public void onClick(View v) {
        		objBd.open();
        		objBd.update_bdd();
        		objBd.close();
        		contenuText.setText("Mise à jour ok");
        	}
        	});    

 		Button btimportrecette = (Button) findViewById(R.id.btrecet);
 		btimportrecette.setOnClickListener(new Button.OnClickListener() {
        	public void onClick(View v) {
        		try{
        		objBd.open();
        		ArrayList listeRecette = objBd.renvoi_liste_recette_xml();
        		 String myString = "";
        		 for(int i=0; i

la classe RechercherRecette.java permettant de rechercher une recette dans la base de données.

public class RechercherRecette extends Activity implements
AdapterView.OnItemClickListener, View.OnClickListener{

	private  BDAcces objBd=new BDAcces(this);
	private  ArrayList[] aTableauResult;

	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.setting);
 		final TextView contenuText = (TextView) findViewById(R.id.contenu);
 		// on appelle le fichier xml autocomplete
 		setContentView(R.layout.autocomplete);
    	// ouverture de ma bas de donnée
    	objBd.open();
    	//récupération de la liste des recettes
    	this.aTableauResult= objBd.renvoi_liste_recette();
    	//création de la liste autocompletion
    	ArrayAdapter adapterII = new ArrayAdapter(this,
                android.R.layout.simple_dropdown_item_1line,
                this.aTableauResult[0]);
        AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.edit);
        textView.setAdapter(adapterII);
        // sur le click on appelle la page d'affichage du detail de la recette
        textView.setOnItemClickListener(this);
        objBd.close();

    }
	public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
		// TODO Auto-generated method stub

	}
	public void onClick(View v) {
		// TODO Auto-generated method stub

	}	

}

la classe GenerationPlanning.java permet de générer aléatoirement un planning en cours de développement et toutes les autres à venir.

code source ici

Il est temps de mettre à profit les tutoriels d’Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo

Juil 12, 2009Gnakouri Danon


Android va prendre en charge les réseaux sociaux dans ses prochaines versionsOpen Gesture - le raccourci au bout de vos doigts
Gnakouri Danon

Co-fondateur du site Android france, senior lead developper, passionné de bière et de cigare cubain

12 juillet 2009 Developpement, Tuto développementmenu78

2023 © Android-France