Sauvegarder et partager une variable
Bonjour
Je cherche comment sauvegarder mes variables et les passer d'une activité a l'autre. Donc je cherche a...
1 - D'abord a pouvoir me servir de mes variables d'une activitée à l'autre... surement avec les intent putExtra je crois
2 - Sauvegarder les variables et les charger au démarage de l'application
3 - Eventuellement sauvegarder une variables sur un serveur
Voici ce que j'ai commencer pour tester
Premiere Activitée
Code:
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
| public class MainActivity extends Activity {
int points;
Button buttonNextActivity;
Button buttonQuit;
Button buttonAddPoints;
TextView textPoints;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonAddPoints = (Button)findViewById(id.buttonAddPoints);
buttonNextActivity = (Button)findViewById(id.buttonNextActivity);
buttonQuit = (Button)findViewById(id.buttonQuit);
textPoints = (TextView)findViewById(id.textPoints);
textPoints.setText(String.valueOf(points));
}
public void clickAddPoints (View View){
points = points + 1;
textPoints.setText(String.valueOf(points));
}
public void clickNextActivity (View View){
Intent intentSecoundActivity = new Intent(MainActivity.this, SecoundActivity.class);
intentSecoundActivity.putExtra("Points", points);
startActivity(intentSecoundActivity);
}
public void clickQuit (View View){
finish();
}
} |
Deuxieme activitée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public class SecoundActivity extends Activity {
int resultPoints;
Button buttonBack;
TextView textResultPoints;
MainActivity Main;
public void onCreate(Bundle savedInstanceState2){
super.onCreate(savedInstanceState2);
setContentView(R.layout.activity_secound);
textResultPoints = (TextView)findViewById(id.textResultPoints);
}
public void clickBack (View view){
finish();
}
} |
Alors comment je fais pour que quand je quitte l'application et que je reviens la variable int points ne reparte pas a zero mais ou elle était rendu.... et mettre la valeur de int points de la premiere activitée dans int resultPoints dans la deuxieme pour pouvoir afficher le résultat dans la seconde activitée???
J'ai essayer avec putExtra mais jai pas encore bien saisie.
merci de votre aide
comment sauvegarder les variables sur un serveur??
Merci...
Voici ou j'en suis... j'ai compris les SharedPreferences et les putExtra, c'est déja un bon début... mais la... je veux sauvegarder sur un serveur pour un jeu en ligne et je ne sais pas comment. Je ne sais meme pas quel type de serveur ni par ou commencer mes recherches.
1 - Est-ce que SaredPreferences est sécurisé ou les utilisateurs peuvent facilement modifier le contenue?? Est-ce bon pour un save interne pour une jeu??
2 - J'aimerais savoir comment sauvegarder et récupéré mes variables playerName et points sur un serveur...
3- Comment ouvrir ou avoir mon serveur gratuit pour tester... un serveur FTP?? *peut etre pas la bonne place pour demander mais je m'essaye car si quelqu'un sais sauvegarder une variable sur un serveur il sais surement en ouvrir un et comment l'utilisé ;)
Les SharedPreferences
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| //////////////////////Sauvegarder dans SharedPreferences/////////////////////////////
String playerName = "Nouveau joueur";
int points = 10;
public void Save(){
//sauver dans Share preference
SharedPreferences settings = getSharedPreferences("LoadPoints", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("PlayerName", playerName);
editor.putInt("Points", points);
editor.commit();
}
public void Load(){
//loader dans share preference
SharedPreferences settings = getSharedPreferences("LoadPoints", 0);
playerName = settings.getString("PlayerName", playerName);
points = settings.getInt("Points", points);
} |
Les putExtra avec less intents
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| //////////transféré les variables d'un activitée à l'autre avec les Extra////////////
//Dans la premiere activitée
public void SaveExtra (){
Intent intentSecoundActivity = new Intent(MainActivity.this, SecoundActivity.class);
intentSecoundActivity.putExtra("PlayerName", playerName);
intentSecoundActivity.putExtra("Points", points);
startActivity(intentSecoundActivity);
}
//Dans la seconde activitée
public void LoadExtra (){
Bundle extra = getIntent().getExtras();
resultPoints = extra.getInt("Points");
} |
voici ce que j'ai apris depuis hier... si ca peut aider du monde....
Merci