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

Android Discussion :

Envoyer une variable d'une activité à une autre


Sujet :

Android

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut Envoyer une variable d'une activité à une autre
    Bonsoir à toutes et à tous,

    J'aimerais envoyer une variable à partir d'une activité vers une autre, sachant que ces deux activités ne sont pas directement liées (ni par un bouton ni rien). Il existe, toutefois, plusieurs autres activités entre elles.

    Comment faire s'il vous plaît c'est urgent

    Merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Points : 88
    Points
    88
    Par défaut
    Bonsoir,

    Je pense fortement qu'il y a plus "propre" que ma solution mais tu peux mettre ta variable dans un fichier

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut enenvoyer une variable à partir d'une activité vers une autre
    Merci pour la réponse

    Comment faire ça?

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Non, la méthode pour passer des informations c'est le bundle attaché à tout "Intent"...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut envoyer une variable à partir d'une activité vers une autre
    Mais comment faire ça si les deux activités ne sont pas directement liées?

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    hummmm je viens de comprendre la problématique:

    A --> z ---> y ---> B

    Tu veux que A puisse passer des paramètres à B, sans avoir accès à z et y...

    En gros, tu veux que A parametrise B... Commes des sortes de "préférences"... et bam... SharedPreferences...
    Il faut toutefois (mais c'est aussi vrai pour les fichiers) que A et B soient dans le même package.

    Si ce n'est pas le cas, et si B "connais" A... alors il est possible de faire un Intent de "query".... B appelle A pour récupérer le parametre (et A se ferme aussitot).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut envoyer une variable à partir d'une activité vers une autre
    Toutes mes activities se trouvent dans le même package. S'il vous plaît pouvez-vous m'expliquer comment utiliser les SharedPreferences? je suis débutante et je bloque à ce niveau.

  8. #8
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut envoyer une variable à partir d'une activité vers une autre
    Mais comment faire si la variable en question doit être extraîte à partir de ma BDD mysql et elle dépend de l'utilisateur logged in ?? j'ai pas trouvé un cas similaire pour le suivre. Merci de me guider

  10. #10
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Donc, si je résume :
    -tu lis dans dans une BDD distante une valeur (ce que je suppose, la BDD embarquée étant SQLite)
    -tu la stockes dans une variable
    -tu changes plusieurs fois d'activité
    -tu veux de nouveau utiliser cette valeur

    Sinon, qu'est-ce qui te gène avec les SharedPreferences ? Une fois que tu lis ta valeur, tu la stockes et tu la reprends ensuite n'importe quand. Le lien que j'ai fourni t'explique comment utiliser les SharedPreferences.

    De plus, qu'est-ce donc que cette histoire d'identification ? Si tu veux que l'on t'aide, dresse nous un portrait complet de ta situation (ce que tu essayes de faire, dans quel but, la mise en oeuvre, ce sur quoi tu bloques) avec le plus de détails.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  11. #11
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut envoyer une variable à partir d'une activité vers une autre
    La BDD que j'utilise c'est Mysql et nin pas SQLite.

    En fait, j'ai une activity contenant les informations de l'utilisateur connecté y comris son ID auquel j'ai besoin au niveau de ma classe candidature qui se déclenche lorsque l'utilisateur clique sur le bouton "postuler" de l'acivité qui précède (qui affiche une offre). Donc pour postuler je dois envoyer à ma table "candidature" via un script php (que j'ai déjà réalisé) l'ID du candidat ainsi que l'ID de l'offre.

    L'ID de l'offre me pose pas un problème, puisque je le récupère à l'aide d'un intent via l'activité DetailsOffre. Par contre ce n'est pas le cas pour l'ID du candidat qui se situe dans une autre activity.

    Ci dessous mon code:

    Activité qui récupère l'ID du candidat:
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    package com.projet.tmjob;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.TextView;
     
    public class DonneesCandidat extends Activity {
    	TextView txt;
    	public static final String PREFS_NAME = "id";
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.donnees);
    		Button btn = (Button)findViewById(R.id.bouton_offres);
            btn.setOnClickListener(new View.OnClickListener() {
     
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Intent intent2 = new Intent(DonneesCandidat.this,	Offres.class);
    				startActivity(intent2);	
     
    			}
     
            });
    		LinearLayout rootLayout = new LinearLayout(getApplicationContext());  
    		txt = new TextView(getApplicationContext());  
    		rootLayout.addView(txt);  
     
    		txt.setText("Connexion..."); 
    		txt.setText(getServerData(strURL)); 
     
    	}
     
    	public static final String strURL = "http://10.0.2.2/mesRequetes/donnees.php";
     
    	private String getServerData(String returnString) {
     
    		InputStream is = null;
    		String result = null;
    		Intent intent = getIntent();
    		String usern = intent.getExtras().getString("username");
    		String passw = intent.getExtras().getString("password");
     
    		ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    		nameValuePairs.add(new BasicNameValuePair("username", usern));
    		nameValuePairs.add(new BasicNameValuePair("password", passw));
     
    		// Envoie de la commande http
    		try{
    			HttpClient httpclient = new DefaultHttpClient();
    			HttpPost httppost = new HttpPost(strURL);
    			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    			HttpResponse response = httpclient.execute(httppost);
    			HttpEntity entity = response.getEntity();
    			is = entity.getContent();
     
    		}catch(Exception e){
    			Log.e("log_tag", "Error in http connection " + e.toString());
    		}
     
    		try{
    			BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
    			StringBuilder sb = new StringBuilder();
    			String line = null;
    			while ((line = reader.readLine()) != null) {
    				sb.append(line + "\n");
    			}
    			is.close();
    			result=sb.toString();
    		}catch(Exception e){
    			Log.e("log_tag", "Error converting result " + e.toString());
    		}
     
    		try{
     
    			JSONArray jArray = new JSONArray(result);
    			JSONObject json_data=null;
    			for(int i=0;i<jArray.length();i++){
    			json_data = jArray.getJSONObject(i);
     
    			TextView identifiant = (TextView) findViewById(R.id.tv_id);
    		    identifiant.setText(json_data.getString("id"));
     
    			TextView nom = (TextView) findViewById(R.id.tv_nom1);
    		    nom.setText(json_data.getString("last_name"));
     
    		    TextView prenom = (TextView) findViewById(R.id.tv_prenom2);
    		    prenom.setText(json_data.getString("first_name"));
     
    		    TextView datenaiss = (TextView) findViewById(R.id.tv_Dnaiss2);
    		    datenaiss.setText(format_date(json_data.getString("datenaissance"))); 
     
    		    TextView diplome = (TextView) findViewById(R.id.tv_Diplome2);
    		    diplome.setText(json_data.getString("diplomes"));
     
    		    Log.i("log_tag","Nom :"+json_data.getString("last_name")+
    					", Prenom: "+json_data.getString("first_name")+
    					", Idenfifiant: "+json_data.getString("id")+
    					", datenaissance: "+json_data.getString("datenaissance")+
    					", diplomes: "+json_data.getString("diplomes"));
    				// Résultats de la requête
    				returnString += "" + jArray.getJSONObject(i);
     
    			};
    	      		}catch(JSONException e){
    			Log.e("log_tag", "Error parsing data " + e.toString());
    		}
     
    		return returnString;
     
    	}
     
    	 public static String format_date(final String s) {
    	        String aaaa = s.substring(0, 4);
    	        String mm = s.substring(5, 7);
    	        String dd = s.substring(8);
    	        return new StringBuilder(dd)
    	                .append("/")
    	                .append(mm)
    	                .append("/")
    	                .append(aaaa)
    	                .toString();
    	    }
    }
    Activité candidature:
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    package com.projet.tmjob;
     
    import java.util.ArrayList;
     
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
     
    public class Candidature extends Activity {
     
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.detail_offre);   
     
            Intent intent_postul = getIntent();
    		String idoffr = intent_postul.getExtras().getString("idoffre");
    		String idcandidat = intent_postul.getExtras().getString("id");
     
    		ArrayList<NameValuePair> postCand = new ArrayList<NameValuePair>();
    		postCand.add(new BasicNameValuePair("idoffre", idoffr));
    		postCand.add(new BasicNameValuePair("id", idcandidat));
     
    		this.sendData(postCand);
    }	
     
    private void sendData(ArrayList<NameValuePair> postCand) {
    		// TODO Auto-generated method stub
    	try{
    		HttpClient httpclient = new DefaultHttpClient();
    		HttpPost httppost = new HttpPost("http://10.0.2.2/mesRequetes/candidature.php");
    		httppost.setEntity(new UrlEncodedFormEntity(postCand));
    		HttpResponse response = httpclient.execute(httppost);
    		Log.i("postData", response.getStatusLine().toString());
     
     
    	}catch(Exception e){
    		Log.e("log_tag", "Error in http connection " + e.toString());
    	}
     
     
     
    	    }
    }
    J'espère que ces détails vous aideront à me guider

    Cdt

  12. #12
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Si je comprends bien, tu veux faire transiter cette information là :
    json_data.getString("id"); ?

    Si c'est bien le cas, tu as simplement à écrire après :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SharedPreferences.Editor editor = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE).edit();
     
    editor.putString(ID_USER, json_data.getString("id"));
    editor.commit();

    Et pour le récupérer :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SharedPreferences sharedPreferences = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE);
    sharedPreferences.getString(ID_USER);

    Dans ces exemples, MY_PREFERENCES et ID_USER font référence à des String constantes que tu devras créer.
    Pourquoi passer par des constantes au lieu de mettre la chaîne ? Pour plusieurs choses :
    • éviter les fautes de frappes
    • faciliter le refactor
    • factoriser le code et les responsabilités


    Remarque : ce code n'est que pour stocker des Strings. Si tu veux stocker autre chose (un entier par exemple), je te laisse lire la doc pour trouver la méthode idoine.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  13. #13
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut envoyer une variable à partir d'une activité vers une autre
    Je vous remercie pour vos réponses

    Mais pour MY_PREFERENCES et ID_USER, à quoi doivent correspondre leurs valeurs??

  14. #14
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Là, en soit, ce que tu veux. Tartanpion, Sydonie, Syracuse, Toto, ID_USER, MesPréférences ...

    La valeur n'a pas d'importance, c'est leur rôle qui l'est.

    Ps : faire quand même en sorte que ce soient des valeurs différentes.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  15. #15
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut envoyer une variable à partir d'une activité vers une autre
    ça marche toujours pas

    activité donneescandidat:
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    package com.projet.tmjob;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.TextView;
     
    public class DonneesCandidat extends Activity {
    	TextView txt;
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.donnees);
    		Button btn = (Button)findViewById(R.id.bouton_offres);
            btn.setOnClickListener(new View.OnClickListener() {
     
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				Intent intent2 = new Intent(DonneesCandidat.this,	Offres.class);
    				startActivity(intent2);	
     
    			}
     
            });
    		LinearLayout rootLayout = new LinearLayout(getApplicationContext());  
    		txt = new TextView(getApplicationContext());  
    		rootLayout.addView(txt);  
     
    		txt.setText("Connexion..."); 
    		txt.setText(getServerData(strURL)); 
     
    	}
     
    	public static final String strURL = "http://10.0.2.2/mesRequetes/donnees.php";
    	private static final String MY_PREFERENCES = "mespreferences";
    	private static final String ID_USER = "idcandid";
     
    	private String getServerData(String returnString) {
     
    		InputStream is = null;
    		String result = null;
    		Intent intent = getIntent();
    		String usern = intent.getExtras().getString("username");
    		String passw = intent.getExtras().getString("password");
     
    		ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    		nameValuePairs.add(new BasicNameValuePair("username", usern));
    		nameValuePairs.add(new BasicNameValuePair("password", passw));
     
    		// Envoie de la commande http
    		try{
    			HttpClient httpclient = new DefaultHttpClient();
    			HttpPost httppost = new HttpPost(strURL);
    			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    			HttpResponse response = httpclient.execute(httppost);
    			HttpEntity entity = response.getEntity();
    			is = entity.getContent();
     
    		}catch(Exception e){
    			Log.e("log_tag", "Error in http connection " + e.toString());
    		}
     
    		try{
    			BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
    			StringBuilder sb = new StringBuilder();
    			String line = null;
    			while ((line = reader.readLine()) != null) {
    				sb.append(line + "\n");
    			}
    			is.close();
    			result=sb.toString();
    		}catch(Exception e){
    			Log.e("log_tag", "Error converting result " + e.toString());
    		}
     
    		try{
     
    			JSONArray jArray = new JSONArray(result);
    			JSONObject json_data=null;
    			for(int i=0;i<jArray.length();i++){
    			json_data = jArray.getJSONObject(i);
     
    			TextView identifiant = (TextView) findViewById(R.id.tv_id);
    		    identifiant.setText(json_data.getString("id"));
     
    			TextView nom = (TextView) findViewById(R.id.tv_nom1);
    		    nom.setText(json_data.getString("last_name"));
     
    		    TextView prenom = (TextView) findViewById(R.id.tv_prenom2);
    		    prenom.setText(json_data.getString("first_name"));
     
    		    TextView datenaiss = (TextView) findViewById(R.id.tv_Dnaiss2);
    		    datenaiss.setText(format_date(json_data.getString("datenaissance"))); 
     
    		    TextView diplome = (TextView) findViewById(R.id.tv_Diplome2);
    		    diplome.setText(json_data.getString("diplomes"));
     
    		    Log.i("log_tag","Nom :"+json_data.getString("last_name")+
    					", Prenom: "+json_data.getString("first_name")+
    					", Idenfifiant: "+json_data.getString("id")+
    					", datenaissance: "+json_data.getString("datenaissance")+
    					", diplomes: "+json_data.getString("diplomes"));
     
     
    				// Résultats de la requête
    				returnString += "" + jArray.getJSONObject(i);
     
    				SharedPreferences.Editor editor = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE).edit();
    				editor.putString(ID_USER, json_data.getString("id"));
    			    editor.commit();
    			};
    	      		}
     
    		catch(JSONException e){
    			Log.e("log_tag", "Error parsing data " + e.toString());
    		}
     
    		return returnString;
     
    	}
     
    	 public static String format_date(final String s) {
    	        String aaaa = s.substring(0, 4);
    	        String mm = s.substring(5, 7);
    	        String dd = s.substring(8);
    	        return new StringBuilder(dd)
    	                .append("/")
    	                .append(mm)
    	                .append("/")
    	                .append(aaaa)
    	                .toString();
    	    }
    }

    activité candidature:
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    package com.projet.tmjob;
     
    import java.util.ArrayList;
     
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
     
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.util.Log;
     
     
    public class Candidature extends Activity {
     
     
     
    	private static final String MY_PREFERENCES = "mespreferences";
    	private static final String ID_USER = null;
     
    	/** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.detail_offre);   
     
            SharedPreferences sharedPreferences = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE);
            sharedPreferences.getString(ID_USER, null);
     
            Intent intent_postul = getIntent();
    		String idoffr = intent_postul.getExtras().getString("idoffre");
     
     
    		ArrayList<NameValuePair> postCand = new ArrayList<NameValuePair>();
    		postCand.add(new BasicNameValuePair("idoffre", idoffr));
     
     
    		this.sendData(postCand);
    }	
     
    private void sendData(ArrayList<NameValuePair> postCand) {
    		// TODO Auto-generated method stub
    	try{
    		HttpClient httpclient = new DefaultHttpClient();
    		HttpPost httppost = new HttpPost("http://10.0.2.2/mesRequetes/candidature.php");
    		httppost.setEntity(new UrlEncodedFormEntity(postCand));
    		HttpResponse response = httpclient.execute(httppost);
    		Log.i("postData", response.getStatusLine().toString());
     
     
    	}catch(Exception e){
    		Log.e("log_tag", "Error in http connection " + e.toString());
    	}
     
     
     
    	    }
    }

  16. #16
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je vais sortir ma boule de cristal pour ton "ça marche pas" ...

    Bon, le but des constantes dont j'ai parlées et de les déclarer une unique fois et de les réutiliser à chaque fois que tu dois faire ces actions.
    Ce ne doit donc absolument pas être des "private", mais des "public". Là, avec ce que tu as fait, c'est exactement comme si tu avais directement mis des chaînes en durs, donc tu ne bénéficie pas des points que j'ai énoncé.

    Je te conseils très vivement de lire la doc, arrêter de paniquer et de comprendre ce que tu fais.
    Lis la doc, et peut-être le tuto de mise en oeuvre des SharedPreferences que j'ai déjà posté. Tu devrais normalement comprendre assez vite ce qui déconne.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  17. #17
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Points : 40
    Points
    40
    Par défaut envoyer une variable à partir d'une activité vers une autre
    Bonsoir,

    J'ai réussi à résoudre mon problème merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/04/2015, 15h46
  2. Contenu d'une variable devenant lui même une variable
    Par Copyright83 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 14/11/2012, 17h24
  3. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  4. [Smarty] Récuper une variable php à partir d'une variable Smarty
    Par SPKlls dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/04/2008, 17h40
  5. [Free Pascal] [2.2] Impossible d'assigner une variable de type T à une variable de type T
    Par Hibou57 dans le forum Free Pascal
    Réponses: 3
    Dernier message: 12/10/2007, 12h31

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