Belajar Android Studio - Memanggil Activity Lain - IMedia9 - Creative Networks

Breaking

Tuesday, 24 April 2018

Belajar Android Studio - Memanggil Activity Lain



Sebuah aplikasi android yang sederhana umumnya hanya terdiri dari satu Activity. Namun, untuk aplikasi yang kompleks bisa terdiri dari dua atau beberapa Activity. Lalu bagaimana caranya agar sebuah Activity di Android dapat memanggil Activity yang lain dan juga saling mengirim data? Caranya cukup mudah. Pertama-tama, buatlah sebuah project baru di Android Studio dan tambahkan beberapa buah widget seperti LargeText, InputText dan Button pada file activity_main.xml. Bagi anda yang tidak tahu bagaimana caranya anda bisa membaca terlebih dahulu postingan berikut: Cara membuat aplikasi Android

PicE02

Selanjutnya tambahkan sebuah Activity baru dengan cara klik kanan pada folder package (yang biasanya dimulai dengan kata com.xxx.yyy) dan pilih New > Activity > Empty Activity

PicE03

Pada file activity_main2.xml tersebut anda tambahkan sebuah LargeText widget dengan id: txtReceiver. 

PicE04

Selanjutnya pada file MainActivity.java anda ketikkan beberapa baris kode sebagai berikut:
  PicE05

1:  package com.roedavan.hello.app01;  
2: import android.content.Intent;
3: import android.support.v7.app.AppCompatActivity;
4: import android.os.Bundle;
5: import android.view.View;
6: import android.widget.Button;
7: import android.widget.EditText;
8: public class MainActivity extends AppCompatActivity {
9: @Override
10: protected void onCreate(Bundle savedInstanceState) {
11: super.onCreate(savedInstanceState);
12: setContentView(R.layout.activity_main);
13: Button btn = (Button) findViewById(R.id.button);
14: btn.setOnClickListener(new View.OnClickListener(){
15: @Override
16: public void onClick(View v){
17: Intent new_activity = new Intent(getApplicationContext(), Main2Activity.class);
18: EditText edt = (EditText) findViewById(R.id.editText);
19: String sendtext = edt.getText().toString();
20: new_activity.putExtra("from_activity1",sendtext);
21: startActivity(new_activity);
22: }
23: });
24: }
25: }

Penjelasan:

Baris 13: Membuat sebuah variabel java yang berkorelasi dengan widget pada xml, dalam hal ini buttonnya

Baris 17: Membuat sebuah variabel java dengan tipe class Intent yang bertugas untuk menjalankan sebuah activity lain dalam hal ini adalah Main2.Activity. Variabel bertipe Intent merupakan variabel kunci dalam pembuatan aplikasi android multi-activity.

Baris 18: Membuat sebuah variabel java yang berkorelasi dengan widget pada xml, dalam hal ini textnya

Baris 19: Membuat variabel string biasa yang mengambil nilai stringnya saja dari variabel di baris 18
Baris 20: Melakukan fungsi putExtra yang bisa diartikan sebagai mengirimkan data kepada sebuah Intent dengan key="from_activity1" dan value=isi dari variabel send_text (yang diinputkan oleh user nantinya)

Baris 21: Melakukan start activity yang baru dari dalam Intent. Sampai sini tugas MainActivity telah selesai. Apa saja tadi? Memanggil activity yang kedua dan mengirimkan sebuah nilai string. Itu dari sisi pengirim. Bagaimana dengan sisi penerima alias Main2Activity?
  PicE06

Anda cukup mengetikkan kode sebagai berikut:

1:  package com.roedavan.hello.app01;  
2: import android.content.Intent;
3: import android.support.v7.app.AppCompatActivity;
4: import android.os.Bundle;
5: import android.widget.TextView;
6: import org.w3c.dom.Text;
7: public class Main2Activity extends AppCompatActivity {
8: @Override
9: protected void onCreate(Bundle savedInstanceState) {
10: super.onCreate(savedInstanceState);
11: setContentView(R.layout.activity_main2);
12: TextView myText = (TextView) findViewById(R.id.txtReceiver);
13: myText.setText(getIntent().getStringExtra("from_activity1"));
14: }
15: }

Penjelasan:

Baris 12: Membuat sebuah variabel java yang berkorelasi dengan widget pada xml, dalam hal ini textnta

Baris 13: Menulis pada variabel text tersebut sebuah nilai yang berasal dari Intent yang dikirim dengan kunci "form_activity1". Bagi anda yang pernah melakukan pemrograman php, metode ini sangat mirip dengan metode $_POST['id_sesuatu'] Kalau sudah selesai coba jalankan aplikasi anda dengan melakukan klik Play.
  PicE07

Isikan kalimat pada text input yang diberikan dan klik Kirim.
  PicE08

Tada! Teks apa pun yang anda kirimkan akan ditampilkan pada Activity yang kedua. Gampang kan? Oh ya, ngomong-ngomong bagi anda yang penasaran bagaimana caranya saya mengubah title dan warna bar aplikasi dalam contoh, anda bisa membacanya di sini: Belajar Android - Mengubah Title Aplikasi Belajar Android Studio - Mengubah Warna Toolbar

No comments:

Post a Comment