Sebelum masuk ke tutorial lengkap saya memberikan potongan kode untuk menangani perpindahan activity. Mari kita asumsikan bahwa nama kelas Activity baru nya adalah SecondScreen.java
Membuka Activity Baru
Untuk membuka aktivity baru, metode yang digunakan adalah startActivity () atau startActivityForResult ()
Intent i = new Intent(getApplicationContext(), SecondScreen.class); StartActivity(i);
Mengirim parameters ke Activity baru
Untuk merngirim parameter ke activity baru bisa menggunakan method putExtra()
i.putExtra("key", "value"); // Example of sending email to next screen as // Key = 'email' // value = 'myemail@gmail.com' i.putExtra("email", "myemail@gmail.com");
Menerima parameter di Activity baru
Untuk menerima parameter di Activity baru pada SecondScreen.class gunakan method getStringExtra()
Intent i = getIntent(); i.getStringExtra("key"); // Example of receiving parameter having key value as 'email' // and storing the value in a variable named myemail String myemail = i.getStringExtra("email");
Membuka Activity baru dan melihat hasil
Dalam beberapa situasi Anda mungkin mengharapkan beberapa data kembali dari activity yang baru dibuat untuk melihat hasil. Anda bisa melakukannya dengan menggunakan method startActivityForResult (). Dan saat aktivitas baru ditutup Anda harus menggunakan metode onActivityResult () untuk membaca hasil yang dikembalikan.
Intent i = new Intent(getApplicationContext(), SecondScreen.class); startActivityForResult(i, 100); // 100 is some code to identify the returning result // Function to read the result from newly created activity @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode == 100){ // Storing result in a variable called myvar // get("website") 'website' is the key value result data String mywebsite = data.getExtras().get("result"); } }
Gunakan StartActivityForResult () untuk mengirim hasil kembali ke aktivity lama.
Intent i = new Intent(); // Sending param key as 'website' and value as 'shinigamirulez.blogspot.com' i.putExtra("website", "shinigamirulez.blogspot.com"); // Setting resultCode to 100 to identify on old activity setResult(100,in);
Menutup Activity
Untuk menutup activity, gunakan method finish();
Menambah data ke AndroidManifest.xml
Untuk menjalankan aplikasi Anda harus memasukkan/mengenalkan aktivity baru Anda di AndroidManifest.xml. Tambahkan aktivitas baru antara tag
Mari kita mulai dengan membuat project sederhana
Jadi sekarang kita memiliki semua potongan kode yang berkaitan dengan kegiatan. Dalam tutorial ini saya buat dua layout xml (screen1.xml, screen2.xml) dan dua Acvities (FirstScreenActivity.java, SecondScreenActivity.java). Diagram berikut akan memberi Anda gambaran tentang struktur file yang akan butuhkan dalam tutorial ini.
Sekarang mari kita mulai dengan membuat sebuah proyek sederhana.
1. Buat proyek baru file -> Project Android. Sementara membuat sebuah proyek memberi nama aktivitas baru sebagai FirstScreenActivity.
2. Sekarang Anda perlu membuat antarmuka pengguna untuk FirstScreenActivity.java
3. Buat file xml baru di folder layout atau mengubah nama main.xml untuk screen1.xml
Klik kanan pada Layout -> New -> Android file XML dan nama sebagai screen1.xml
4. Sekarang masukkan kode berikut di screen1.xml untuk membuat layout sederhana. Layout ini berisi form sederhana dengan tombol.
5. Sekarang buka FirstScreenActivity.java Anda dan Ketik kode berikut. Dalam kode berikut kita membuat Intent baru dan melewati parameter pada saat tombol di klik.
package com.example.androidswitchviews; 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.EditText; public class FirstScreenActivity extends Activity { // Initializing variables EditText inputName; EditText inputEmail; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.screen1); inputName = (EditText) findViewById(R.id.name); inputEmail = (EditText) findViewById(R.id.email); Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen); //Listening to button event btnNextScreen.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { //Starting a new Intent Intent nextScreen = new Intent(getApplicationContext(), SecondScreenActivity.class); //Sending data to another Activity nextScreen.putExtra("name", inputName.getText().toString()); nextScreen.putExtra("email", inputEmail.getText().toString()); Log.e("n", inputName.getText()+"."+ inputEmail.getText()); startActivity(nextScreen); } }); } }6. Buat kelas yang disebut SecondScreenActivity.java. Klik kanan pada src / folderpackageanda -> New -> Class dan nama sebagai SecondScreenActivity.java
7. Sekarang kita perlu screen untuk actvity Kedua. Buat file xml baru dan beri nama sebagai screen2.xml.
Klik kanan pada Layout -> New -> Android file XML dan nama sebagai screen2.xml. Masukkan kode berikut dalam screen2.xml.
8. Sekarang buka SecondScreenActivity.java dan ketik kode berikut. Di sini kita hanya membaca parameter dan menampilkan mereka di layar.
package com.example.androidswitchviews; 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.TextView; public class SecondScreenActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.screen2); TextView txtName = (TextView) findViewById(R.id.txtName); TextView txtEmail = (TextView) findViewById(R.id.txtEmail); Button btnClose = (Button) findViewById(R.id.btnClose); Intent i = getIntent(); // Receiving the Data String name = i.getStringExtra("name"); String email = i.getStringExtra("email"); Log.e("Second Screen", name + "." + email); // Displaying Received data txtName.setText(name); txtEmail.setText(email); // Binding Click event to Button btnClose.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { //Closing SecondScreen Activity finish(); } }); } }
9. Sekarang semuanya sudah siap dan sebelum menjalankan proyek Anda, jangan lupa untuk memasukkan/mengenalkan activity baru di file AndroidManifest.xml. Buka file AndroidManifest.xml dan memodifikasi kode nya seperti di bawah ini
10. Akhirnya jalankan proyek Anda dengan mengklik kanan pada folder proyek Anda -> Run As -> 1 Aplikasi Android. Anda dapat melihat aplikasi berjalan dengan beralih antara layar. Di bawah gambar screenshot output kedua file xml.
0 Response to "Cara untuk berpindah antara Activity di Android"
Post a Comment