Skip to content

Most visited

Recently visited

navigation

Memulai Activity Lain

Setelah menyelesaikan pelajaran sebelumnya, Anda memiliki aplikasi yang menampilkan activity (satu layar) dengan satu kolom teks dan satu tombol. Dalam pelajaran ini, Anda akan menambahkan beberapa kode ke MainActivity yang memulai activity baru untuk menampilkan pesan saat pengguna menge-tap Send.

Catatan: Pelajaran ini merekomendasikan Anda untuk menggunakan Android Studio 3.0.

Merespons tombol send

Tambahkan sebuah metode di MainActivity.java yang dipanggil oleh tombol dengan cara berikut:

  1. Di file app > java > com.example.myfirstapp > MainActivity.java, tambahkan stub metode sendMessage() seperti yang ditunjukkan di bawah ini:
    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 melihat error karena Android Studio tidak bisa menyelesaikan kelas View yang digunakan sebagai argumen metode. Klik untuk menempatkan kursor Anda pada deklarasi View, kemudian lakukan Quick Fix dengan menekan Alt + Enter (atau Option + Enter pada Mac). (Bila muncul menu, pilih Import class.)

  2. Sekarang kembali ke file activity_main.xml untuk memanggil metode ini dari tombol:
    1. Klik untuk memilih tombol di Layout Editor.
    2. Di jendela Attributes, cari properti onClick dan pilih sendMessage [MainActivity] dari menu drop-down.

Sekarang saat tombol di-tap, sistem akan memanggil metode sendMessage().

Perhatikan detail yang diperlukan dalam metode ini agar sistem bisa mengenalinya sesuai dengan atribut android:onClick. Secara khusus, metode ini harus mendeklarasikan hal berikut:

Berikutnya, Anda perlu mengisi metode ini untuk membaca konten kolom teks dan mengirimkan teks itu ke activity lain.

Membangun Intent

Intent adalah objek yang menyediakan waktu proses yang mengikat komponen-komponen terpisah, misalnya dua activity. Intent menyatakan "intent untuk melakukan sesuatu" dari aplikasi. Anda bisa menggunakan intent untuk berbagai jenis tugas, tetapi dalam pelajaran ini, intent Anda akan memulai activity lain.

Di MainActivity.java, tambahkan konstanta EXTRA_MESSAGE dan kode sendMessage(), seperti yang ditunjukkan di sini:

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);
    }
}

Android Studio akan kembali menjumpai error Cannot resolve symbol, jadi tekan Alt + Enter (atau Option + Return pada Mac). Impor Anda akan terlihat seperti berikut:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

Error tetap terjadi untuk DisplayMessageActivity, tetapi itu bukan masalah; Anda akan memperbaikinya di bagian berikutnya.

Inilah yang terjadi di sendMessage():

Membuat activity kedua

  1. Di jendela Project, klik kanan folder app dan pilih New > Activity > Empty Activity.
  2. Di jendela Configure Activity, masukkan "DisplayMessageActivity" untuk Activity Name dan klik Finish (biarkan semua properti lain disetel ke default).

Android Studio secara otomatis melakukan tiga hal:

Jika Anda menjalankan aplikasi dan menge-tap tombol pada activity pertama, activity kedua akan dimulai tetapi kosong. Hal ini karena activity kedua menggunakan layout kosong yang disediakan oleh template.

Menambahkan tampilan teks

Gambar 1. Tampilan teks yang ditempatkan di tengah bagian atas layout

Activity baru ini berisi file layout kosong, jadi sekarang Anda perlu menambahkan tampilan teks tempat pesan akan muncul.

  1. Buka file app > res > layout > activity_display_message.xml.
  2. Klik Turn On Autoconnect di toolbar (itu akan segera diaktifkan, seperti yang ditunjukkan pada gambar 1).
  3. Di jendela Pallete, klik Text kemudian seret TextView ke dalam layout—lepaskan di dekat bagian atas layout, di dekat posisi tengah sehingga menempel pada garis vertikal yang muncul. Autoconnect menambahkan pembatas kiri dan kanan untuk menempatkan tampilan di tengah-tengah posisi horizontal.
  4. Buat satu pembatas lagi dari bagian atas tampilan teks ke bagian atas layout, sehingga tampak seperti yang ditunjukkan pada gambar 1.

Opsional, buat beberapa penyesuaian pada gaya teks dengan memperluas textAppearance di jendela Attributes dan mengubah atribut seperti textSize dan textColor.

Menampilkan pesan

Sekarang Anda akan memodifikasi activity kedua untuk menampilkan pesan yang diteruskan oleh activity pertama.

  1. Di DisplayMessageActivity.java, tambahkan kode berikut ke metode onCreate():
    @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);
    }
  2. Tekan Alt + Enter (atau Option + Return di Mac) untuk mengimpor kelas yang tidak ada. Impor Anda akan terlihat seperti berikut:
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.TextView;
    

Menambahkan navigasi naik

Setiap layar di aplikasi Anda yang bukan pintu masuk utama (semua layar yang bukan layar "utama") harus menyediakan navigasi sehingga pengguna bisa kembali ke layar induk logis sebelumnya dalam hierarki aplikasi dengan menge-tap tombol Up di bilah aplikasi.

Yang perlu Anda lakukan adalah mendeklarasikan activity yang akan menjadi induk logis di file AndroidManifest.xml. Jadi buka file app > manifests > AndroidManifest.xml, cari tag <activity> untuk DisplayMessageActivity dan 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 secara otomatis menambahkan tombol Up di bilah aplikasi.

Menjalankan aplikasi

Sekarang jalankan kembali aplikasi dengan mengklik Apply Changes di toolbar. Ketika terbuka, ketik pesan di kolom teks, dan tap Send untuk memunculkan pesan dalam activity kedua.

Gambar 2. Screenshot dari kedua activity

Selamat, Anda sudah membuat aplikasi Android pertama Anda!

Untuk meneruskan pembelajaran dasar-dasar development aplikasi Android, ikuti link di bawah ini untuk menuju kelas berikutnya.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Ikuti Google Developers di WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)