Kode Java Sederhana Android
Daftar Isi
- Aplikasi Daftar Sederhana Android
- Kode Java Daftar Sederhana
- Pengkodean untuk Pilihan ListView
1. Aplikasi Daftar Sederhana Android
Di bagian ini, kita akan membahas Daftar Android. Anda pasti pernah melihat aplikasi yang menggunakan tampilan daftar. Mereka terlihat seperti ini:
Jika ada terlalu banyak item dalam daftar, Anda dapat menggulir ke bawah untuk melihat lebih banyak.
Saat Anda memilih item dalam daftar, Anda biasanya masuk ke Aktivitas baru. Pada gambar di bawah ini, kami telah memilih Ruby on Rails dari daftar kursus pemrograman sebelumnya:
Mari kita mulai dalam membuat daftar sederhana yang masuk ke layar kedua ketika item daftar dipilih.
Mulai proyek baru untuk ini. Ketik Simple List sebagai nama aplikasi, dan Empty Activity sebagai template. Saat proyek Anda dimuat, klik pada tab activity_main.xml. Pastikan Anda berada dalam tampilan Desain dan bukan tampilan Teks. Klik pada TextView "Hello World" default dan tekan tombol delete pada keyboard Anda untuk menghilangkannya. Di android studio versi lebih lama, perluas item Kontainer di Palet dan temukan ListView:
ListView di versi Android Studio yang lebih baru berada di bawah item Legacy di palet Anda. (RecyclerView, yang berada di bawah Containers, adalah versi ListView yang lebih modern. Ini cukup rumit untuk digunakan, jadi kami akan tetap menggunakan ListView untuk contoh daftar sederhana ini.)
Seret satu ke Aktivitas kosong Anda (atau ke Pohon Komponen). Seharusnya terlihat seperti ini:
Seperti yang Anda lihat, ini adalah wadah kosong. Ini akan diisi dengan item daftar Anda saat aplikasi Anda aktif dan berjalan.
Untuk menambahkan batasan, pastikan ListView Anda dipilih. Sekarang klik ikon Infer Constraints di toolbar:
Lihatlah area properti di sebelah kanan dan akan terlihat seperti ini di versi Android Studio sebelumnya:
Di Android Studio versi yang lebih baru, perluas kategori Tata Letak:
Di properti ID di bagian atas, ketik myListView. Kita akan membutuhkan ID ini dalam kode kita:
Jika Anda melihat tata letak Anda, itu mungkin telah berubah menjadi ini di versi Android Studio sebelumnya (jangan khawatir jika belum):
Ini adalah tempat penampung default untuk TextView dan sub TextView. Kita akan mengganti Item 1, Item2, Item 3, dll, dengan judul kita sendiri. (Kita akan menggunakan sub tampilan di bagian berikutnya, dan menambahkan gambar di sebelah kiri TextViews.)
Hanya itu yang kita butuhkan untuk desain tata letak. Kita bisa menyelesaikan beberapa pengkodean sekarang.
2. Daftar Sederhana Android - Kode Java
Buka file MainActivity.java Anda. Kita akan mengatur beberapa variabel terlebih dahulu.
Tepat setelah MainActivity kelas publik dan sebelum metode onCreate, tambahkan dua variabel ini:
ListView theListView;
Maksud myIntent;
Jika Anda mendapatkan teks merah, tekan ALT + ENTER untuk menambahkan pustaka yang benar. Atau tambahkan dua pernyataan impor ini di bagian atas kode Anda:
impor android.content.Intent;
impor android.widget.ListView;
Jendela kode Anda kemudian akan terlihat seperti ini:
(Alasan kami mengatur kedua variabel ini di bagian atas adalah karena mereka perlu dilihat di luar metode onCreate sedikit kemudian.)
Hal berikutnya yang dapat kita lakukan adalah mendapatkan referensi ke ListView kita tentang Activity. Tambahkan baris berikut ke metode onCreate, tepat di bawah setContentView:
theListView = (ListView) findViewById(R.id.myListView);
Seperti biasa, kita menggunakan findViewById untuk mendapatkan referensi ke tampilan pada layout. ID kali ini adalah myListView, yang kami ganti namanya menjadi ListView kami.
Selanjutnya, kita dapat mengatur array String. Array akan digunakan untuk mengisi ListView.
Tambahkan baris ini di bawah yang sebelumnya:
String[ ] myData = {"Visual Basic .NET", "Java", "Android", "C# .NET", "PHP", "C++", "Scala", "Ruby on Rails", "Javascript", "HTML", "Python", "Swift"};
Ini menyiapkan array String dengan nama myData. Anda dapat mengubah item dalam array menjadi apa pun yang Anda suka. Tetapi setiap item akan digunakan untuk mengisi tempat di ListView saat aplikasi dimulai. Jadi Visual Basic .NET akan berada di bagian atas daftar, Java akan berada di urutan kedua, diikuti oleh Android, dll.
Kode Anda sejauh ini akan terlihat seperti ini:
Sekarang kita memiliki referensi ke ListView dan telah menyiapkan array untuk daftar, hal berikutnya yang harus dilakukan adalah mengatur sesuatu yang disebut ArrayAdapter.
ArrayAdapter bertindak sebagai semacam asisten untuk membantu Activity, ListView, dan data bekerja sama satu sama lain. Mereka bisa sedikit canggung untuk diatur. Mereka terlihat seperti ini:
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>( PARAMETERS_HERE );
Anda mulai dengan kata ArrayAdapter. Di antara tanda kurung runcing, Anda memerlukan jenis data yang masuk ke adaptor, String dalam kasus kami. Anda kemudian mengetikkan nama variabel untuk ArrayAdapter Anda. Kami telah menyebut milik kami myAdapter. Setelah tanda sama dengan, kita kemudian memiliki ini:
baru ArrayAdapter<String>( PARAMETERS_HERE )
Kami mencoba membuat objek ArrayAdapter baru di sini. Setelah ArrayAdapter<String> muncul sepasang tanda kurung bulat:
ArrayAdapter<String>( )
Tanda kurung bulat adalah untuk konstruktor kelas (ada enam konstruktor secara keseluruhan). Di antara tanda kurung bulat, Anda dapat memilih dari hingga hingga dari hingga empat parameter berbeda. Kami hanya perlu tiga:
Daftar Sumber Daya
Konteks
Sumber Daya satu adalah tata letak. Kita tidak perlu membuat tata letak ini sendiri karena ada tata letak bawaan yang dapat kita gunakan.
Jadi, tambahkan baris ini ke kode Anda:
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>( ini, android. R.layout.simple_list_item_1, myData );
Kata kunci ini berarti konteks khusus ini (Aktivitas). Setelah koma, kami memiliki ini:
Android. R.layout.simple_list_item_1
Saat Anda mengetik titik setelah android. R.layout, Anda akan melihat daftar ini muncul:
Seperti yang Anda lihat, ada cukup banyak item untuk dipilih. Yang kita inginkan disebut simple_list_item_1. Ini memberi Anda satu TextView untuk setiap item dalam daftar Anda.
Setelah koma terakhir, kita memiliki nama array String, yaitu myData:
ArrayAdapter<String>( ini, android. R.layout.simple_list_item_1, myData );
Kode Anda akan terlihat seperti ini (kami telah menyebarkan ArrayAdapter kami melalui dua baris):
Satu baris lagi untuk ditambahkan sebelum Anda dapat mencobanya.
Setelah menyiapkan adaptor, Anda perlu memasangnya ke ListView Anda. Milik kami disebut TheListView, yang kami siapkan di bagian atas kode. Tambahkan baris ini, lalu, di bawah ArrayAdapter Anda:
theListView.setAdapter( myAdapter );
Metode bawaan yang dapat kita gunakan disebut setAdapter. Di antara tanda kurung bulat setAdapter, Anda mengetikkan nama ArrayAdapter Anda, myAdapter untuk kami.
Cobalah. Jalankan aplikasi Anda dan lihat apa yang terjadi. Jika semuanya berjalan dengan baik, Anda akan melihat ini:
Namun, jika Anda memilih item dalam daftar, tidak ada yang terjadi. Kami akan menulis kode untuk memperbaikinya sekarang.
3. Pengkodean untuk Pilihan ListView
Alasan tidak ada yang terjadi saat Anda mengetuk item di daftar Anda adalah karena tidak ada yang mendengarkan ketukan tersebut. Mari tambahkan pendengar.
Di bagian sebelumnya, Anda menambahkan pendengar di dalam metode onCreate. Tetapi Anda juga dapat menambahkannya di tempat lain dalam kode Anda. Pendengar yang kita butuhkan disebut OnItemClickListener. Ini sebenarnya adalah kelas tempat Anda membuat objek baru.
Tepat di bawah metode onCreate Anda, tambahkan yang berikut ini:
private AdapterView.OnItemClickListener listClick = new AdapterView.OnItemClickListener () {
};
Kami sedang menyiapkan OnItemClickListener baru yang kami sebut listClick.
Anda mungkin akan mendapatkan teks merah untuk AdapterView, jadi tekan ALT + ENTER untuk menambahkan perpustakaan, atau tambahkan impor android.widget.AdapetrView; ke bagian atas kode Anda.
Anda juga akan memiliki garis bawah untuk AdapterView.OnItemClickListener. Ini karena Anda harus menambahkan metode berikut di antara tanda kurung kurawal OnItemClickListener:
public void onItemClick(AdapterView parent, View v, int position, long id) {
}
Ini adalah metode yang disebut onItemClick. Seperti namanya, ia merespons item yang diklik di daftar Anda. Ini memiliki empat parameter antara tanda kurung bulatnya. Satu-satunya dari ini yang akan kita manfaatkan adalah posisi int. Di antara tanda kurung kurawal dari metode ini Anda menambahkan kode untuk melakukan sesuatu.
Tetapi kode Anda akan terlihat seperti ini, sejauh ini:
Apa yang akan kita lakukan dalam metode OnItemClick kita adalah membuat Activity kedua. Kami kemudian akan mengirim pesan ke Aktivitas baru ini, memberi tahu item mana yang dipilih.
Untuk mendapatkan item mana yang dipilih, ada metode ListView yang disebut getItemAtPosition. Tambahkan baris ini ke metode OnItemClick Anda:
String itemValue = (String) theListView.getItemAtPosition( posisi );
Kami sedang menyiapkan variabel String yang disebut itemValue. Setelah tanda yang sama, kita memiliki nama ListView kita, theListView, diikuti oleh getItemAtPosition(position). Variabel posisi antara tanda kurung bulat getItemAtPosition adalah yang sama dari antara tanda kurung bulat OnItemClick. Variabel posisi memberi tahu Anda item mana yang dipilih dalam daftar Anda, mulai dari item 0. Kami memiliki Visual Basic .NET sebagai item pertama dalam daftar kami. Jika ini dipilih, posisi akan berisi nilai nol. Namun, jika kita memilih Java dari daftar kita, variabel posisi akan berisi nilai 1. Jika kita memilih Android dari daftar item kita (posisi 2), maka getItemAtPosition(position) akan mengambil string "Android" dan menempatkannya ke dalam variabel itemValue.
Alasan kita perlu mengambil String pada posisi tertentu adalah karena kita ingin meneruskannya ke Activity baru kita.
Namun, kami belum membuat Aktivitas kedua ini.
Klik kanan pada item aplikasi Anda di Explorer di sebelah kiri Android Studio. Dari menu, pilih Aktivitas > baru > Aktivitas Kosong:
Saat Anda mengklik Aktivitas Kosong, Anda akan melihat kotak dialog muncul. Pastikan bahwa Buat File Tata Letak dipilih, dan bahwa Nama Aktivitas adalah SecondActivity. Aktivitas Peluncur harus tidak dipilih, dan Anda ingin Kompatibilitas Mundur dicentang.
Klik Selesai untuk menambahkan tata letak baru ke proyek Anda.
Sama seperti yang kita lakukan di bagian sebelumnya, kita akan menambahkan Intent yang mereferensikan kelas baru ini.
Klik kembali pada tab MainActivity.java Anda. Tambahkan baris ini ke metode onCreate Anda, tepat di bawah baris setContentView:
myIntent = Intent baru (ini, SecondActivity.class);
Ini menyiapkan Intent baru, seperti yang kami lakukan sebelumnya. Kita dapat menggunakan Intent ini dalam metode OnItemClick kita.
Tepat di bawah baris String itemValue Anda, tambahkan ini:
myIntent.putExtra("COURSE_SELECTED", itemValue);
Kami menggunakan putExtra untuk mengirim informasi ke Activity baru. Kunci yang kami buat adalah COURSE_SELECTED, dan data yang kami kirim disimpan dalam variabel itemValue kami.
Akhirnya, untuk metode OnItemClick, kita dapat memulai Activity:
startActivity(myIntent);
Sebagai baris terakhir untuk metode onCreate Anda untuk file MainActivity.java, tambahkan baris ini:
theListView.setOnItemClickListener( listClick );
Di sini, kami memanggil setOnItemClickListener. Ini adalah metode ListViews. Di antara tanda kurung bulat setOnItemClickListener kita memiliki nama Listener yang kita siapkan, yaitu listClick.
Seluruh kode Anda akan terlihat seperti ini:
Kita sekarang perlu menambahkan kode untuk Kelas Aktivitas Kedua. Pertama, klik pada tab activity_second.xml. Dalam tampilan Desain, seret TextView ke tata letak kosong Anda:
(Anda dapat meninggalkan ID secara default textView.)
Sekarang klik pada tab SecondActivity.java untuk mendapatkan kode. Tambahkan baris berikut ke metode onCreate, tepat di bawah setContentView:
Intent secondIntent = getIntent( );
Pesan string = "Kursus yang dipilih adalah " + secondIntent.getStringExtra("COURSE_SELECTED");
TextView myText = (TextView) findViewById(R.id.textView);
myText.setText(pesan);
Ini kurang lebih adalah kode yang sama yang Anda tulis untuk pelajaran sebelumnya, tentang Aktivitas. Kami hanya menggunakan getIntent() untuk mengambil teks dari Activity pertama. Kita kemudian menggunakan kunci COURSE_SELECTED untuk menempatkan pesan ke dalam TextView.
Kode Aktivitas Kedua Anda akan terlihat seperti ini:
Satu hal terakhir yang harus dilakukan. Kita membutuhkan cara untuk kembali dari Aktivitas Kedua ke Aktivitas Utama saat aplikasi sedang berjalan. Kami melakukan ini sebelumnya ketika kami menambahkan baris ke file Manifes Android.
Buka file AndroidManifest.xml Anda, yang ada di folder manifes.
Ubah baris ini:
<aktivitas android:name=". SecondActivity"></activity>
Untuk ini:
<aktivitas android:name=". SecondActivity" android:parentActivityName=". Aktivitas Utama" />
Anda dapat mencobanya, sekarang. Jalankan aplikasi Anda untuk melihat daftar item:
Pilih item di daftar Anda dan Anda akan dibawa ke Aktivitas Kedua Anda:
Ketuk panah putih di bagian atas untuk kembali ke daftar Anda.
Cobalah juga dalam tampilan lanskap. Jika daftar item Anda terlalu panjang, gulir ke bawah untuk melihat lebih banyak item (di Emulator, cukup seret dengan tombol kiri mouse Anda ditekan).
Sekarang setelah Anda memiliki ide bagus tentang cara kerja daftar, kami akan membuat Adaptor Kustom kami sendiri. Ini akan memungkinkan kita untuk memiliki daftar yang lebih serbaguna daripada yang sederhana di dalamnya. Kita akan membuat daftar yang memiliki gambar di sebelah kiri, serta tampilan teks dan tampilan sub teks, kami akan membahasnya dipostingan selanjutnya.