diff --git a/app/src/main/java/com/example/outilcuisson/AfficherFragment.java b/app/src/main/java/com/example/outilcuisson/AfficherFragment.java index 1fb719b..8c70a6e 100644 --- a/app/src/main/java/com/example/outilcuisson/AfficherFragment.java +++ b/app/src/main/java/com/example/outilcuisson/AfficherFragment.java @@ -14,11 +14,20 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.ListView; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.util.ArrayList; public class AfficherFragment extends Fragment { @@ -26,9 +35,13 @@ public class AfficherFragment extends Fragment { /** * Liste des cuissons enregistré dans l'application */ - public static ArrayList cuissonAffichees = new ArrayList<>(); + public static ArrayList cuissonAffichees = new ArrayList<>(); - ListView listeCuisson; + static View listeCuisson1; + static ArrayList listeCuisson; + + private ArrayAdapter adaptateur; + private ArrayList cuissonAAfficher; /** * Ajouter une cuisson @@ -46,15 +59,20 @@ public class AfficherFragment extends Fragment { 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(); -// } + File file; + FileOutputStream fos = null; + try { + file = new File("dataCuisson.txt"); + fos = new FileOutputStream(file); + if(!file.exists()){ + file.createNewFile(); + } + ObjectOutputStream oos = new ObjectOutputStream(fos); + oos.writeObject(listeCuisson1); + oos.close(); fos.close(); + } catch (IOException ioe) { + ioe.printStackTrace(); + } } /** @@ -63,21 +81,20 @@ public class AfficherFragment extends Fragment { 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(); -// } + 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() { @@ -97,8 +114,8 @@ public class AfficherFragment extends Fragment { Bundle savedInstanceState) { View view = inflater.inflate(R.layout.afficher_fragment, container, false); loadSaveFile(); - listeCuisson = view.findViewById(R.id.listeCuisson); - registerForContextMenu(listeCuisson); + listeCuisson1 = view.findViewById(R.id.listeCuisson); + registerForContextMenu(listeCuisson1); return view; } diff --git a/app/src/main/java/com/example/outilcuisson/AjouterFragment.java b/app/src/main/java/com/example/outilcuisson/AjouterFragment.java index be7c914..e5a32eb 100644 --- a/app/src/main/java/com/example/outilcuisson/AjouterFragment.java +++ b/app/src/main/java/com/example/outilcuisson/AjouterFragment.java @@ -16,7 +16,8 @@ import android.widget.TimePicker; import androidx.fragment.app.Fragment; -import com.exercice.onglet.outilcuisson2021.OutilCuisson; +import com.example.outilcuisson.OutilCuisson; +import com.example.outilcuisson.Cuisson; public class AjouterFragment extends Fragment { diff --git a/app/src/main/java/com/example/outilcuisson/Cuisson.java b/app/src/main/java/com/example/outilcuisson/Cuisson.java index ef99ba1..3a9808b 100644 --- a/app/src/main/java/com/example/outilcuisson/Cuisson.java +++ b/app/src/main/java/com/example/outilcuisson/Cuisson.java @@ -31,4 +31,4 @@ public class Cuisson implements Serializable { public int getDegree() { return degree; } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/example/outilcuisson/CuissonAdapter.java b/app/src/main/java/com/example/outilcuisson/CuissonAdapter.java new file mode 100644 index 0000000..4881b92 --- /dev/null +++ b/app/src/main/java/com/example/outilcuisson/CuissonAdapter.java @@ -0,0 +1,57 @@ +package com.example.outilcuisson; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import java.util.List; + +public class CuissonAdapter extends ArrayAdapter { + + private int identifiantVueItem; + + + public CuissonAdapter(@NonNull Context context, int vueItem, List lesCuissons) { + super(context, vueItem,lesCuissons); + this.identifiantVueItem = vueItem; + } + + public View getView(int position, View uneVue, ViewGroup parent){ + Cuisson unPlat = getItem(position); + LinearLayout vueItemListe; + + if (uneVue == null) { + + /* + * la vue décrivant chaque item de la liste n'est pas encore créée + * Il faut désérialiser le layout correspondant à cette vue. + */ + LayoutInflater outil; + outil = (LayoutInflater)getContext() + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + vueItemListe = (LinearLayout) outil.inflate(identifiantVueItem, + parent, false); + + } else { + vueItemListe = (LinearLayout) uneVue; + } + + // on accède aux 2 widgets présents sur la vue + TextView vuePlat = vueItemListe.findViewById(R.id.item_plat); + TextView vueDuree = vueItemListe.findViewById(R.id.item_duree); + TextView vueDegres = vueItemListe.findViewById(R.id.item_degres); + + // on place dans les 2 widgets les valeurs de l'item à afficher + vuePlat.setText(unPlat.getPlat()); + vueDuree.setText(unPlat.getHeure()); + vueDegres.setText(Integer.toString(unPlat.getDegree())); + return vueItemListe; + } +} + diff --git a/app/src/main/java/com/example/outilcuisson/OutilCuisson.java b/app/src/main/java/com/example/outilcuisson/OutilCuisson.java index 9fc5f41..6a84c1f 100644 --- a/app/src/main/java/com/example/outilcuisson/OutilCuisson.java +++ b/app/src/main/java/com/example/outilcuisson/OutilCuisson.java @@ -17,7 +17,7 @@ /* A priori de fichier ne doit pas être modifié. Vous restez libre de le modifier si besoin */ -package com.exercice.onglet.outilcuisson2021; +package com.example.outilcuisson; /** diff --git a/app/src/main/res/layout/afficher_fragment.xml b/app/src/main/res/layout/afficher_fragment.xml index aed67a0..254f037 100644 --- a/app/src/main/res/layout/afficher_fragment.xml +++ b/app/src/main/res/layout/afficher_fragment.xml @@ -2,28 +2,37 @@ + android:stretchColumns="3"> + android:text="@string/afficher_titre" + android:layout_marginBottom="15dp"/> + android:text="@string/afficher_label_plat" + android:layout_column="1" + android:layout_span="1"/> + - + android:text="@string/afficher_label_temperature" + android:layout_column="3" + android:layout_span="1"/> - + + - \ No newline at end of file + + + + + \ No newline at end of file