• Développez une application pour android étape 17 (Interface pour génération automatique le planning des recettes)

    Publié le 24 juin 2009 par Guy (GuyTouch)


    Dans cette étape je vais mettre en place l’interface qui vas permettre de sélectionner les dates entre lesquelles le planning des recettes sera généré automatiquement.
    J’aurai donc un champ date début et le bouton permettant de sélectionner la date de début.
    Un champ date fin et le bouton permettant de sélectionner la date de fin.
    Un bouton valider et une Listview pour afficher la liste des recettes qui collent à mon planning.
    Pour afficher notre calendrier de sélectionne de date je vais utiliser la classe DatePicker.

    Mon fichier xml de l’interface

    ?Download download.txt
    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
    
    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="fill_parent" 
                  android:layout_height="fill_parent" 
                  android:orientation="vertical" 
                  android:layoutAnimation="@anim/layout_bottom_to_top_slide">
     
     
     
     
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="1">
     
        <TableRow>
        <TextView android:id="@+id/entete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Génération plannning"
                android:layout_column="1"
                />
        </TableRow>
        <TableRow>
           <TextView android:id="@+id/datedebut"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="01/01/2009"
                android:gravity="center"
                />
     
        <Button android:id="@+id/pickDatedebut"
                android:layout_width="15sp"
                android:layout_height="wrap_content"
                android:text="Date debut"/>
     
        </TableRow>	
         <TableRow>
           <TextView android:id="@+id/datefin"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="01/01/2009"
                android:gravity="center"
                />
     
        <Button android:id="@+id/pickDatefin"
                android:layout_width="15sp"
                android:layout_height="wrap_content"
                android:text="Date fin"/>
     
        </TableRow>	  
           <TableRow >  
     		<Button android:id="@+id/valider"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Valider"
                android:layout_column="1"
                />
                </TableRow>
     </TableLayout>
    </ScrollView>

    dans ma class principale se rajoue 3 attributs année,mois,jour.

    ?Download download.txt
    1
    2
    3
    
        private int mYear;
        private int mMonth;
        private int mDay;

    Esuite je rajoute le code suivant,création de ma boite de dialogue avec sélection de date

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
     // creation de boite de dialogue
        @Override
        protected Dialog onCreateDialog(int id) {
            switch (id) {
            case 0:
                return new DatePickerDialog(this,
                            mDateSetListener,
                            mYear, mMonth, mDay);
            }
            return null;
        }
     
     
        private DatePickerDialog.OnDateSetListener mDateSetListener =
            new DatePickerDialog.OnDateSetListener() {
                //creation du widget
                public void onDateSet(DatePicker view, int year, 
                                      int monthOfYear, int dayOfMonth) {
                    mYear = year;
                    mMonth = monthOfYear;
                    mDay = dayOfMonth;
                    //updateDisplay();
                }
            };

    Le menu génération de planning est sur item04, donc dans ma fonction de gestion des menus je rajoute donc

    ?Download download.txt
    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
    
    case R.id.item02:
            	this.setContentView(R.layout.generation_planning);
            	Button mPickDatedebut = (Button) findViewById(R.id.pickDatedebut);
            	Button mPickDatefin = (Button) findViewById(R.id.pickDatefin);
            	final Calendar c = Calendar.getInstance();
                mYear = c.get(Calendar.YEAR);
                mMonth = c.get(Calendar.MONTH);
                mDay = c.get(Calendar.DAY_OF_MONTH);
     
            	//click sur le bouton debut
                mPickDatedebut.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        //ouverturede la femetre widget
                    	showDialog(0);
                    }
                });
     
            	//click sur le bouton date fin
            	mPickDatefin.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        //ouverturede la femetre widget
                    	showDialog(0);
                    }
                });
     
            	return true;

    Résultat
    etape17 198x300 Développez une application pour android étape 17 (Interface pour génération automatique le planning des recettes) Android Franceetape172 200x300 Développez une application pour android étape 17 (Interface pour génération automatique le planning des recettes) Android France

    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


    Guy

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

    Twitter Google+ 

  • 2 Commentaires pour ce billet

    1. 1 - Monika dit:

      j’ai téléchargé le code source complet de cette étape mais il m’affiche tjs fermeture soudaine de l’application en plus pour télécharger le code source de l’étape 21 le lien est indispo
      Pouvez vous m’aider

    2. 2 - issam dit:

      merci pour le toto merci france android parfait

  • Laissez un commentaire

  • Les Brèves