Compare commits
1 commit
master
...
serialisat
| Author | SHA1 | Date | |
|---|---|---|---|
| eb93410553 |
2 changed files with 30 additions and 3 deletions
|
|
@ -1,7 +1,11 @@
|
||||||
package com.example.coach.presenter;
|
package com.example.coach.presenter;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
|
||||||
import com.example.coach.contract.ICalculView;
|
import com.example.coach.contract.ICalculView;
|
||||||
import com.example.coach.model.Profil;
|
import com.example.coach.model.Profil;
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
@ -10,13 +14,19 @@ import java.util.Date;
|
||||||
*/
|
*/
|
||||||
public class CalculPresenter {
|
public class CalculPresenter {
|
||||||
private ICalculView vue;
|
private ICalculView vue;
|
||||||
|
private static final String NOM_FIC = "coach_records";
|
||||||
|
private static final String PROFIL_CLE = "profil_json";
|
||||||
|
private Gson gson;
|
||||||
|
private SharedPreferences prefs;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur : valorise la propriété permettant d'accéder à la vue
|
* Constructeur : valorise la propriété permettant d'accéder à la vue
|
||||||
* @param vue
|
* @param vue
|
||||||
*/
|
*/
|
||||||
public CalculPresenter(ICalculView vue) {
|
public CalculPresenter(ICalculView vue, Context context) {
|
||||||
this.vue = vue;
|
this.vue = vue;
|
||||||
|
this.prefs = context.getSharedPreferences(NOM_FIC, Context.MODE_PRIVATE);
|
||||||
|
this.gson = new Gson();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -30,6 +40,22 @@ public class CalculPresenter {
|
||||||
public void creerProfil(Integer sexe, Integer poids, Integer taille, Integer age)
|
public void creerProfil(Integer sexe, Integer poids, Integer taille, Integer age)
|
||||||
{
|
{
|
||||||
Profil profil = new Profil(poids, taille, age, sexe, new Date());
|
Profil profil = new Profil(poids, taille, age, sexe, new Date());
|
||||||
|
sauvegarderProfil(profil);
|
||||||
vue.AfficherResultat(profil.getImage(), profil.getImg(), profil.getMessage(), profil.normal());
|
vue.AfficherResultat(profil.getImage(), profil.getImg(), profil.getMessage(), profil.normal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sauvegarderProfil(Profil profil)
|
||||||
|
{
|
||||||
|
String json = gson.toJson(profil);
|
||||||
|
prefs.edit().putString(PROFIL_CLE, json).apply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void chargerProfil()
|
||||||
|
{
|
||||||
|
String json = prefs.getString(PROFIL_CLE, null);
|
||||||
|
if(json != null){
|
||||||
|
Profil profil = gson.fromJson(json, Profil.class);
|
||||||
|
vue.remplirChamps(profil.getPoids(), profil.getTaille(), profil.getAge(), profil.getSexe());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ public class MainActivity extends AppCompatActivity implements ICalculView {
|
||||||
if(sexe == 1){
|
if(sexe == 1){
|
||||||
rdHomme.setChecked(true);
|
rdHomme.setChecked(true);
|
||||||
}else{
|
}else{
|
||||||
rdFemme.setChecked(false);
|
rdFemme.setChecked(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,8 +98,9 @@ public class MainActivity extends AppCompatActivity implements ICalculView {
|
||||||
private void init()
|
private void init()
|
||||||
{
|
{
|
||||||
chargeObjetsGraphiques();
|
chargeObjetsGraphiques();
|
||||||
presenter = new CalculPresenter(this);
|
presenter = new CalculPresenter(this, this);
|
||||||
btnCalc.setOnClickListener(v -> btnCalcClic());
|
btnCalc.setOnClickListener(v -> btnCalcClic());
|
||||||
|
presenter.chargerProfil();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue