How To Create Another Activity In Android
Setelah menyelesaikan tutorial sebelumnya, kini Anda memiliki aplikasi yang menunjukkan aktivitas yang terdiri dari satu layar dengan kolom teks dan tombol Send. Pada tutorial ini, Anda akan menambahkan beberapa kode ke MainActivity
yang memulai aktivitas baru untuk menampilkan pesan saat pengguna mengetuk tombol Send.
Menanggapi tombol Send
Ikuti langkah berikut untuk menambahkan metode ke class MainActivity
yang dipanggil saat tombol Send diketuk:
-
Dalam file app > java > com.example.myfirstapp > MainActivity, tambahkan stub metode
sendMessage()
berikut:Kotlin
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } /** Called when the user taps the Send button */ fun sendMessage(view: View) { // Do something in response to button } }
Java
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** Called when the user taps the Send button */ public void sendMessage(View view) { // Do something in response to button } }
Anda mungkin menemui error karena Android Studio tidak dapat menyelesaikan class
View
yang digunakan sebagai argumen metode. Untuk mengatasi error, klik deklarasiView
, letakkan kursor Anda di atasnya, lalu tekan Alt+Enter, atau Option+Enter di Mac, untuk menjalankan Quick Fix. Jika muncul menu, pilih Import class. - Kembali ke file activity_main.xml untuk memanggil metode dari tombol:
- Pilih tombol di Layout Editor.
- Di jendela Attributes, cari properti onClick, lalu pilih sendMessage [MainActivity] dari menu drop-down.
Sekarang, saat tombol diketuk, sistem akan memanggil metode
sendMessage()
.Perhatikan detail dalam metode ini. Detail ini diperlukan agar sistem mengenali metode tersebut sebagai yang kompatibel dengan atribut
android:onClick
. Secara mendetail, metode ini memiliki karakteristik sebagai berikut:- Akses publik.
- Void, atau di Kotlin, nilai hasil unit implisit.
-
View
sebagai satu-satunya parameter. Ini adalah objekView
yang Anda klik di akhir Langkah 1.
- Berikutnya, isi metode ini untuk membaca konten kolom teks dan mengirimkan teks ke aktivitas lain.
Membuat intent
Intent
adalah objek yang menyediakan binding waktu proses antarkomponen terpisah, seperti dua aktivitas. Intent
mewakili intent aplikasi untuk melakukan sesuatu. Anda dapat menggunakan intent untuk berbagai tugas, tetapi dalam tutorial ini, intent Anda memulai aktivitas lain.
Di MainActivity
, tambahkan konstanta EXTRA_MESSAGE
dan kode sendMessage()
, seperti berikut:
Kotlin
const val EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE" class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } /** Called when the user taps the Send button */ fun sendMessage(view: View) { val editText = findViewById<EditText>(R.id.editTextTextPersonName) val message = editText.text.toString() val intent = Intent(this, DisplayMessageActivity::class.java).apply { putExtra(EXTRA_MESSAGE, message) } startActivity(intent) } }
Java
public class MainActivity extends AppCompatActivity { public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** Called when the user taps the Send button */ public void sendMessage(View view) { Intent intent = new Intent(this, DisplayMessageActivity.class); EditText editText = (EditText) findViewById(R.id.editTextTextPersonName); String message = editText.getText().toString(); intent.putExtra(EXTRA_MESSAGE, message); startActivity(intent); } }
Antisipasi Android Studio menjumpai error Cannot resolve symbol lagi. Untuk mengatasi error, tekan Alt+Enter, atau Option+Return di Mac. Anda akan mendapatkan impor berikut:
Kotlin
import androidx.appcompat.app.AppCompatActivity import android.content.Intent import android.os.Bundle import android.view.View import android.widget.EditText
Java
import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.EditText;
Error masih ada untuk DisplayMessageActivity
, tetapi itu bukan masalah. Anda dapat memperbaikinya di bagian berikutnya.
Berikut adalah apa yang terjadi di sendMessage()
:
-
Konstruktor
Intent
menggunakan dua parameter,Context
danClass
.Parameter
Context
digunakan terlebih dahulu karena classActivity
adalah subclassContext
.Parameter
Class
komponen aplikasi, yang menjadi target sistem dalam mengirimkanIntent,
, dalam hal ini adalah aktivitas yang akan dimulai. -
Metode
putExtra()
menambahkan nilaiEditText
ke intent.Intent
dapat membawa jenis data sebagai key-value pair bernama extras.Kunci Anda adalah konstanta publik
EXTRA_MESSAGE
karena aktivitas berikutnya menggunakan kunci untuk mendapatkan kembali nilai teks. Sangat disarankan untuk menentukan kunci bagi tambahan intent dengan nama paket aplikasi Anda sebagai awalan. Hal ini akan memastikan bahwa kunci tetap unik seandainya aplikasi Anda berinteraksi dengan aplikasi lain. - Metode
startActivity()
memulai instanceDisplayMessageActivity
yang ditentukan olehIntent
. Selanjutnya, Anda perlu membuat class tersebut.
Membuat aktivitas kedua
Untuk membuat aktivitas kedua, ikuti langkah berikut:
- Pada jendela Project, klik kanan folder app, lalu pilih New > Activity > Empty Activity.
- Di jendela Configure Activity, masukkan "DisplayMessageActivity" untuk Activity Name. Biarkan semua properti lain disetel ke default, lalu klik Finish.
Android Studio secara otomatis melakukan tiga hal:
- Membuat file
DisplayMessageActivity
. - Membuat file tata letak
activity_display_message.xml
, yang sesuai dengan fileDisplayMessageActivity
. - Menambahkan elemen
<activity>
yang diperlukan diAndroidManifest.xml
.
Jika Anda menjalankan aplikasi dan mengetuk tombol pada aktivitas pertama, aktivitas kedua dimulai, tetapi aktivitas kosong. Ini karena aktivitas kedua menggunakan tata letak kosong default disediakan template.
Menambahkan tampilan teks

Aktivitas baru ini berisi file tata letak kosong. Ikuti langkah-langkah berikut untuk menambahkan tampilan teks ke tempat pesan muncul:
- Buka file app > res > layout > activity_display_message.xml.
- Klik Enable Autoconnection to Parent
di toolbar. Hal ini memungkinkan Autoconnect. Lihat gambar 1.
- Pada panel Palette, klik Text, tarik TextView ke dalam tata letak, dan lepaskan di dekat bagian tengah atas tata letak agar pas dengan garis vertikal yang ditampilkan. Autoconnect menambahkan pembatas kiri dan kanan untuk meletakkan tampilan di tengah posisi horizontal.
- Buat satu pembatas lagi dari bagian atas tampilan teks ke bagian atas tata letak sehingga tampak seperti yang ditunjukkan dalam gambar 1.
Atau, Anda dapat melakukan penyesuaian pada gaya teks jika Anda memperluas textAppearance pada panel Common Attributes dari jendela Attributes, dan mengubah atribut seperti textSize dan textColor.
Menampilkan pesan
Pada langkah ini, Anda perlu mengubah aktivitas kedua untuk menampilkan pesan yang diteruskan oleh aktivitas pertama.
-
Di
DisplayMessageActivity
, tambahkan kode berikut ke metodeonCreate()
:Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_display_message) // Get the Intent that started this activity and extract the string val message = intent.getStringExtra(EXTRA_MESSAGE) // Capture the layout's TextView and set the string as its text val textView = findViewById<TextView>(R.id.textView).apply { text = message } }
Java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_message); // Get the Intent that started this activity and extract the string Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); // Capture the layout's TextView and set the string as its text TextView textView = findViewById(R.id.textView); textView.setText(message); }
-
Tekan Alt+Enter, atau Option+Return di Mac, untuk mengimpor class lain yang diperlukan:
Kotlin
import androidx.appcompat.app.AppCompatActivity import android.content.Intent import android.os.Bundle import android.widget.TextView
Java
import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView;
Menambahkan navigasi ke atas
Setiap layar pada aplikasi yang bukan merupakan titik masuk utama, yang mana semua layar bukan layar utama, harus menyediakan navigasi yang mengarahkan pengguna ke layar induk logis dalam hierarki aplikasi. Untuk melakukannya, tambahkan tombol Up di panel aplikasi.
Untuk menambahkan tombol Up, Anda perlu mendeklarasikan aktivitas mana yang merupakan induk logis dalam file AndroidManifest.xml
. Buka file di app > manifests > AndroidManifest.xml, cari tag <activity>
untuk DisplayMessageActivity
, lalu ganti dengan kode berikut:
<activity android:name=".DisplayMessageActivity" android:parentActivityName=".MainActivity"> <!-- The meta-data tag is required if you support API level 15 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity>
Sekarang, sistem Android akan otomatis menambahkan tombol Up ke panel aplikasi.
Menjalankan aplikasi
Klik Apply Changes di toolbar untuk menjalankan aplikasi. Saat terbuka, ketik pesan di kolom teks, lalu ketuk Send untuk melihat pesan yang muncul di aktivitas kedua.

Selamat, Anda berhasil membuat aplikasi Android pertama Anda!
Untuk terus mempelajari dasar-dasar tentang pengembangan aplikasi Android, kembali ke Membuat aplikasi pertama dan ikuti link lain yang disediakan di sana.
How To Create Another Activity In Android
Source: https://developer.android.com/training/basics/firstapp/starting-activity?hl=id
Posted by: najerawitand.blogspot.com
0 Response to "How To Create Another Activity In Android"
Post a Comment