Membuat Proyek Aktivitas Android
Sebagian besar kehidupan perkembangan Android Anda akan disibukkan dengan sesuatu yang disebut Aktivitas. Mereka adalah jantung dari aplikasi Android. Jadi, pertanyaannya adalah, apa itu Aktivitas?
Aktivitas adalah jendela tempat Anda menempatkan hal-hal seperti tombol, kotak teks, dan semua komponen lain yang membentuk antarmuka pengguna Anda. Pikirkan seperti kanvas kosong dan transparan di mana Anda akan melukis mahakarya Anda. Bahkan, ketika Anda menyeret kontrol ke permukaan desain di bagian sebelumnya, Anda menyeretnya ke Activity.
Aktivitas datang dalam berbagai rasa (disebut subkelas). Berikut adalah beberapa di antaranya:
FragmentActivity
ListActivity ActivityGroup
AccountAuthenticatorActivity AliasActivity
ExpandableListActivity
NativeActivity
AppCompatActivity
LauncherActivity
TabActivity
Perhatikan bahwa semua subkelas (rasa) ini diakhiri dengan kata Aktivitas.
Saat Anda membuat proyek kosong di pelajaran sebelumnya, Anda membuat aplikasi dengan satu aktivitas. Periksa baris ini dari kode:
- public int MainActivity memperluas AppCompatActivity
Jenis aktivitas yang Anda gunakan adalah AppCompatActivity. (MainActivity hanyalah nama yang diberikan untuk kelas ini. Itu bisa disebut sesuatu yang lain.) Saat menggunakan AppCompatActivity, Anda mendapatkan Aktivitas yang akan kompatibel dengan versi Android sebelumnya. Tapi itu masih kegiatan.
Berikut ini adalah daftar isi materi ini
- Proyek Kegiatan
- Penanganan Klik Tombol
- Intent Android
- File Manifes Android
- Intents - Metode putExtra
- Siklus Hidup Aktivitas
- Bundel Android
- Tampilan Kartu Android
- Pengaturan CardView
1. Aktivitas Proyek Kegiatan
Dalam tutorial ini, Anda akan membuat aplikasi dengan dua Aktivitas. Tombol pada Activity pertama akan digunakan untuk meluncurkan yang kedua. Anda kemudian akan belajar bagaimana Anda dapat kembali ke Aktivitas pertama.
Mulai proyek baru di Android Studio dengan mengklik Mengajukan dari bilah menu di bagian atas. Dari menu File, pilih New > New Project. Namun, jika Anda telah menutup semua proyek di Android Studio, Anda akan melihat layar ini:
Di sebelah kiri, adalah daftar proyek yang telah Anda buat sebelumnya. Anda dapat mengklik salah satu dari ini untuk membuka kembali proyek tersebut. Klik Mulai proyek Android Studio baru, untuk meluncurkan layar berikut:
Ketik TwoActivities sebagai nama Aplikasi. Klik berikutnya tombol di bagian bawah. Biarkan pilihan di perangkat Android Target layar pada defaultnya:
Klik Berikutnya. Saat Anda masuk ke layar berikutnya, yaitu Tambahkan Aktivitas ke Seluler, pastikan Aktivitas Kosong dipilih. Ketika Anda mengklik Berikutnya di layar ini, Anda kemudian akan melihat ini:
Pastikan bahwa Hasilkan File Tata Letak dan Kompatibilitas Mundur dipilih, lalu klik Selesai.
Mengklik Selesai akan membuat Proyek Android baru sama dengan yang sebelumnya Anda buat. Proyek ini memiliki file kelas Java yang disebut MainActivity, dan file Layout bernama activity_main. Seperti sebelumnya, file Java menunjuk ke file tata letak yang ingin Anda muat saat aplikasi dimulai:
- setContentView( R.layout.activity_main );
Pilih file activity_main di editor sehingga ditampilkan daripada file Java. Anda akan melihat layar seperti ini:
Acara Aktivitas memiliki TextView dengan teks Hello World. Anda juga dapat melihat cetak biru tata letak. Anda dapat menampilkan dan menyembunyikan cetak biru dengan mengklik ikon di toolbar:
Mengklik yang pertama dari ketiganya menyembunyikan cetak biru; mengklik yang kedua menunjukkan cetak biru, dan menyembunyikan desain putih; mengklik ikon ketiga menunjukkan cetak biru dan desain berdampingan. Klik ikon kiri untuk hanya menampilkan permukaan desain putih.
Kebetulan, Anda dapat memperbesar dan memperkecil desain Anda dengan mengklik tombol zoom di kanan atas bilah alat:
Sekarang nyalakan AutoConnect di bilah alat: (Di bagian sebelumnya, kami menonaktifkan ini.)
Ikon AutoConnect adalah ikon di sebelah kanan mata. Pastikan tidak ada garis melalui magnet kecil. Anda akan melihat keterangan muncul yang mengatakan "Matikan AutoConnect". Saat AutConnect diaktifkan, Android Studio akan menambahkan batasan yang kita butuhkan. Ia melakukan pekerjaan dewa untuk desain sederhana seperti ini.
Klik TextView Anda untuk memilihnya, dan Anda akan melihat garis-garis jaggy, yang menunjukkan bahwa batasan telah ditambahkan ke dalamnya:
Ada batasan dari bagian atas TextView ke tepi atas layar. Ada juga batasan dari kiri, kanan dan bawah TextView ke samping. Ini akan menjaga TextView di tengah.
Sekarang temukan Palette di sebelah kiri Tampilan Desain. Pilih tampilan Tombol:
Tahan tombol kiri mouse Anda pada Tampilan Tombol. Tetap tahan dan seret tombol ke permukaan desain putih Anda. Seret tombol Anda ke tepat di bawah Tampilan Teks, yang disertakan secara default saat Anda membuat proyek baru:
Lepaskan tombol kiri mouse Anda dan perancang akan terlihat seperti ini:
Perhatikan garis jaggy baru di sekitar tombol. Ini menunjukkan bahwa Anda adalah kendalanya. Karena AutoConnect diaktifkan, Android telah menebak bahwa di sinilah Anda menginginkan batasan.
Jika Anda perlu menambah atau mengurangi ukuran tombol Anda, Anda dapat menggunakan kotak gagang pengatur ukuran biru. (Tapi ini memberi Anda nilai hardcoded untuk ukurannya. Kami ingin menghindari melakukan ini karena tidak memberi Anda desain yang responsif. Desain responsif akan menyesuaikan dirinya sendiri tidak peduli berapa ukuran layarnya.)
Kita dapat mengubah teks pada tombol. Dengan tombol yang dipilih, lihat area properti di sebelah kanan:
Temukan properti teks TextView > (yang pertama). Sama seperti di bagian sebelumnya, kita ingin menggunakan nilai string dari file strings.xml. Klik tombol kecil tepat di sebelah kanan kotak teks:
Ini memunculkan kotak dialog Sumber Daya yang Anda temui di bagian sebelumnya. Di kanan atas, klik Tambahkan sumber daya baru > Nilai string baru. Untuk Nama sumber daya, ketik activity_one_button. Untuk nilai Sumber Daya, ketik Perlihatkan Aktivitas Dua:
Klik OK pada kotak dialog untuk kembali ke Android Studio. Tombol di desainer Anda kemudian akan terlihat seperti ini:
Latihan
Tambahkan nilai string baru untuk Tampilan Teks, seperti yang Anda lakukan untuk tombol. Untuk Nama sumber daya, ketik first_activity_label. Sebagai nilai Sumber Daya, ketik Aktivitas Pertama. Setelah selesai, TextView Anda akan terlihat seperti ini:Satu hal yang mungkin Anda perhatikan adalah kotak merah di kanan atas. Klik kotak merah untuk mengungkapkan peringatan:
Peringatannya adalah untuk tombol. Ini memberi tahu kita bahwa itu tidak dibatasi dengan benar di vertikal. Untuk memperbaikinya, pastikan tombol Anda dipilih. Temukan ikon Infer Constraints di toolbar desain:
Klik pada simbol plus kuning, tepat di sebelah kiri 8. Desainer Anda kemudian akan terlihat seperti ini:
Anda mungkin hanya memiliki 1 peringatan sekarang, sesuatu tentang versi usang dari pustaka kendala. Anda mungkin belum ingin meningkatkan ke perpustakaan baru, karena ini menyebabkan beberapa masalah bagi kami ketika kami mencobanya.
Oke, sekarang mari kita selesaikan beberapa pengkodean. Dalam pelajaran berikutnya, Anda akan belajar cara membuat kode untuk klik tombol Android.
2. Aktivitas Coding Untuk Klik Tombol Android
Apa yang akan kita lakukan sekarang adalah menambahkan metode ke kelas Java. Metode ini akan dipanggil ketika tombol diklik.
Buka file MainActivity.java Anda. Ketik metode berikut tepat di bawah OnCreate satu:
public void displaySecondActivity( View view ) {
}
Jendela pengkodean Anda akan terlihat seperti ini:
Perhatikan Tampilan merah di antara tanda kurung bulat displaySecondActivity. Warnanya merah karena Android perlu mengimpor beberapa kode yang mengenali apa itu View (View hanyalah hal-hal seperti tombol, TextViews, Checkbox, RadioButtons, dll). Tahan tombol ALT pada keyboard Anda. Tetap tahan lalu tekan tombol Enter. Android Studio akan mengimpor kode yang benar untuk Anda. Jika Anda melihat popup sebagai gantinya, pilih Impor Kelas dari menu:
Anda dapat melihat garis impor di bagian atas dengan memperluas simbol impor plus:
Anda kemudian akan melihat library kode mana yang telah diimpor: (Versi Android Studio yang lebih baru akan mengimpor androidx.appcompat.app.AppCompatActivity sebagai baris pertama.)
Setelah library kode android.view.View diimpor, View merah dari metode Anda akan mengubah warna yang benar. (Jika ALT + ENTER tidak berfungsi untuk Anda, cukup ketik pernyataan impor di bagian atas kode.)
Kami akan segera menambahkan kode untuk metode ini. Tapi sekarang mari kita dapatkan tombol pada tata letak Aktivitas untuk mengenali metode baru kita.
Klik kembali pada tab activity_main.xml di bagian atas desainer. Klik tombol Anda untuk memilihnya. Sekarang cari item onClick di area properti di sebelah kanan:
Atau yang ini, di versi Android Studio yang lebih baru:
Klik kotak dropdown untuk melihat daftar metode yang tersedia yang bisa Anda gunakan untuk klik tombol Anda:
Kami hanya membuat satu metode, displaySecondActivity, jadi pilihlah bahwa:
Teks pada tombol adalah Show Activity Two, dan metode yang akan dipanggil ketika tombol diklik adalah displaySecondActivity.
Sekarang Android mengenali metode onClick untuk tombol tersebut, kita akan menambahkan sesuatu yang disebut Intent ke kode. Ini akan digunakan untuk menampilkan Aktivitas kedua.
3. Aktivitas intent Android
Intent adalah objek yang bertindak sebagai semacam perantara antara kode Anda dan layar Aktivitas. Dalam kode Anda, Anda membuat objek Intent baru dan memberi tahu objek Intent mana yang dirujuk. Anda kemudian dapat meluncurkan Activity dengan memanggil metode, dengan nama Intent Anda di antara tanda kurung bulat metode.
Untuk melihat cara kerja semua ini, kembali ke kode MainActivity.java Anda. Tambahkan baris berikut di antara tanda kurung kurawal metode displaySecondActivity Anda:
Intent myIntent = New Intent(ini, SecondActivity.class);
Saat Anda menambahkan baris, Anda akan mendapatkan beberapa sorotan merah:
Tekan ALT + Enter untuk menambahkan pustaka Intent sebagai impor. (Atau cukup ketik import android.content.Intent di bagian atas jendela pengkodean, dengan semua baris impor lainnya.) Teks merah akan hilang untuk Intent, tetapi tidak untuk SecondActivity:
Alasan SecondActivity masih merah adalah karena ini adalah nama file kelas Java, dan kami belum membuat file ini. Kami akan segera melakukannya.
Namun, untuk membuat Intent, Anda mulai dengan nama Intent. Anda kemudian memerlukan nama variabel. Kami telah menyebut milik kami myIntent, tetapi Anda dapat mengubahnya menjadi hampir semua hal yang Anda suka. Setelah tanda sama dengan, Anda mengetik kata kunci baru untuk memberi tahu Android bahwa Anda ingin membuat objek baru. Setelah spasi, kami kemudian memiliki yang berikut (versi Android Studio yang lebih baru mungkin memiliki packageContext sebelum kata kunci ini):
Maksud(ini, SecondActivity.class );
Ini adalah konstruktor untuk kelas Intent. Di antara tanda kurung bulat Intent, pertama-tama Anda memerlukan sesuatu yang disebut konteks (kita akan menjelajahi konteks nanti dalam kursus). Anda dapat menggunakan kata kunci ini sebagai konteks, yang menandakan Aktivitas saat ini di aplikasi ini. Setelah koma, Anda kemudian mengetikkan nama kelas Java. Kita memiliki kelas Java yang disebut SecondActivity, yang akan kita buat sekarang.
Untuk membuat kelas SecondActivity, dan file Layout XML untuk menyertainya, klik kanan pada folder aplikasi Anda di area explorer di sebelah kiri Android Studio. Dari menu yang muncul, pilih Aktivitas > Baru > Aktivitas Kosong:
Saat Anda mengklik Aktivitas Kosong, Anda akan melihat layar ini muncul:
Anda melakukan dua hal di sini: satu adalah membuat file kelas Java, yang lain adalah membuat file tata letak XML untuk digunakan dengan file Java. Pastikan bahwa Buat File Tata Letak dipilih, dan bahwa Nama Aktivitas adalah SecondActivity. Aktivitas Peluncur harus tidak dipilih, dan Anda ingin Kompatibilitas Mundur diperiksa, jika tersedia (jangan khawatir jika tidak).
Klik Selesai saat layar Anda terlihat seperti milik kami dan Anda akan dikembalikan ke Android Studio.
File yang ditampilkan di jendela pengkodean adalah file SecondActivity.java. Tetapi klik kembali pada MainActivity.java dan Anda akan melihat bahwa sorotan merah hilang dari garis Intent.
Satu hal lagi yang dapat kita lakukan di file MainActivity adalah menambahkan baris yang memulai Activity baru. Tambahkan baris berikut di bawah Intent one Anda:
startActivity( myIntent );
Metode displaySecondActivity Anda sekarang akan terlihat seperti ini:
Jadi, jika Anda ingin memulai aktivitas baru, Anda menggunakan metode Android bawaan startActivity. Di antara tanda kurung bulat startActivity, Anda memerlukan nama Intent. Bagi kami, Intent ini disebut myIntent. Intent ini mengetahui nama file kelas Java yang akan dimuat karena kita menambahkannya di antara tanda kurung bulat objek Intent pada baris pertama.
Anda dapat menjalankan aplikasi Anda pada tahap ini, tetapi mari kita lihat file baru yang kami buat.
Lihatlah area penjelajah di sebelah kiri. Anda sekarang akan melihat dua file Java di folder Java:
Anda juga akan melihat dua file XML di folder tata letak res >:
Jika Anda perlu membuka kembali file di jendela pengkodean, Anda dapat datang ke sini, ke jendela explorer, dan klik dua kali file.
Sekarang lihat kode untuk file SecondActivity.java:
Anda dapat melihatnya hampir sama dengan file MainActivuty.java ketika kita pertama kali membuat proyek. Satu-satunya perbedaan adalah sumber daya antara tanda kurung bulat setContentView:
setContentView( R.layout.activity_second );
File tata letak XML yang terkait dengan tampilan konten ini activity_second, yang ada di folder tata letak R (folder sumber daya).
Ketika kita mengklik tombol kita pada aktivitas pertama, itu akan memanggil metode displaySecondActivity. Metode ini membuat Intent, yang kemudian digunakan dalam startActivity. Karena kami menunjuk ke file java SecondActivity dalam maksud kami, file java inilah yang akan diluncurkan. Aktivitas kedua ini memiliki metode onCreate sendiri, yang akan dipanggil secara otomatis saat SecondActivity dimuat. Metode onCreate secondactivity akan menggunakan file tata letak activity_second sebagai Tampilan Kontennya.
Sekarang klik pada file XML activity_second di editor. Pastikan Anda masih mengaktifkan AutoConnect. Seret kontrol TextView dari palet ke aktivitas kosong Anda. Layar Anda akan terlihat seperti ini:
Jika Anda mendapatkan peringatan tentang Batasan yang Hilang, klik ikon tongkat Infer Contraints di toolbar tepat di atas tata letak putih. Anda melakukan ini di pelajaran sebelumnya.
Sekali lagi, seperti pada pelajaran sebelumnya, tambahkan sumber daya string baru untuk mengubah teks pada TextView. Untuk Nama sumber daya, ketik second_activity_label. Untuk nilai Sumber Daya, ketik Aktivitas Kedua:
Klik OK dan aktivitas Anda akan terlihat seperti ini:
Sekarang jalankan aplikasi Anda dengan mengklik Jalankan > Jalankan Aplikasi dari menu di bagian atas Android Studio, atau dengan mengklik panah hijau pada bilah alat. Saat dimuat, Anda akan melihat ini di ponsel atau emulator Anda:
Klik atau tekan tombol untuk melihat peluncuran aktivitas kedua:
Namun, ada masalah: tidak ada cara untuk kembali ke aktivitas pertama dari yang kedua. Mari kita perbaiki itu.
Tutup aplikasi yang sedang berjalan dengan mengklik kotak berhenti merah di Android Studio:
Kita dapat menambahkan panah kembali ke bagian atas layar ponsel Android, di mana area biru berada. Ini cukup mudah dilakukan, tetapi kita perlu mengubah file Manifes Android. Kami akan melakukannya dalam pelajaran berikutnya di bawah ini.
4. File Manifes Android
Setiap aplikasi Android yang Anda buat memerlukan file Manifes. Anda akan menemukannya di folder manifes:
File Manifes menyediakan informasi tentang aplikasi Anda, dan dalam format XML. Antara lain, file manifes berisi nama paket Java Anda, dan mencantumkan komponen seperti Aktivitas, layanan, penyedia konten, dan banyak lagi. Jika aplikasi Anda memerlukan izin tertentu, maka izin tersebut akan dicantumkan di sini (Anda akan melihat cara menambahkan izin nanti di kursus). Singkatnya, file Manifest adalah bagian penting dari aplikasi Android Anda.
Apa yang akan kita lakukan adalah menambahkan baris ke file Manifest. Efek dari ini adalah menambahkan panah kembali ke Bilah Tindakan di bagian atas aplikasi.
Klik dua kali file AndroidManifest.xml Anda di Explorer di sebelah kiri. Ini akan membukanya di jendela pengkodean. Ini akan terlihat seperti ini di versi Android Studio sebelumnya:
Di versi yang lebih baru, baris SecondActivity akan berada di suatu tempat di tengah:
Jika Anda memeriksa kode, Anda akan melihat bahwa ada dua tag ACTIVITY. Yang pertama memiliki nama android . Aktivitas Utama. Yang kedua memiliki nama . Aktivitas Kedua. Ini yang kedua yang perlu kita ubah. Ubah menjadi ini:
<aktivitas android:name=". Aktivitas Kedua"
android:parentActivityName=". >">
</kegiatan>
Perhatikan secara khusus di mana semua tanda kurung sudut berada. Kode Anda akan terlihat seperti ini:
Atau ini:
Dengan mengatur nama aktivitas induk sebagai MainActivity, Anda akan mendapatkan panah kembali di Bilah Tindakan di bagian atas layar.
Cobalah. Jalankan aplikasi Anda lagi. Klik tombol untuk meluncurkan aktivitas kedua. Anda akan melihat ini sebagai layar kedua:
Perhatikan panah putih menunjuk ke kiri di bagian atas layar. Klik atau tekan panah dan itu akan membawa Anda kembali ke aktivitas utama.
Saat kita membahas aktivitas dan maksud, yang akan kita lakukan sekarang adalah mengirimkan beberapa informasi dari aktivitas pertama ke aktivitas kedua. Informasi ini akan ditampilkan dalam Tampilan Teks pada aktivitas kedua.
5. Menggunakan Intent untuk mengirim data ke Aktivitas lain
Anda telah melihat cara menggunakan Android Intent untuk membuat Activity baru. Tetapi mereka juga dapat digunakan untuk mengirim data ke suatu aktivitas. Mari kita lihat caranya.
Kembali ke kode MainActivity.java Anda. Di bawah baris yang menyiapkan niat Anda, tambahkan yang berikut ini:
myIntent.putExtra( "HELLO_MESSAGE", "Aktivitas pertama mengatakan Halo!");
Kode Anda akan terlihat seperti ini:
Saat Anda membuat objek Intent, Anda memiliki banyak metode yang tersedia untuk Anda. Salah satu metode ini disebut putExtra. Ini digunakan untuk menyiapkan pasangan kunci/nilai. Di antara tanda kurung bulat putExtra, Anda harus terlebih dahulu menggunakan nama kunci. Ini harus menjadi String. Kami telah menggunakan String "HELLO_MESSAGE", tetapi Anda dapat menggunakan hampir semua hal di sini: Anda dapat mengganti teks langsung yang kami miliki dengan variabel, jika Anda mau, atau bahkan mengatur konstanta di bagian atas kode Anda dan menggunakannya. Setelah koma, Anda kemudian mengetik teks yang ingin Anda gunakan sebagai nilai untuk kunci. (Sekali lagi, Anda dapat memiliki variabel di sini, jika Anda mau.
Jadi kami telah menyiapkan kunci dengan nama HELLO_MESSAGE. Di dalam kunci itu kami telah menyimpan nilai "Aktivitas pertama mengatakan Halo!". Ketika kita datang untuk mengambil nilainya, kita hanya perlu menggunakan kuncinya.
Kembali ke kode SecondActivity.java Anda. Kami akan mengambil nilai untuk kunci kami di sini. Tepat di bawah baris setContentView, tambahkan ini:
Intent secondIntent = getIntent();
Jika salah satu teks Anda berubah menjadi merah maka itu berarti Anda belum mengimpor perpustakaan yang benar. Klik pada teks merah apa pun sehingga kursor diposisikan di sana. Sekarang tahan tombol ALT pada keyboard Anda. Tetap tahan dan tekan tombol enter pada keyboard Anda. Teks merah harus hilang. Jika itu tidak berhasil, cukup tambahkan baris ini ke bagian atas kode Anda:
impor android.content.Intent;
Yang kami lakukan di sini hanyalah menggunakan metode Intent bawaan yang disebut getIntent.
Sekarang tambahkan baris ini:
Pesan string = secondIntent.getStringExtra("HELLO_MESSAGE");
Metode yang kita butuhkan sekarang disebut getStringExtra. Ini digunakan untuk mengambil pasangan kunci/nilai apa pun yang Anda siapkan. Di antara tanda kurung bulat getStringExtra, Anda memerlukan nama kunci yang Anda siapkan. Kunci kami disebut HELLO_MESSAGE. Ini cukup untuk mendapatkan nilai untuk kunci HELLO_MESSAGE. Kita kemudian menyimpan nilai ini ke dalam variabel String yang kita sebut message.
Sekarang kita telah mengambil nilai untuk kunci, kita dapat menempatkannya ke dalam Tampilan Teks pada Aktivitas kedua kita. Anda bisa terlihat seperti ini, meskipun:
Jika Anda ingin melakukan sesuatu dengan kontrol (Lihat) pada Aktivitas Anda, maka Anda perlu mendapatkan referensi untuk itu. Kita perlu mendapatkan referensi ke Tampilan Teks.
Anda mulai dengan nama kelas kontrol Anda. Untuk TextView ini hanya TextView, semuanya sebagai satu kata. Anda kemudian perlu membuat nama variabel:
TextView myTextView
Setelah tanda sama dengan, Anda kemudian menemukan tampilan dengan ID:
= findViewById();
Di antara tanda kurung bulat findViewById, Anda memerlukan ID sumber daya:
R.id.name_of_id_here
Saat Anda menyeret widget Tampilan Teks ke Aktivitas Anda, widget tersebut diberi nama default textView. Anda dapat melihatnya jika mengklik kembali tab activity_second.xml di bagian atas Android Studio. Pilih kontrol Anda dan lihat area properti di sebelah kanan:
Tepat di bagian atas area properti, Anda dapat melihat ID. Di versi Android Studio yang lebih baru, ini mungkin memiliki ID textView2. Anda dapat, jika Anda mau, mengubah ID dari textView ke sesuatu yang lain. Tapi kami akan membiarkannya apa adanya.
Ini memberi kita sebaris kode sejauh ini di versi Android Studio sebelumnya:
TextView myTextView = findViewById( R.id.textView );
Di versi yang lebih baru, Anda perlu menambahkan ID Anda di akhir:
TextView myTextView = findViewById( R.id.textView2 );
Namun, ada satu hal lagi untuk ditambahkan:
TextView myTextView = (TextView) findViewById( R.id.textView );
Atau ini, jika textView Anda memiliki ID textView2:
TextView myTextView = (TextView) findViewById( R.id.textView2 );
Setelah tanda sama dengan, ketik (TextView). Ini karena sumber daya yang Anda tunjuk hanyalah ID. Itu perlu dikonversi ke TextView. Anda melakukan ini dengan casting, itulah sebabnya kami memiliki TextView di antara sepasang tanda kurung bulat. (Anda akan membahas casting jika Anda melakukan kursus Java kami. Ini hanya hal yang sama seperti ketika Anda melemparkan nilai string ke bilangan bulat.)
Sekarang kita telah mengambil TextView pada Activity, kita dapat mengatur beberapa teks untuk itu.
Kembali ke kode SecondActivity.java Anda dan tambahkan baris ini:
myTextView.setText( pesan );
(Jika Anda mendapatkan kotak pesan yang muncul yang meminta Anda untuk mengimpor pustaka kode, katakan Ya. Jika Anda tidak mendapatkan kotak pesan, dan baris TextView Anda berwarna merah, tekan ALT + ENTER lagi untuk menambahkan pernyataan impor. Jika tidak ada yang berhasil, cukup tambahkan impor android.widget.TextView; ke bagian atas kode Anda.)
Metode bawaan setText dapat digunakan untuk mengatur beberapa teks untuk kontrol. Teks yang ingin kita atur adalah dari variabel pesan yang kita buat, teks yang menyimpan nilai dari kunci HELLO_MESSAGE kita.
Jendela pengkodean Anda akan terlihat seperti ini di versi Android Studio yang lebih lama:
Atau ini di versi yang lebih baru:
Perhatikan bahwa pemeran (TextView) berwarna abu-abu di versi Android Studio yang lebih baru. Ini memberi tahu Anda bahwa para pemain sebenarnya tidak dibutuhkan. Anda dapat menghapusnya, jika Anda mau.
Anda dapat menjalankan aplikasi Anda sekarang. Klik tombol pada Aktivitas pertama Anda. Saat Aktivitas kedua dimuat, Anda akan melihat pesan baru muncul di Tampilan Teks:
Sekarang kita akan beralih ke topik penting dalam pemrograman Android - Siklus Hidup Aktivitas.
6. Siklus Hidup Aktivitas Android
Satu hal yang perlu Anda biasakan di Android adalah bagaimana aplikasi dimulai, dijeda, dan dihancurkan, dan berbagai metode yang dapat Anda panggil untuk menangani keadaan ini. Ini semua dikenal sebagai Siklus Hidup Aktivitas. Lihatlah diagram ini:
Diagram alur ini menunjukkan kepada Anda berbagai tahap Aktivitas, dari awal hingga mati. Kotak abu-abu adalah semua metode yang bisa disebut. Misalnya, setelah aplikasi dimulai, Aktivitas Akan Diluncurkan. Metode pertama yang dipanggil adalah metode onCreate, yang merupakan metode yang telah Anda tulis kodenya.
Jika Anda menekan tombol Utama di perangkat Android, aplikasi Anda tidak akan hancur. Metode onPause dan onStop dipanggil, dan aplikasi beralih ke mode tidur; itu ada di latar belakang, jika Anda menginginkannya lagi. Jika Anda mengetuk ikon aplikasi untuk memulai ulang, maka metode onRestart dipanggil, diikuti oleh metode onStart dan onResume. Aktivitas kemudian Berjalan lagi.
Namun, jika Anda menekan tombol Kembali pada saran Android maka Anda memberi tahu Android bahwa Anda tidak menginginkan Aktivitas ini lagi. Dalam hal ini, aman untuk menghancurkannya. Jadi metode yang disebut adalah onPause, onStop dan onDestroy.
Mari kita berlatih dengan Siklus Hidup Aktivitas. Anda akan melihat apa yang terjadi saat perangkat diputar.
Apa yang akan kita lakukan adalah menambah variabel ketika tombol diklik. Nilai variabel ini kemudian akan ditampilkan dalam Tampilan Teks. Kita kemudian akan melihat apa yang terjadi ketika perangkat Android diputar.
Dalam proyek yang Anda buat di bagian sebelumnya, kembali ke file activity_main.xml Anda. Klik pada Tampilan Teks Aktivitas Pertama Anda untuk menyorotnya. Dengan Tampilan Teks disorot, lihat area properti di sebelah kanan. Temukan properti ID dan ketik mainLabel. Kemudian tekan tombol enter pada keyboard Anda:
Saat Anda telah mengetik mainLabel, tekan tombol Enter pada keyboard Anda. Anda mungkin melihat pesan seperti ini:
Klik Ya pada pesan untuk mengganti nama TextView Anda. Ini kemudian menetapkan ID Tampilan Teks ke nilai baru. Kami akan membutuhkan referensi ke mainLabel ini segera.
Sekarang kembali ke kode MainActivity.java Anda. Siapkan variabel Integer di bagian atas kode, tepat di bawah bagian kelas publik, dan di atas kekosongan yang dilindungi onCreate.
int pribadi someScore = 0;
Kita akan menambah variabel ini ketika tombol diklik.
Di tombol displaySecondActivity Anda, beri komentar pada kode yang Anda miliki. (Dua garis miring ke depan sebelum setiap baris, ingat.) Jendela kode Anda akan terlihat seperti ini:
Sebagai baris pertama kode untuk tombol displaySecondActivity, tambahkan ini:
someScore++;
Ini hanya meningkatkan variabel someScore.
Selanjutnya, kita memerlukan referensi ke Tampilan Teks itu, yang memiliki ID mainLabel. Tambahkan baris ini di bawah yang Anda miliki untuk displaySecondActivity:
TextView myTextView = (TextView) findViewById( R.id.mainLabel );
Ini memberi kita referensi ke tampilan teks, seperti yang kita lakukan sebelumnya.
Sekarang kita dapat mengatur teks baru untuk Tampilan Teks:
myTextView.setText( String.format("%s", someScore) );
Karena someScore adalah Bilangan Bulat, kita perlu mengubahnya menjadi string.
(Saran Google untuk sistem operasi Android-nya adalah menggunakan String.format untuk mengonversi bilangan bulat Anda menjadi string, daripada sesuatu seperti Integer.toString(someScore).
Kode displaySecondActivity Anda sekarang akan terlihat seperti ini:
Anda dapat mencobanya, sekarang. Jalankan aplikasi Anda dan itu akan dimulai dalam tampilan potret. Klik tombol beberapa kali dan label akan menampilkan berapa kali Anda telah mengklik tombol:
Pada gambar di atas, Tampilan Teks di bagian bawah menunjukkan bahwa kita telah mengklik tombol 5 kali.
Sekarang putar perangkat Anda. Jika Anda menggunakan Emulator, klik ikon keempat ke bawah dari yang ada di sebelah kanan. Anda akan melihat ini:
Angka 5 dari Text View telah menghilang! Sebagai gantinya, Aktivitas Pertama kembali ke Tampilan Teks. Sekarang klik tombolnya lagi. Anda akan melihat ini:
Ini kembali ke awal, dan mengatakan kami hanya mengklik tombol sekali. Tampilan Teks harus memiliki 6 di dalamnya, 5 dari sebelum diputar dan sekali dari setelahnya. Jadi apa yang terjadi?
Saat Anda memutar perangkat, Android memanggil metode onPause, onStop, lalu onDestroy. Kegiatan kemudian ditutup. Aktivitas dalam tampilan lanskap kemudian diluncurkan, bersama dengan metode onCreate lagi. Variabel yang disebut someScore diatur ulang ke nol. Itulah sebabnya klik tombol memberi Anda 1 dan bukan 6.
Android menghancurkan Aktivitas saat layar diputar karena sesuatu yang disebut Konfigurasi Perangkat. Tidak mengherankan, Konfigurasi Perangkat mengacu pada berbagai cara Anda mengonfigurasi ponsel atau tablet. Hal-hal seperti ukuran layar, kepadatan layar, tata letak keyboard, dll. Jika Android perlu mengambil tata letak baru untuk sesuatu, android cenderung menghancurkan Aktivitas yang sudah dimuat.
Lalu, apa yang dapat Anda lakukan untuk menyelesaikan ini? Menghapus data setiap kali perangkat diputar bisa menjadi sakit kepala besar. Apalagi jika itu adalah skor tertinggi seseorang yang pernah ada! Anda akan melihat cara memecahkan masalah di pelajaran berikutnya saat kami menangani bundel.
7. Bundel Android
Salah satu cara untuk menyimpan data saat Activity dihancurkan adalah melalui Bundle. Ini sama seperti Intent yang Anda gunakan sebelumnya, karena menyimpan data dalam pasangan kunci/nilai. Mari kita atur cara kerja bundel.
Lihat metode onCreate lagi. Baris pertama dari metode ini adalah ini:
kekosongan yang dilindungi onCreate (Bundel savedInstanceState)
Bagian Bundel adalah tipe, sama seperti Int atau String adalah tipe. Tetapi jenis ini menangani kunci dan nilai-nilainya. Bagian savedInstanceState hanyalah nama variabel.
Anda dapat memanggil berbagai metode pada nama Bundel Anda. Salah satu metode ini adalah putInt. Lainnya adalah putString. Metode ini digunakan untuk memasukkan data ke dalam pasangan kunci/nilai. Kami ingin menyimpan nilai bilangan bulat, sehingga kami dapat menggunakan ini:
saveInstanceState.putInt( "HIGH_SCORE", someScore );
Nama kunci yang kami buat adalah HIGH_SCORE. Nilai untuk kunci ini adalah apa pun yang ada di dalam variabel yang disebut someScore.
Sebelum Aktivitas kami dihancurkan saat layar diputar, Android memungkinkan Anda untuk mengganti metode yang disebut onSaveInstanceState. Ini menerima Bundel sebagai parameter.
Tepat di bawah metode displaySecondActivity Anda, tambahkan yang berikut ini:
@override
kekosongan publik onSaveInstanceState(Bundel mySavedInstanceState ) {
super.onSave( mySavedInstanceState );
mySavedInstanceState.putInt( "HIGH_SCORE", someScore );
}
Kode Anda akan terlihat seperti ini:
Kami telah memberi Bundel kami nama mySavedInstanceState. Ini kemudian digunakan untuk membuat pasangan kunci/nilai. Jika Android menghancurkan Aktivitas ini, maka metode onSaveInstanceState dipanggil. Baris pertama adalah panggilan ke kelas super, yang harus selalu Anda lakukan saat Mengganti metode. Kami kemudian memasukkan bilangan bulat kami ke dalam kunci yang disebut HIGH_SCORE.
Kami belum selesai. Kami memastikan untuk menyimpan data saat Aktivitas dihancurkan. Tapi kami tidak mendapatkan data kembali ke mana pun. Kita dapat melakukannya dalam metode onCreate.
Saat aplikasi pertama kali dibuat, variabel savedInstanceState antara tanda kurung bulat onCreate akan menjadi nol. Hanya saja tidak null ketika kita mulai menambahkan sesuatu ke objek Bundle. Kita dapat menguji keadaan nol ini. Tambahkan ini kepada Anda metode onCreate, tepat sebelum braket keriting terakhir:
if ( savedInstanceState != null ) {
someScore = savedInstanceState.getInt( HIGH_SCORE, 0 );
}
Metode onCreate Anda akan terlihat seperti ini:
Di sebelah kiri tanda sama dengan, kami memiliki variabel someScore kami. Di sebelah kanan, kami memanggil metode pada Bundel yang memiliki nama savedInstanceState. Metode ini adalah getInt. Ini digunakan untuk mendapatkan nilai bilangan bulat dari Bundel. Jika Anda telah menyimpan nilai string maka Anda akan menggunakan getString. Di antara tanda kurung bulat getInt, kami memiliki nama kunci yang kami siapkan, yang HIGH_SCORE. Setelah koma, Anda dapat mengetikkan nilai default, untuk berjaga-jaga jika terjadi kesalahan. Jika ya, maka variabel someScore akan mendapatkan nol yang disimpan di dalamnya. Jika semuanya baik-baik saja, maka getInt akan mengambil nilai yang terkait dengan kunci HIGH_SCORE.
Cobalah. Jalankan aplikasi Anda lagi. Klik tombol beberapa kali dan kemudian putar perangkat Anda. Klik tombol lagi dan Anda akan menemukan bahwa nilai dalam Tampilan Teks bertambah dengan benar, dan tidak mengatur ulang ke nol.
Latihan
Anda juga harus menemukan bahwa Tampilan Teks masih mengatakan Aktivitas Pertama setiap kali perangkat diputar. Anda mungkin ingin nilai angka ditampilkan dalam Tampilan Teks setiap saat. Bisakah Anda memikirkan cara untuk memperbaikinya?,
8.Tampilan Kartu Android
CATATAN: Tutorial ini untuk versi Android Studio yang lebih baru.
Di Android, CardView adalah wadah khusus yang memungkinkan Anda memiliki semacam layar popup dengan sudut membulat dan bayangan jatuh untuk menciptakan ilusi kedalaman. Dalam pelajaran ini, kita akan membuat kartu popup ketika tombol diketuk. Kartu akan memiliki gambar dan beberapa teks di bawahnya. Kami akan menggunakan proyek dari pelajaran sebelumnya untuk ini.
Seret tombol lain di bawah tombol Tampilkan Aktivitas Dua. Anda dapat menambahkan batasan, seperti yang Anda lakukan untuk tombol pertama. Untuk teks, ketik Tampilkan CardView. Sekarang buka file MainActivity.java Anda lagi. Tambahkan metode berikut di bawah metode displaySecondActivity Anda:
public void displayThirdActivity(View view) {
}
Kita akan memulai aktivitas lain, jadi kita membutuhkan Niat. Tambahkan baris ini ke metode baru Anda:
Intent cardIntent = Intent baru (ini, CardViewActivity.class);
Satu-satunya baris lain yang kita butuhkan adalah garis yang memulai suatu kegiatan. Tambahkan ini:
startActivity(cardIntent);
Anda akan mendapatkan sorotan merah untuk CardViewActivity. Ini karena CardViewActivity adalah kelas yang belum kita buat. Tetapi kode Anda akan terlihat seperti ini:
Kita sekarang dapat membuat kelas CardViewActivity dan file XML-nya. Sama seperti yang Anda lakukan di pelajaran sebelumnya, klik kanan folder java di area proyek di sebelah kiri. Pilih Aktivitas > Baru > Aktivitas Kosong dari menu yang muncul. Dalam kotak dialog Konfigurasi Aktivitas, ketik CardViewActivity sebagai Nama Aktivitas. Klik Selesai. Anda harus memiliki file Java baru di area proyek Anda, bersama dengan file XML di folder tata letak res > Anda yang disebut activity_card_view.xml:
Tepat sebelum kita melanjutkan ke desain file XML, kembali ke file activity_main.xml Anda. Dalam tampilan Desain, klik tombol Tampilkan Tampilan Kartu Anda untuk menyorotnya. Di bagian Atribut Umum di sebelah kanan, cari atribut onClick. Dari daftar dropdown, pilih metode yang baru saja Anda buat, displayThirdActivity:
Sekarang mari kita rancang tata letak untuk kegiatan ini.
Klik dua kali activity_card_view.xml untuk membukanya. Pastikan Anda berada dalam tampilan Desain dan bukan tampilan Teks. Di bagian Kontainer di Palet, temukan item CardView:
Seret satu ke kanvas putih Anda di tengah. Klik tongkat di toolbar untuk menambahkan batasan:
CardView adalah kontainer yang menyimpan tampilan lain, seperti gambar dan kotak teks. Anda biasanya menempatkan gambar-gambar ini di Linear Layouts. Untuk melihat apa artinya ini, seret Linear Layout vertikal dari bagian Layout dari Palette ke CardView di Component Tree:
Sekarang mari kita dapatkan gambar untuk ImageView. Klik kanan gambar berikut dan simpan ke komputer Anda:
Buka jendela explorer dan navigasikan ke tempat di komputer Anda, Anda menyimpan gambar di atas. Tekan CTRL + C untuk menyalin gambar. Di Android Studio, klik folder res > drawable Anda di project explorer di sebelah kiri. Tekan CTRL + V untuk menempelkan gambar Anda. Anda akan melihat kotak dialog ini muncul:
Klik OK untuk melihat kotak dialog lain. Yang ini:
Klik OK dan gambar akan muncul di folder drawable Anda:
Kembali ke Palet Anda, klik pada kategori Umum (atau Widget) dan cari ImageView. Seret ImageView ke Layout Anda di Component Tree:
Segera setelah Anda melepaskan tombol kiri mouse, Anda akan melihat kotak dialog Sumber Daya muncul:
Gambar yang Anda tempelkan ke folder drawable harus berada di bawah kategori Project. Klik untuk memilihnya dan klik OK. Anda kemudian akan melihat gambar muncul di kanvas putih Anda. Pohon Komponen Anda akan terlihat seperti ini: (Jangan khawatir tentang peringatannya. Dan ImageView Anda mungkin tidak akan memiliki 2 di bagian akhir.)
Kita dapat menambahkan Linear Layout lain untuk menahan kotak teks.
Seret Linear Layout kedua ke Pohon Komponen Anda. Seret tepat di bawah Tampilan Gambar. Di Palet, klik pada kategori Teks (atau yang Umum). Seret TextView ke Linear Layout kedua Anda:
Ulangi proses ini dan seret Tampilan Teks kedua tepat di bawah yang pertama. Pohon Komponen Anda kemudian akan terlihat seperti ini:
Tata letak Anda sendiri kemudian akan terlihat seperti ini:
Klik pada TextView pertama Anda untuk memilihnya. Sebagai teks, tambahkan London Bridge.
Klik pada TextView kedua untuk memilihnya. Salin dan tempel teks berikut sebagai sumber daya string:
Ini adalah Tower Bridge di London. Banyak orang bingung dengan London Bridge, yang bukan satu jembatan tetapi mengacu pada jembatan berbeda yang telah membentang di sungai Thames antara Kota London dan Southwark (diucapkan SU-thark).
Jembatan London tua yang berdiri selama lebih dari 600 tahun ditarik ke bawah pada abad ke-19 dan diganti dengan jembatan yang jauh lebih modern yang dirancang oleh John Rennie. Jembatan ini kemudian dijual kepada Robert McCulloch, yang mengirimkannya ke Arizona di mana ia masih berdiri.
Anda dapat memformat teks sesuai keinginan Anda. Coba atribut textSize dan textStyle, di bawah bagian Common Attributes.
Jika Anda menginginkan beberapa spasi di antara setiap tampilan, temukan dan perluas atribut layoutMargin. Anda dapat mengatur layout_marginBottom ke sesuatu seperti 8dp untuk ImageView. Tata letak Anda akan terlihat seperti ini:
Sekarang mari kita lakukan sesuatu dengan CardView itu sendiri. Kami akan melakukannya dalam pelajaran berikutnya di bawah ini.
9. Tata Letak Tampilan Kartu Android
Kami menambahkan ImageView dan dua TextViews ke tata letak. Dalam pelajaran ini, kita akan melakukan sesuatu dengan CardView itu sendiri.
Pilih CardView Anda di Pohon Komponen. Anda dapat melihat bahwa ada terlalu banyak ruang di bagian atas di atas kita:
Di area Atribut di sebelah kanan, perluas bagian Tata Letak. Kendala teratas adalah 279:
Anda dapat mengubah ini menjadi sesuatu yang lebih kecil. Juga, ubah batasan kiri dan kanan menjadi sesuatu selain 1. Pada gambar di bawah ini, kita telah pergi untuk 24:
Segera, kita akan memperluas bagian Atribut Umum dan bermain-main dengan nilai-nilai ini. Untuk saat ini, Anda dapat mencobanya. Jalankan aplikasi Anda. Klik tombol Tampilkan Tampilan Kartu Anda. Anda akan melihat ini di emulator:
Perhatikan sudut bulat kartu, dan drop shadow.
Sekarang hentikan aplikasi agar tidak berjalan. Dengan cardview anda pilih, kembali ke Common Attributes yang baru saja kami sebutkan. Bermain bulat dengan kartuBackgroundColor, cardCornerRadius, dan cardElevation. Inilah milik kami dengan beberapa pengaturan yang diubah:
Indentasi untuk teks dilakukan dengan memilih TextView di Pohon Komponen dan menyesuaikan atribut layout_margin.
Tapi itu saja untuk CardView. Mereka berguna ketika Anda ingin menampilkan informasi. Anda dapat menambahkan kontrol lain ke dalamnya, seperti tombol, misalnya. Tombol-tombol tersebut dapat membawa Anda ke situs web untuk informasi lebih lanjut.
Namun, kita akan melanjutkan, dan melihat lebih dekat pada berbagai widget yang dapat Anda tambahkan ke tata letak.
Demikian materi Membuat Proyek Aktivitas Android kali ini terimakasih telah membacanya.