Le passage des chaînes entre les activités dans android

J'ai cherché un peu partout mais je n'ai pas avec toute la bonne solution qui fonctionnait encore, et j'ai vraiment besoin d'aide!
Je fais une application qui a besoin de passer une longitude et une latitude de la chaîne à partir d'une activité à l'autre.
Comment puis-je faire cela??? Jetez un oeil à mon code ici: LocationActivity.java doit passer la chaîne à l'autre de l'activité et une autre que je n'ai pas le coller ici. Et la chaîne de caractères qui doit être transmise est nommé: "latLongString"

LocationActivity.java:

import android.R.string;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class LocationActivity extends Activity {
private String Location;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LocationManager locManager;
locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000L,500.0f, locationListener);
Location location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
updateWithNewLocation(location);
if(location != null)                                
{
double latitude = location.getLatitude();
double longitude = location.getLongitude();
}  
}
private void updateWithNewLocation(Location location) {
TextView myLocationText = (TextView)findViewById(R.id.LocationWord);
String latLongString = "";
if (location != null) {
double lat = location.getLatitude();
double lng = location.getLongitude();
latLongString = "Lat:" + lat + "\nLong:" + lng;
//This is where i need to pass the string to the other activity
} else {
latLongString = "No location found";
}
myLocationText.setText("Your Current Position is:\n" +
latLongString);
}
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
updateWithNewLocation(location);
}
public void onProviderDisabled(String provider) {
updateWithNewLocation(null);
}
public void onProviderEnabled(String provider) {
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
};
}

L'autre activité:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
import java.util.Locale;
import android.R.string;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.os.Bundle;
import android.os.Environment;
import android.telephony.gsm.SmsMessage;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.location.LocationManager;
import android.location.LocationListener;
public class FindAndroidActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
Button Nextbutton1, Nextbutton2, Nextbutton3, TestLocationService, EditSettings;
TextView Cordinates, Adress, FindAndroid, TextView;
EditText LocationWord;
private LocationManager locManager;
private LocationListener locListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.firsttimescreen);
Nextbutton1 = (Button)findViewById(R.id.Nextbutton1);
Nextbutton1.setOnClickListener(this);
}
public void onClick(View src) {
switch(src.getId()) {
case R.id.Nextbutton1:
setContentView(R.layout.setup);
Nextbutton2 = (Button)findViewById(R.id.Nextbutton2);
TestLocationService = (Button)findViewById(R.id.TestLocationService);
TestLocationService.setOnClickListener(this);
Nextbutton2.setOnClickListener(this);
break;
case R.id.Nextbutton2:
setContentView(R.layout.setup1);
Nextbutton3 = (Button)findViewById(R.id.Nextbutton3);
LocationWord = (EditText)findViewById(R.id.LocationWord);
LocationWord.requestFocus(View.FOCUS_DOWN);
Nextbutton3.setOnClickListener(this);
break;
case R.id.Nextbutton3:
setContentView(R.layout.main);
EditSettings = (Button)findViewById(R.id.EditSettings);
EditSettings.setOnClickListener(this);
break;
case R.id.TestLocationService:
Bundle extras = getIntent().getExtras();
if(extras !=null) {
String value = extras.getString("KEY");             
}
Cordinates = (TextView)findViewById(R.id.Cordinates);
Cordinates.setText(value);
//This does not work because the string "value" isn't availible outside the braces,
//obviously. How do i make it availible there???
break;
case R.id.EditSettings:
setContentView(R.layout.setup1);
Nextbutton3 = (Button)findViewById(R.id.Nextbutton3);
LocationWord = (EditText)findViewById(R.id.LocationWord);
LocationWord.requestFocus(View.FOCUS_DOWN);
Nextbutton3.setOnClickListener(this);
break;
}
}

}

Vous devez utiliser putExtra() et getExtras() (ou getString) des fonctions à partir de l'Intention de la classe de réponse ici: [PutExtra/GetExtra][1] [1]: stackoverflow.com/questions/5265913/...

OriginalL'auteur Erik | 2012-01-05