Skip to content
Extraits de code Groupes Projets

Design

Fusionnées Rémy Mathieu a demandé de fusionner Design vers main
13 fichiers
+ 84
58
Comparer les modifications
  • Côte à côte
  • En ligne
Fichiers
13
@@ -13,6 +13,7 @@ import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
@@ -33,14 +34,19 @@ import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -132,18 +138,33 @@ public class ProgramCreationActivity extends AppCompatActivity {
testbtn.setOnClickListener(v -> {
System.out.println("EXO SAVED: \n");
try {
FileInputStream fis = openFileInput("data.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
// recup files saved (garde que ".ser")
File dir = getFilesDir();
String[] fileNames = dir.list();
assert fileNames != null;
for (String filename : fileNames){
if (filename.endsWith(".ser")){
System.out.println("FILENAME: " + filename + "\n");
FileInputStream fileInputStream = openFileInput(filename);
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
ExerciseEntry exerciseEntry = (ExerciseEntry) objectInputStream.readObject();
// ici tu peux utiliser entry comme programme perso
HashMap<String, ArrayList<Exercise>> entry = exerciseEntry.getEntry();
for (Map.Entry<String, ArrayList<Exercise>> set : entry.entrySet()) {
System.out.println(set.getKey() + " = " + set.getValue());
}
objectInputStream.close();
fileInputStream.close();
}
}
br.close();
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
});
}
@@ -167,21 +188,22 @@ public class ProgramCreationActivity extends AppCompatActivity {
private void saveProgramListener(){
Button save_btn = findViewById((R.id.save_button));
save_btn.setOnClickListener(v -> {
System.out.println("Voici la liste des exos pour ce programme : \n");
for (Map.Entry<String, ArrayList<Exercise>> set : exoDetailsForEachDay.entrySet()) {
System.out.println(set.getKey() + " = " + set.getValue());
}
try {
FileOutputStream fos = openFileOutput("data.txt", Context.MODE_PRIVATE);
PrintWriter writer = new PrintWriter(new OutputStreamWriter(fos));
for (Map.Entry<String, ArrayList<Exercise>> set : exoDetailsForEachDay.entrySet()) {
String key = set.getKey();
ArrayList<Exercise> value = set.getValue();
writer.println(key + " = " + value.toString());
}
try {
// recup le nom de programme comme nom de fichier -> nomdeprogramme.ser
EditText programNameEditText = findViewById(R.id.program_name);
String programName = programNameEditText.getText().toString();
String programpath = programName + ".ser";
// place le HashMap du programme dans nomdeprogramme.ser
HashMap<String, ArrayList<Exercise>> entry = exoDetailsForEachDay;
ExerciseEntry exerciseEntry = new ExerciseEntry(entry);
FileOutputStream fileOutputStream = openFileOutput(programpath, Context.MODE_PRIVATE);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(exerciseEntry);
objectOutputStream.close();
fileOutputStream.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
@@ -402,7 +424,8 @@ public class ProgramCreationActivity extends AppCompatActivity {
}
}
class Exercise {
class Exercise implements Serializable {
private static final long serialVersionUID = 1L;
String name;
String description;
int breakVal;
@@ -420,7 +443,19 @@ class Exercise {
@NonNull
@Override
public String toString() {
return name + ", " + description + ", temps de pause : " + breakVal;
return name + ", " + description + ", temps de pause : " + breakVal + ", image_url : " + image_url + ", timer : " + timer;
}
}
class ExerciseEntry implements Serializable {
private static final long serialVersionUID = 1L;
private final HashMap<String, ArrayList<Exercise>> entry;
public ExerciseEntry(HashMap<String, ArrayList<Exercise>> entry) {
this.entry = entry;
}
public HashMap<String, ArrayList<Exercise>> getEntry() {
return entry;
}
}
\ No newline at end of file
Chargement en cours