mirror of
https://github.com/LucasVbr/OutilCuisson.git
synced 2026-05-19 10:53:18 +00:00
Ajout Cuisson, action Annuler, Valider
Ajout de la classe Cuisson (Sérialisable) // Classe AjouterFragment - Definition des valeurs par défaut du time picker - Ajout des actions Annuler et Valider (avec des tests qui creer un nouvel objet qui est stocké dans la liste de AfficherFragment) // Classe Afficher Fragment Ajout d'une arraylist qui contiens les cuissons Ajout de deux fonctions pour charger et sauvegarder les cuissons dans un fichier (ne fonctionne pas encore, a faire)
This commit is contained in:
@@ -13,9 +13,67 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class AfficherFragment extends Fragment {
|
public class AfficherFragment extends Fragment {
|
||||||
|
|
||||||
public AfficherFragment() {}
|
/**
|
||||||
|
* Liste des cuissons enregistré dans l'application
|
||||||
|
*/
|
||||||
|
public static ArrayList<Cuisson> listeCuisson = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ajouter une cuisson
|
||||||
|
*
|
||||||
|
* @param cuisson La cuisson à ajouter
|
||||||
|
*/
|
||||||
|
public static void addCuisson(Cuisson cuisson) {
|
||||||
|
listeCuisson.add(cuisson);
|
||||||
|
updateSaveFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Met a jour le fichier dataCuisson.txt qui sauvegarde la liste des cuissons
|
||||||
|
*/
|
||||||
|
private static void updateSaveFile() {
|
||||||
|
// TODO Il faut creer un fichier cuisson.txt si il n'existe pas
|
||||||
|
|
||||||
|
// try {
|
||||||
|
// FileOutputStream fos = new FileOutputStream("dataCuisson.txt", false);
|
||||||
|
// ObjectOutputStream oos = new ObjectOutputStream(fos);
|
||||||
|
// oos.writeObject(listeCuisson);
|
||||||
|
// oos.close();
|
||||||
|
// fos.close();
|
||||||
|
// } catch (IOException ioe) {
|
||||||
|
// ioe.printStackTrace();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Charge la liste des cuissons contenue dans le fichier dataCuisson.txt
|
||||||
|
*/
|
||||||
|
private static void loadSaveFile() {
|
||||||
|
// TODO à décommenter lorsque updateSaveFile() sera terminé
|
||||||
|
|
||||||
|
// try {
|
||||||
|
// FileInputStream fis = new FileInputStream("dataCuisson.txt");
|
||||||
|
// ObjectInputStream ois = new ObjectInputStream(fis);
|
||||||
|
//
|
||||||
|
// listeCuisson = (ArrayList) ois.readObject();
|
||||||
|
//
|
||||||
|
// ois.close();
|
||||||
|
// fis.close();
|
||||||
|
// } catch (FileNotFoundException ignored) {
|
||||||
|
// } catch (IOException ioe) {
|
||||||
|
// ioe.printStackTrace();
|
||||||
|
// } catch (ClassNotFoundException c) {
|
||||||
|
// System.out.println("Class not found");
|
||||||
|
// c.printStackTrace();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
public AfficherFragment() {
|
||||||
|
}
|
||||||
|
|
||||||
public static AfficherFragment newInstance() {
|
public static AfficherFragment newInstance() {
|
||||||
return new AfficherFragment();
|
return new AfficherFragment();
|
||||||
@@ -29,6 +87,7 @@ public class AfficherFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
|
loadSaveFile();
|
||||||
return inflater.inflate(R.layout.afficher_fragment, container, false);
|
return inflater.inflate(R.layout.afficher_fragment, container, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,16 +10,21 @@ import android.os.Bundle;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.TimePicker;
|
import android.widget.TimePicker;
|
||||||
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import com.exercice.onglet.outilcuisson2021.OutilCuisson;
|
||||||
|
|
||||||
public class AjouterFragment extends Fragment {
|
public class AjouterFragment extends Fragment {
|
||||||
|
|
||||||
EditText inputPlat;
|
EditText inputPlat;
|
||||||
TimePicker inputDuree;
|
TimePicker inputDuree;
|
||||||
EditText inputTemperature;
|
EditText inputTemperature;
|
||||||
|
Button btnEffacer;
|
||||||
|
Button btnValider;
|
||||||
|
|
||||||
public AjouterFragment() {
|
public AjouterFragment() {
|
||||||
}
|
}
|
||||||
@@ -38,16 +43,57 @@ public class AjouterFragment extends Fragment {
|
|||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.ajouter_fragment, container, false);
|
View view = inflater.inflate(R.layout.ajouter_fragment, container, false);
|
||||||
|
|
||||||
|
/* Liste des éléments intéractifs */
|
||||||
|
inputPlat = view.findViewById(R.id.input_plat);
|
||||||
inputDuree = view.findViewById(R.id.input_duree);
|
inputDuree = view.findViewById(R.id.input_duree);
|
||||||
|
inputTemperature = view.findViewById(R.id.input_temperature);
|
||||||
|
btnEffacer = view.findViewById(R.id.btn_effacer);
|
||||||
|
btnValider = view.findViewById(R.id.btn_valider);
|
||||||
|
|
||||||
|
/* Initialise le TimePicker en format 24h avec par défaut la valeur 0h40 */
|
||||||
inputDuree.setIs24HourView(true);
|
inputDuree.setIs24HourView(true);
|
||||||
|
inputDuree.setHour(0);
|
||||||
|
inputDuree.setMinute(40);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Action de création de la nouvelle cuisson
|
||||||
|
*/
|
||||||
|
btnValider.setOnClickListener(view1 -> {
|
||||||
|
/* Récupère toutes les valeurs des champs */
|
||||||
|
String txtPlat = inputPlat.getText().toString();
|
||||||
|
String txtTemperature = inputTemperature.getText().toString();
|
||||||
|
int hDuree = inputDuree.getHour();
|
||||||
|
int mDuree = inputDuree.getMinute();
|
||||||
|
|
||||||
|
/* Convertis la température en entier */
|
||||||
|
int temperature = txtTemperature.isEmpty() ? -1 : Integer.parseInt(txtTemperature);
|
||||||
|
|
||||||
|
/* Cas ou les valeurs ne sont pas valides */
|
||||||
|
if (!OutilCuisson.platValide(txtPlat)
|
||||||
|
|| !OutilCuisson.heureCuissonValide(hDuree)
|
||||||
|
|| !OutilCuisson.minuteCuissonValide(mDuree)
|
||||||
|
|| !OutilCuisson.temperatureValide(temperature)) {
|
||||||
|
|
||||||
|
System.out.println("Erreur");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Cas ou les valeurs sont valides : on ajoute une nouvelle cuisson dans la liste a afficher */
|
||||||
|
AfficherFragment.addCuisson(new Cuisson(txtPlat, hDuree, mDuree, temperature));
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Efface le contenu des champs de textes et met le TimePicker à 0h40
|
||||||
|
*/
|
||||||
|
btnEffacer.setOnClickListener(view2 -> {
|
||||||
|
|
||||||
|
inputPlat.setText("");
|
||||||
|
inputDuree.setHour(0);
|
||||||
|
inputDuree.setMinute(40);
|
||||||
|
inputTemperature.setText("");
|
||||||
|
});
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void actionBtnEffacer(View view) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void actionBtnAjouter(View view) {
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.example.outilcuisson;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class Cuisson implements Serializable {
|
||||||
|
|
||||||
|
private String plat;
|
||||||
|
private int heure;
|
||||||
|
private int minute;
|
||||||
|
private int degree;
|
||||||
|
|
||||||
|
public Cuisson(String plat, int heure, int minute, int degree) {
|
||||||
|
this.plat = plat;
|
||||||
|
this.heure = heure;
|
||||||
|
this.minute = minute;
|
||||||
|
this.degree = degree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPlat() {
|
||||||
|
return plat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHeure() {
|
||||||
|
return heure;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMinute() {
|
||||||
|
return minute;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDegree() {
|
||||||
|
return degree;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,19 +24,18 @@ package com.exercice.onglet.outilcuisson2021;
|
|||||||
* Cette classe est une classe utilitaire qui contient des méthodes outils pour gérer
|
* Cette classe est une classe utilitaire qui contient des méthodes outils pour gérer
|
||||||
* une chaîne de caractères contenant le descriptif d'une cuisson au four.
|
* une chaîne de caractères contenant le descriptif d'une cuisson au four.
|
||||||
* Les caractéristiques d'une cuisson sont :
|
* Les caractéristiques d'une cuisson sont :
|
||||||
* - le nom du plat (une chaîne non vide)
|
* - le nom du plat (une chaîne non vide)
|
||||||
* - les heures de la durée de la cuisson (un entier entre 0 et 9)
|
* - les heures de la durée de la cuisson (un entier entre 0 et 9)
|
||||||
* - les minutes de la durée de la cuisson (un entier entre O et 50)
|
* - les minutes de la durée de la cuisson (un entier entre O et 50)
|
||||||
* - une température (un entier strictement positif et inférieur à TEMPERATURE_MAX)
|
* - une température (un entier strictement positif et inférieur à TEMPERATURE_MAX)
|
||||||
*
|
|
||||||
*
|
*
|
||||||
* @author INFO2 Semestre 4
|
* @author INFO2 Semestre 4
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class OutilCuisson {
|
public class OutilCuisson {
|
||||||
|
|
||||||
/** Valeur de la chaîne qui représente une cuisson si l'une des caractéristiques
|
/**
|
||||||
* de la cuisson est invalide
|
* Valeur de la chaîne qui représente une cuisson si l'une des caractéristiques
|
||||||
|
* de la cuisson est invalide
|
||||||
*/
|
*/
|
||||||
private static final String CHAINE_DEFAUT = "Information incohérente";
|
private static final String CHAINE_DEFAUT = "Information incohérente";
|
||||||
|
|
||||||
@@ -46,7 +45,9 @@ public class OutilCuisson {
|
|||||||
public static final int TEMPERATURE_MAX = 300;
|
public static final int TEMPERATURE_MAX = 300;
|
||||||
|
|
||||||
|
|
||||||
/** Valeur maximale pour le nombre d'heures d'une cuisson */
|
/**
|
||||||
|
* Valeur maximale pour le nombre d'heures d'une cuisson
|
||||||
|
*/
|
||||||
public static final int HEURE_MAX = 9;
|
public static final int HEURE_MAX = 9;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -58,71 +59,76 @@ public class OutilCuisson {
|
|||||||
/**
|
/**
|
||||||
* Détermine si un nom de plat est valide (non vide, au plus 20 caractères et ne
|
* Détermine si un nom de plat est valide (non vide, au plus 20 caractères et ne
|
||||||
* contient pas le caractère '|')
|
* contient pas le caractère '|')
|
||||||
* @param nomPlat chaîne à testesr
|
*
|
||||||
* @return un booléen égal à vrai ssi la chaîne à tester est valide
|
* @param nomPlat chaîne à testesr
|
||||||
|
* @return un booléen égal à vrai ssi la chaîne à tester est valide
|
||||||
*/
|
*/
|
||||||
public static boolean platValide(String nomPlat) {
|
public static boolean platValide(String nomPlat) {
|
||||||
return nomPlat.length() > 0 && nomPlat.length() <= LG_MAX_PLAT
|
return nomPlat.length() > 0 && nomPlat.length() <= LG_MAX_PLAT
|
||||||
&& ! nomPlat.contains("|");
|
&& !nomPlat.contains("|");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Détermine si le nombre d'heures d'une durée de cuisson est valide
|
* Détermine si le nombre d'heures d'une durée de cuisson est valide
|
||||||
* (comprise entre 0 et 9)
|
* (comprise entre 0 et 9)
|
||||||
* @param heureCuisson heure à tester
|
*
|
||||||
* @return un booléen égal à vrai ssi l'heure de la durée est valide
|
* @param heureCuisson heure à tester
|
||||||
|
* @return un booléen égal à vrai ssi l'heure de la durée est valide
|
||||||
*/
|
*/
|
||||||
public static boolean heureCuissonValide(int heureCuisson) {
|
public static boolean heureCuissonValide(int heureCuisson) {
|
||||||
return heureCuisson >= 0 && heureCuisson <= HEURE_MAX;
|
return 0 <= heureCuisson && heureCuisson <= HEURE_MAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Détermine si le nombre de minutes d'une durée de cuisson est valide
|
* Détermine si le nombre de minutes d'une durée de cuisson est valide
|
||||||
* (comprise entre 0 et 59)
|
* (comprise entre 0 et 59)
|
||||||
* @param minuteCuisson minute à tester
|
*
|
||||||
* @return un booléen égal à vrai ssi le nombre de minutes de la durée est valide
|
* @param minuteCuisson minute à tester
|
||||||
|
* @return un booléen égal à vrai ssi le nombre de minutes de la durée est valide
|
||||||
*/
|
*/
|
||||||
public static boolean minuteCuissonValide(int minuteCuisson) {
|
public static boolean minuteCuissonValide(int minuteCuisson) {
|
||||||
return minuteCuisson >= 0 && minuteCuisson <= 59;
|
return 0 <= minuteCuisson && minuteCuisson <= 59;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Détermine si une température de cuisson est valide
|
* Détermine si une température de cuisson est valide
|
||||||
* (strictement positive et inférieure ou égale à TEMPERATURE_MAX)
|
* (strictement positive et inférieure ou égale à TEMPERATURE_MAX)
|
||||||
* @param temperature temperature à tester
|
*
|
||||||
* @return un booléen égal à vrai ssi la température est valide
|
* @param temperature temperature à tester
|
||||||
|
* @return un booléen égal à vrai ssi la température est valide
|
||||||
*/
|
*/
|
||||||
public static boolean temperatureValide(int temperature) {
|
public static boolean temperatureValide(int temperature) {
|
||||||
return temperature > 0 && temperature <= TEMPERATURE_MAX;
|
return 0 < temperature && temperature <= TEMPERATURE_MAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Concatène les arguments dans une chaîne de caractères. Celle-ci aura le format
|
* Concatène les arguments dans une chaîne de caractères. Celle-ci aura le format
|
||||||
* suivant :
|
* suivant :
|
||||||
* nom du plat | temps de cuisson en heures et minutes | température
|
* nom du plat | temps de cuisson en heures et minutes | température
|
||||||
* Si l'un des arguments est invalide, c'est la constante CHAINE_DEFAUT qui
|
* Si l'un des arguments est invalide, c'est la constante CHAINE_DEFAUT qui
|
||||||
* est renvoyée
|
* est renvoyée
|
||||||
* @param nomPlat nom du plat. Doit être non vide, avec au plus
|
*
|
||||||
* LG_MAX_PLAT caractères, ne doit pas contenir |
|
* @param nomPlat nom du plat. Doit être non vide, avec au plus
|
||||||
* @param heureCuisson nombre d'heures de la durée de la cuisson
|
* LG_MAX_PLAT caractères, ne doit pas contenir |
|
||||||
* doit être compris entre 0 et 9
|
* @param heureCuisson nombre d'heures de la durée de la cuisson
|
||||||
* @param minuteCuisson nombre de minutes de la durée de la cuisson
|
* doit être compris entre 0 et 9
|
||||||
* doit être compris entre 0 et 59
|
* @param minuteCuisson nombre de minutes de la durée de la cuisson
|
||||||
* @param temperature température de la cuisson. Doit être comprise entre
|
* doit être compris entre 0 et 59
|
||||||
* 1 et TEMPERATURE_MAX
|
* @param temperature température de la cuisson. Doit être comprise entre
|
||||||
|
* 1 et TEMPERATURE_MAX
|
||||||
* @return une chaîne contenant le descriptif de la cuisson si les paramètres
|
* @return une chaîne contenant le descriptif de la cuisson si les paramètres
|
||||||
* sont valides. Sinon la chaîne CHAINE_DEFAUT
|
* sont valides. Sinon la chaîne CHAINE_DEFAUT
|
||||||
*/
|
*/
|
||||||
public static String transformeEnChaine(String nomPlat, int heureCuisson,
|
public static String transformeEnChaine(String nomPlat, int heureCuisson,
|
||||||
int minuteCuisson, int temperature) {
|
int minuteCuisson, int temperature) {
|
||||||
StringBuilder aRenvoyer = new StringBuilder();
|
StringBuilder aRenvoyer = new StringBuilder();
|
||||||
|
|
||||||
if (platValide(nomPlat) && heureCuissonValide(heureCuisson)
|
if (platValide(nomPlat) && heureCuissonValide(heureCuisson)
|
||||||
&& minuteCuissonValide(minuteCuisson) && temperatureValide(temperature)) {
|
&& minuteCuissonValide(minuteCuisson) && temperatureValide(temperature)) {
|
||||||
|
|
||||||
// on insère le nom du plat
|
// on insère le nom du plat
|
||||||
aRenvoyer.append(nomPlat);
|
aRenvoyer.append(nomPlat);
|
||||||
@@ -153,9 +159,10 @@ public class OutilCuisson {
|
|||||||
* Extrait d'une chaîne le nom du plat. On suppose que la chaîne est correctement
|
* Extrait d'une chaîne le nom du plat. On suppose que la chaîne est correctement
|
||||||
* formatée dans le format de la description d'une cuisson gérée par cette classe
|
* formatée dans le format de la description d'une cuisson gérée par cette classe
|
||||||
* (les 20 premiers caractères de la chaîne sont extraits)
|
* (les 20 premiers caractères de la chaîne sont extraits)
|
||||||
* @param source chaîne source de l'extraction
|
*
|
||||||
* @return une chaîne contenant le nom du plat ou CHAINE_DEFAUT si la chaîne
|
* @param source chaîne source de l'extraction
|
||||||
* argument est trop courte
|
* @return une chaîne contenant le nom du plat ou CHAINE_DEFAUT si la chaîne
|
||||||
|
* argument est trop courte
|
||||||
*/
|
*/
|
||||||
public static String extrairePlat(String source) {
|
public static String extrairePlat(String source) {
|
||||||
if (source.length() < LG_MAX_PLAT) {
|
if (source.length() < LG_MAX_PLAT) {
|
||||||
@@ -171,9 +178,10 @@ public class OutilCuisson {
|
|||||||
* est correctement formatée dans le format de la description d'une cuisson
|
* est correctement formatée dans le format de la description d'une cuisson
|
||||||
* gérée par cette classe (la température est présente sur les 3 derniers
|
* gérée par cette classe (la température est présente sur les 3 derniers
|
||||||
* caractères de la chaîne)
|
* caractères de la chaîne)
|
||||||
* @param source chaîne source de l'extraction
|
*
|
||||||
* @return un entier égal à la température extraite ou bien -1 si un
|
* @param source chaîne source de l'extraction
|
||||||
* problème inattendu a été rencontré avec le format de la chaîne
|
* @return un entier égal à la température extraite ou bien -1 si un
|
||||||
|
* problème inattendu a été rencontré avec le format de la chaîne
|
||||||
*/
|
*/
|
||||||
public static int extraireTemperature(String source) {
|
public static int extraireTemperature(String source) {
|
||||||
int temperature; // température extraite
|
int temperature; // température extraite
|
||||||
@@ -183,7 +191,7 @@ public class OutilCuisson {
|
|||||||
try {
|
try {
|
||||||
chaineTemperature = source.substring(source.length() - 3, source.length());
|
chaineTemperature = source.substring(source.length() - 3, source.length());
|
||||||
temperature = Integer.parseInt(chaineTemperature);
|
temperature = Integer.parseInt(chaineTemperature);
|
||||||
} catch(NumberFormatException | IndexOutOfBoundsException erreur) {
|
} catch (NumberFormatException | IndexOutOfBoundsException erreur) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* erreur lors de l'extraction des 3 derniers caractère
|
* erreur lors de l'extraction des 3 derniers caractère
|
||||||
@@ -198,8 +206,9 @@ public class OutilCuisson {
|
|||||||
/**
|
/**
|
||||||
* Renvoie le thermostat correspondant à la temperature arguemnt
|
* Renvoie le thermostat correspondant à la temperature arguemnt
|
||||||
* (celle-ci doit être inférieure à TEMPERATURE_MAX)
|
* (celle-ci doit être inférieure à TEMPERATURE_MAX)
|
||||||
* @param temperature température à convertir
|
*
|
||||||
* @return l'entier égal au thermostat ou -1 si la température est invalide
|
* @param temperature température à convertir
|
||||||
|
* @return l'entier égal au thermostat ou -1 si la température est invalide
|
||||||
*/
|
*/
|
||||||
public static int thermostat(int temperature) {
|
public static int thermostat(int temperature) {
|
||||||
int aRenvoyer; // valeur du thermostat à renvoyer
|
int aRenvoyer; // valeur du thermostat à renvoyer
|
||||||
@@ -218,8 +227,9 @@ public class OutilCuisson {
|
|||||||
/**
|
/**
|
||||||
* Renvoie une chaîne constituée d'espaces. Le nombre d'espaces est indiqué
|
* Renvoie une chaîne constituée d'espaces. Le nombre d'espaces est indiqué
|
||||||
* par le paramètre.
|
* par le paramètre.
|
||||||
* @param nbEspace nombre d'espaces à placer dans la chaîne
|
*
|
||||||
* @return une chaîne constituée du caractère espace
|
* @param nbEspace nombre d'espaces à placer dans la chaîne
|
||||||
|
* @return une chaîne constituée du caractère espace
|
||||||
*/
|
*/
|
||||||
private static String chaineEspace(int nbEspace) {
|
private static String chaineEspace(int nbEspace) {
|
||||||
StringBuilder aRenvoyer = new StringBuilder();
|
StringBuilder aRenvoyer = new StringBuilder();
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:stretchColumns="1">
|
android:stretchColumns="1">
|
||||||
|
|
||||||
<!-- Titre -->
|
<!-- Titre -->
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="@string/ajouter_titre"/>
|
android:text="@string/ajouter_titre" />
|
||||||
|
|
||||||
<TableRow> <!-- Plat -->
|
<TableRow> <!-- Plat -->
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/label_plat" />
|
android:text="@string/label_plat" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/input_plat"
|
android:id="@+id/input_plat"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:inputType="text"
|
android:layout_span="2"
|
||||||
android:maxLines="1"
|
android:inputType="text"
|
||||||
android:maxLength="20"
|
android:maxLength="20"
|
||||||
android:layout_span="2"/>
|
android:maxLines="1" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<!-- Durée de cuisson -->
|
<!-- Durée de cuisson -->
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/label_duree" />
|
android:text="@string/label_duree" />
|
||||||
|
|
||||||
<TimePicker
|
<TimePicker
|
||||||
android:id="@+id/input_duree"
|
android:id="@+id/input_duree"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:timePickerMode="spinner" />
|
android:timePickerMode="spinner" />
|
||||||
|
|
||||||
<TableRow> <!-- Température -->
|
<TableRow> <!-- Température -->
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/label_temperature" />
|
android:text="@string/label_temperature" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/input_temperature"
|
android:id="@+id/input_temperature"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_column="3"
|
android:layout_column="3"
|
||||||
android:inputType="number" />
|
android:inputType="number"/>
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<TableRow> <!-- Buttons -->
|
<TableRow> <!-- Buttons -->
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="wrap_content"
|
android:id="@+id/btn_effacer"
|
||||||
android:layout_height="wrap_content"
|
style="?android:attr/buttonBarButtonStyle"
|
||||||
android:text="@string/btn_effacer"
|
android:layout_width="wrap_content"
|
||||||
android:layout_column="2"
|
android:layout_height="wrap_content"
|
||||||
android:onClick="actionBtnEffacer"
|
android:layout_column="2"
|
||||||
style="?android:attr/buttonBarButtonStyle" />
|
android:text="@string/btn_effacer"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="wrap_content"
|
android:id="@+id/btn_valider"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:text="@string/btn_valider"
|
android:layout_height="wrap_content"
|
||||||
android:onClick="actionBtnAjouter" />
|
android:text="@string/btn_valider" />
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user