Jawaban Tambahan: Konvensi Penamaan untuk String Kunci
Sebenarnya proses mengirimkan data sudah dijawab, namun sebagian besar jawaban menggunakan string kode keras untuk nama kunci di Intent. Ini biasanya baik jika digunakan hanya dalam aplikasi Anda. Namun, dokumentasi merekomendasikan penggunaan EXTRA_*
konstanta untuk tipe data standar.
Contoh 1: Menggunakan Intent.EXTRA_*
kunci
Aktivitas pertama
Intent intent = new Intent(getActivity(), SecondActivity.class);
intent.putExtra(Intent.EXTRA_TEXT, "my text");
startActivity(intent);
Aktivitas kedua:
Intent intent = getIntent();
String myText = intent.getExtras().getString(Intent.EXTRA_TEXT);
Contoh 2: Menentukan static final
kunci Anda sendiri
Jika salah satu dari Intent.EXTRA_*
String tidak sesuai dengan kebutuhan Anda, Anda dapat menentukan sendiri di awal aktivitas pertama.
static final String EXTRA_STUFF = "com.myPackageName.EXTRA_STUFF";
Termasuk nama paket hanya sebuah konvensi jika Anda hanya menggunakan kunci di aplikasi Anda sendiri. Tapi itu adalah suatu keharusan untuk menghindari konflik penamaan jika Anda membuat semacam layanan yang aplikasi lain dapat memanggil dengan Intent.
Aktivitas pertama:
Intent intent = new Intent(getActivity(), SecondActivity.class);
intent.putExtra(EXTRA_STUFF, "my text");
startActivity(intent);
Aktivitas kedua:
Intent intent = getIntent();
String myText = intent.getExtras().getString(FirstActivity.EXTRA_STUFF);
Contoh 3: Menggunakan kunci sumber daya String
Meskipun tidak disebutkan dalam dokumentasi, jawaban ini merekomendasikan penggunaan sumber daya String untuk menghindari ketergantungan antara aktivitas.
strings.xml
<string name="EXTRA_STUFF">com.myPackageName.MY_NAME</string>
Aktivitas pertama
Intent intent = new Intent(getActivity(), SecondActivity.class);
intent.putExtra(getString(R.string.EXTRA_STUFF), "my text");
startActivity(intent);
Aktivitas kedua
Intent intent = getIntent();
String myText = intent.getExtras().getString(getString(R.string.EXTRA_STUFF));