IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Sauvegarder et partager une variable


Sujet :

API standards et tierces Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2014
    Messages : 39
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre chevronné
    Avatar de maxusn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 175
    Par défaut
    Bonjour,

    pour ce qui est de sauvegarder une variable sur le telephone tu peux utiliser les SharedPreferences : exemple

    ce qui peut aussi te permettre de partager tes variables d'une activité a une autre.

    Sinon si tu veux utiliser le intent.putExtra :

    pour un int :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    intent.putExtra("id",monId);
    et pour le lire tu peux faire quelque chose du genre ::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Bundle extras = getIntent().getExtras(); 
    if(extras !=null)
    {
    int monId= extras.getInt("id");
    }
    pour plus d'infos sur le putExtra : intent.putExtra()

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2014
    Messages : 39
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    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??
    Si ils sont en root ils peuvent y accéder sinon cela appartient seulement à ton application.
    Je pense que cela suffit amplement .

    2 - J'aimerais savoir comment sauvegarder et récupéré mes variables playerName et points sur un serveur...
    Avec un WebService REST par exemple cela suffit .

    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é
    Un serveur classique suffit (TomCat) à toi de le mettre en place et de mettre les webservice nécessaire à cela. pour la sauvegarde des variables par utilisateur tu auras besoin d'une base de données pour identifier l'utilisateur et ainsi lui envoyé les bonnes données.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2014
    Messages : 39
    Par défaut
    Merci pour ces directions... j'ai de quoi commencer mes recherches.

Discussions similaires

  1. "partager" une variable entre processus
    Par vever001 dans le forum Débuter
    Réponses: 1
    Dernier message: 03/06/2010, 08h36
  2. Réponses: 6
    Dernier message: 02/06/2008, 21h39
  3. Réponses: 4
    Dernier message: 15/05/2008, 09h29
  4. Partager une variable entre deux sites web
    Par debutantasp dans le forum ASP
    Réponses: 3
    Dernier message: 12/05/2008, 20h03
  5. Réponses: 4
    Dernier message: 30/03/2007, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo