Sebuah aplikasi android yang kompleks biasanya terdiri dari dua Activity atau lebih. Lalu bagaimana cara Xamarin untuk memanggil Activity lain? Lebih mudah atau lebih sulit daripada Android Studio?
Secara konsep keduanya sama-sama menggunakan Intent. Meski memang koding Xamarin sedikit lebih ringkas jika dibandingkan dengan Android Studio.
Nggak percaya?
Ayo kita tes?
Pertama-tama buatlah sebuah project baru menggunakan Xamarin. Jika anda lupa caranya, anda bisa membaca kembali tutorial perdana tentang hal itu di sini: Membuat Project Baru Di Xamarin
Setelah itu pada folder App01 klik kanan dan pilih Add > New Item…
Pilih Activity dan klik Add. Secara default nama Activitynya adalah “Activity1”
Selanjutnya pada folder layout klik kanan dan pilih menu Add > New Item…
Kali ini pilihlah Android Layout dan klik Add. Secara default nama filenya adalah “layout1.xml”
Klik file layout.xml dan tambahkan sebuah widget Text dari toolbox
Kemudian klik MainActivity.cs dan ketikkan script berikut:
1: using System;
2: using Android.App;
3: using Android.Content;
4: using Android.Runtime;
5: using Android.Views;
6: using Android.Widget;
7: using Android.OS;
8: namespace App01
9: {
10: [Activity(Label = "App01", MainLauncher = true, Icon = "@drawable/icon")]
11: public class MainActivity : Activity
12: {
13: protected override void OnCreate(Bundle bundle)
14: {
15: base.OnCreate(bundle);
16: // Set our view from the "main" layout resource
17: SetContentView(Resource.Layout.Main);
18: // Get our button from the layout resource,
19: // and attach an event to it
20: Button button = FindViewById<Button>(Resource.Id.MyButton);
21: button.Click += delegate {
22: var next_activity = new Intent(this, typeof(Activity1));
23: next_activity.PutExtra("mydata", "Hello World");
24: StartActivity(next_activity);
25: };
26: }
27: }
28: }
Penjelasan:
Baris 22: Membuat variabel C# Intent untuk memanggil Activity lain
Baris 23: Mengirimkan data “Hello World” dengan kunci “mydata” keactivity yang dipanggil
Selanjutnya klik Activity1.cs dan ketikkan script berikut:
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using Android.App;
6: using Android.Content;
7: using Android.OS;
8: using Android.Runtime;
9: using Android.Views;
10: using Android.Widget;
11: namespace App01
12: {
13: [Activity(Label = "Activity1")]
14: public class Activity1 : Activity
15: {
16: protected override void OnCreate(Bundle savedInstanceState)
17: {
18: base.OnCreate(savedInstanceState);
19: SetContentView(Resource.Layout.layout1);
20: // Create your application here
21: TextView txt = (TextView)FindViewById(Resource.Id.textView1);
22: txt.Text = Intent.GetStringExtra("mydata");
23: }
24: }
25: }
Penjelasan:
Baris 22: Menampilkan text yang dikirim melalui Intent dengan key “mydata”.
Jalankan aplikasi anda. Jika tidak ada kesalahan anda pasti dapat melihat kata “Hello World” yang dikirimkan melalui method “PutExtra”. Caranya sangat mudah bukan?
Pertanyaan selanjutnya adalah: Bagaimana jika text yang akan dikirim kepada Activity selanjutnya merupakan input dari user seperti tutorial saya yang ini: Belajar Android Studio – Mengirim Data Kepada Activity Lain
Dapatkah anda melakukannya dengan Xamarin? ?
No comments:
Post a Comment