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: - 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 antar komponen terpisah, seperti dua aktivitas. Intent
merepresentasikan intent untuk melakukan sesuatu pada aplikasi. Anda bisa menggunakan intent untuk berbagai tugas, tetapi dalam tutorial ini, intent Anda akan memulai aktivitas lain.
Dalam MainActivity
, tambahkan konstanta EXTRA_MESSAGE
dan kode sendMessage()
, seperti yang ditunjukkan 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.editText) 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.editText); String message = editText.getText().toString(); intent.putExtra(EXTRA_MESSAGE, message); startActivity(intent); } }
Antisipasi Android Studio menjumpai error Cannot resolve symbol lagi. Untuk mengatasi error ini, tekan Alt+Enter, atau Option+Return pada 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 subclass dariContext
.Parameter
Class
komponen aplikasi, yang menjadi target sistem dalam mengirimkanIntent,
, dalam hal ini, merupakan 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.
- Pada jendela Configure Activity, masukkan "DisplayMessageActivity" untuk Activity Name. Biarkan semua properti lain disetel ke default, lalu klik Finish.
Android Studio 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 menjalankan aplikasi dan mengetuk tombol pada aktivitas pertama, aktivitas kedua akan dimulai, tetapi kosong. Hal ini dikarenakan aktivitas kedua menggunakan tata letak kosong yang disediakan oleh 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
pada toolbar. Tindakan ini memungkinkan Autoconnect. Lihat gambar 1.
- Pada panel Palette, klik Text, lalu 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.
Secara opsional, Anda bisa melakukan penyesuaian pada gaya teks jika Anda memperluas textAppearance pada panel Common Attributes 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 pada 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 pada panel aplikasi.
Untuk menambahkan tombol Up, Anda perlu mendeklarasikan aktivitas mana yang merupakan induk logis dalam file AndroidManifest.xml
.
Buka file pada 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 pada 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.