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
enenvoyer une variable à partir d'une activité vers une autre
Merci pour la réponse :)
Comment faire ça?
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?
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.
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
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:
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:
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
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??
envoyer une variable à partir d'une activité vers une autre
ça marche toujours pas :(
activité donneescandidat:
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 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:
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());
}
}
} |
envoyer une variable à partir d'une activité vers une autre
Bonsoir,
J'ai réussi à résoudre mon problème merci :D