Sunday, May 20, 2018

Memulai Activity Lain

Title : Memulai Activity Lain » Publish By : PAI - Portal Android Indonesia (Admin: Deris_07) » Rating : 95,9 Out of 100

Posts Terkait : Memulai Activity Lain

PAI - Portal Android Indonesia - 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.

Memulai Activity Lain

Memulai Activity Lain
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 :
    • Klik untuk memilih tombol di Layout Editor.
    • 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 :
  • Akses publik
  • Nilai pengembalian void
  • Sebuah View sebagai satu-satunya parameter (ini adalah objek View yang diklik)
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. dan Inilah yang terjadi di sendMessage():
  1. Konstruktor Intent membutuhkan dua parameter :
    • Context sebagai parameter pertama (this digunakan karena kelas Activity merupakan subkelas dari Context)
    • Class komponen aplikasi yang menjadi target sistem dalam mengirimkan Intent (dalam hal ini, activity yang harus dimulai).
  2. Metode putExtra() menambahkan nilai EditText ke intent. Sebuah Intent bisa membawa tipe data sebagai pasangan nilai-kunci bernama extras. Kunci Anda adalah konstanta publik EXTRA_MESSAGE karena activity berikutnya menggunakan kunci untuk mendapatkan kembali nilai teks. Cara terbaik mendefinisikan kunci untuk ekstra intent adalah menggunakan nama paket aplikasi Anda sebagai awalan. Ini akan memastikan kunci itu unik, seandainya aplikasi Anda berinteraksi dengan aplikasi lain.
  3. Metode startActivity() memulai instance DisplayMessageActivity yang ditetapkan oleh Intent. Sekarang Anda perlu membuat kelas tersebut.

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 :
  • Membuat file DisplayMessageActivity.java.
  • Membuat file layout activity_display_message.xml yang sesuai.
  • Menambahkan elemen <activity> yang diperlukan di AndroidManifest.xml.
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

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.
Memulai Activity Lain
Gambar 1. Tampilan teks yang ditempatkan di tengah bagian atas layout

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.

Memulai Activity Lain
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.

Share on Facebook
Share on Twitter

Admin PAI : Deris_07

Terimakasih sudah meluangkan waktunya untuk Berkunjung ke PAI - Portal Android Indonesia blog yang membahas seputar android, aplikasi dan tutorial lainnya yang bersangkutan dengan android, semoga dengan adanya artikel tentang Memulai Activity Lain ini dapat membantu menyelesaikan permasalahan anda semua..

Dan terimakasih sudah membaca artikel kami kali ini, mengenai Memulai Activity Lain.. semoga artikel tersebut dapat bermanfaat, dan jangan lupa berikan tanggapanmu, mengenai Memulai Activity Lain ini..
Selamat Berkunjung Kembali...
1 / 3
Bank Neo Commerce ( BNC )
2 / 3
E-Wallet DANA (Top up Dana)
3 / 3
PayPal (Top up PayPal)