Rumah Keuangan Pribadi Pemrograman dengan Java: Beberapa Pengamatan tentang Kelas Android

Pemrograman dengan Java: Beberapa Pengamatan tentang Kelas Android

Daftar Isi:

Video: Belajar Java Dari Awal - 5 - Struktur Percabangan IF, ELSE dan ELSE IF Pada Pemrograman Java 2024

Video: Belajar Java Dari Awal - 5 - Struktur Percabangan IF, ELSE dan ELSE IF Pada Pemrograman Java 2024
Anonim

Saat memulai proyek Java baru, Android Studio menawarkan untuk membuat aktivitas untuk proyek Anda. Android Studio menawarkan beberapa jenis aktivitas yang berbeda, seperti Aktivitas Dasar, Aktivitas Kosong, Aktivitas Login, dan sebagainya. Jika Anda meminta Aktivitas Kosong, Anda mendapatkan kode ini:

paket com. allyourcode a10_11;

impor android mendukung. v7. aplikasi. AppCompatActivity;

impor android. os. Bundel;

public class MainActivity memperluas AppCompatActivity {

@Override

protected void onCreate (Bundle savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView (tata letak R. Aktivitas_main);

}

}

Kode tersebut menyatakan sebuah kelas bernama MainActivity . Nama ini MainActivity bukan bagian dari pustaka Android API. Ini adalah nama yang Anda buat saat membuat proyek Android baru. (Sebenarnya, Android Studio membuat nama Anda menerima namanya atau mengubahnya menjadi beberapa nama lain saat Anda mengikuti langkah-langkah untuk membuat proyek baru.

Kelas MainActivity memperluas kelas yang termasuk ke perpustakaan SDK Android, yaitu kelas AppCompatActivity . Dengan kata lain, objek MainActivity adalah objek AppCompatActivity . Objek MainActivity memiliki semua hak dan tanggung jawab yang dimiliki oleh instance AppCompatActivity . Misalnya, MainActivity memiliki metode onCreate , yang diganti.

Sebenarnya, kelas MainActivity mewarisi sekitar 460 baris kode dari kelas AppCompatActivity Android, yang mewarisi sekitar 1, 000 baris dari Android Kelas FragmentActivity , yang mewarisi sekitar 6, 700 baris dari kelas Aktivitas Android. Metode yang diwariskan meliputi yang seperti getCallingActivity , getCallingPackage , getParent , getTitle , getTitleColor , getWindow , onBackPressed , onKeyDown , onKeyLongPress , onLowMemory , onMenuItemSelected , setTitle <, setTitleColor , startActivity , selesai, dan masih banyak lagi. Anda mewarisi semua fungsi ini dengan dua kata sederhana: meluas AppCompatActivity . Dalam terminologi hubungan keluarga, kelas

MainAktivitas Anda adalah keturunan kelas Aktivitas di Android. Kelas MainAktivitas Anda adalah Aktivitas . Gambar ini, yang diambil langsung dari dokumentasi online Android, merangkum informasi ini tentang kelas

AppCompatActivity . Pohon keluarga AppCompatAktivitas.

Tandai halaman untuk memudahkan akses ke dokumentasi perpustakaan API Android.

Selain menjadi subkelas, kelas

AppCompatActivity menerapkan sekelompok antarmuka, termasuk antarmuka AppCompatCallback , antarmuka TaskStackBuilder , dan yang lainnya. Anda tidak perlu mengingat semua ini. Jika Anda perlu mengetahuinya, Anda bisa mencarinya di halaman dokumentasi Android. kata kunci super Java, ditinjau kembali

Kata

super singkatan dari konstruktor superkelas. Kode yang berbeda menggunakan kata kunci super dengan cara yang berbeda. Ya, super selalu ada hubungannya dengan kelas orang tua kelas. Tapi, tidak, super tidak selalu mengacu pada konstruktor kelas induk. Dengan metode

onCreate , panggilan super. onCreate (savedInstanceState) mengirim savedInstanceState ke metode kelas induk onCreate . Kelas induknya adalah kelas AppCompatActivity . Jadi Java memanggil metode AppCompatActivit y class onCreate . Metode

AppCompatActivity class's onCreat e berisi panggilannya sendiri untuk super. onCreate (savedInstanceState) . Orang tua kelas AppCompatActivity adalah kelas FragmentActivity . Jadi, Java melewati savedInstanceState ke metode FragmentActivity kelas onCreate . Dan seterusnya. Tidak sampai Anda mencapai kelas

Aktivitas - nenek moyang kelas M agusta Anda - bahwa kode tersebut menggunakan variabel savedInstanceState secara langsung. Dari informasi savedInstanceState ini, kodenya mengembalikan aktivitas sebelum sistem menghancurkannya. Casting, lagi Saat Anda menelepon findViewById

, Java tidak tahu jenis tampilan apa yang akan ditemukannya. Metode

selalu mengembalikan instance View , namun banyak kelas Android memperluas kelas View . Sebagai contoh, kelas Button , TextView , ImageView , Kotak Centang , Chronometer , dan RatingBar semua memperpanjang kelas View Android. Jika Anda mengetikkan kode berikut: // JANGAN LAKUKAN INI! ! TextView textView; textView = findViewById (R. Id. TeksView); Java membuat raungan yang nyaring dan bergema: "Berani-beraninya Anda berasumsi bahwa objek yang dikembalikan oleh sebuah panggilan ke

findViewById

merujuk pada sebuah instance dari kelas

TextView

! "(Sebenarnya, Java dengan diam-diam dan secara mekanis menampilkan pesan kesalahan Ketidaksesuaian Jenis di editor Android Studio. Mempersempit berarti mencoba menetapkan nilai panjang ke > int

nilai. Nilai panjang memiliki 64 bit, dan nilai int hanya memiliki 32 bit. Jadi usaha penyempitan gagal. Dalam kode yang Anda temukan di sini, panggilan findViewById yang buruk adalah upaya lain untuk melakukan penyempitan - menetapkan nilai View yang dikembalikan oleh pemanggilan metode ke variabel TextView .Kelas TextView adalah subkelas dari kelas View , jadi tugasnya gagal total. menenangkan dewa-dewa di Jawa dengan menambahkan operator casting ke kode tersebut. Anda memberi tahu Java untuk mengubah apa pun yang muncul dari metode findViewById ke objek TextView . textView = (TextView)

findViewById (R. Id textView1); Saat Anda mengetik kode, Java akan menghibur Anda dan berkata, "Operator casting Anda menunjukkan kepada saya bahwa Anda menyadari perbedaan antara TextView dan View

. Saya akan melakukan yang terbaik untuk menafsirkan objek View yang saya temukan saat runtime sebagai objek

TextView . "Sebenarnya, saat Anda mengetik kode, Java tidak mengatakan apa-apa. Fakta bahwa Java tidak menampilkan pesan kesalahan saat Anda menggunakan trik casting ini adalah pertanda baik. Fitur casting Java menghemat hari!) Casting mencegah Anda melihat pesan kesalahan saat Anda mengembangkan kode Anda. Dengan cara itu, casting merupakan fitur yang cukup berguna di Jawa. Tapi casting tidak bisa menyelamatkan Anda jika kode Anda berisi kesalahan runtime. Ketika Anda mengetik textView = (TextView) findViewById (R. id textView1); Anda memverifikasi bahwa textView mewakili widget TextView . Saat aplikasi berjalan, Java meraih

R. id. textView

widget dari

activity_main. xml , dan semuanya bekerja dengan baik. Tapi terkadang Anda lupa memeriksa R Anda. java nama terhadap komponen dalam file XML. Sebuah panggilan ke findViewById secara mengejutkan meludahkan komponen Button saat casting Anda memberitahu Java untuk mengharapkan widget TextView . Ketika ini terjadi, Java tersedak operator casting dan aplikasi Anda macet selama menjalankannya. Kembali ke papan gambar!

Pemrograman dengan Java: Beberapa Pengamatan tentang Kelas Android

Pilihan Editor

Bagaimana membuat halaman depan situs Anda - dummies

Bagaimana membuat halaman depan situs Anda - dummies

Untuk sebagian besar, ketika Anda kunjungi blog yang didukung oleh WordPress, blog ada di halaman utama. Blog pribadi ini, didukung oleh WordPress (tentu saja), menampilkan posting blog terbaru di halaman depan. Pengaturan ini khas dari situs yang dijalankan oleh WordPress. Tapi halaman depan situs bisnis ini, webdevstudios. com, ...

Bagaimana Menemukan Pengencer untuk Konten WordPress Anda - dummies

Bagaimana Menemukan Pengencer untuk Konten WordPress Anda - dummies

Influencer dapat menjadi cara yang berguna untuk promosikan konten WordPress anda Setelah Anda menyusun daftar situs yang ingin Anda targetkan, Anda dapat mulai memecah daftar dan menentukan siapa influencer di niche Anda, termasuk influencer yang tersembunyi. Penyerang tersembunyi adalah orang-orang yang memiliki jejak sosial yang besar yang tidak harus ...

Cara Mengaktifkan WordPress. com Theme - dummies

Cara Mengaktifkan WordPress. com Theme - dummies

Pilih tema untuk WordPress Anda. com blog, lalu aktifkan. WordPress. Tema com (juga disebut design atau template) yang Anda pilih mempengaruhi tata letak visual dan tampilan blog Anda.

Pilihan Editor

Bagaimana Membuat Penunjukan dengan Outlook. com - dummies

Bagaimana Membuat Penunjukan dengan Outlook. com - dummies

Perlu membuat janji temu di Outlook. com? Jika Anda adalah pejuang jalan berat, Anda mungkin menyimpan kalender Anda di smartphone untuk referensi Anda sendiri, tapi untuk orang lain, janji dan rapat tersebut sangat mungkin terjadi pada Kalender Outlook. Janji dan rapat yang Anda poskan di Outlook terkait dengan Outlook. com, jadi dari apapun ...

Pilihan Editor

Desain Media Sosial: Cara Menggunakan Alat Wandel Magic Photoshop - dummies

Desain Media Sosial: Cara Menggunakan Alat Wandel Magic Photoshop - dummies

The Magic Wand Alat bisa menjadi alat yang baik untuk memanipulasi foto agar bisa digunakan di situs media sosial Anda. Alat Magic Wand di Photoshop telah menjadi subyek banyak cemoohan dari para profesional pengedit foto, yang menganggapnya sebagai jenis hal yang disalahgunakan oleh orang-orang baru yang menghasilkan pilihan bergerigi bergerigi yang membuat ...

Desain Media Sosial: Opsi Gambar Twitter - dummies

Desain Media Sosial: Opsi Gambar Twitter - dummies

Tantangan terbesar dengan desain Twitter adalah mencari tahu bagaimana caranya. menyulap batasan ruang dan cara terbaik untuk memposisikan tiga gambar terpisah yang diizinkan Anda gunakan di profil Twitter Anda.

Social Media Optimization: Menampilkan Tweet secara Otomatis ke Profil Facebook Anda - dummies

Social Media Optimization: Menampilkan Tweet secara Otomatis ke Profil Facebook Anda - dummies

Datang dengan Hal baru untuk dikirim ke Facebook bisa menjadi tugas yang cukup. Untungnya, ada trik Anda bisa mengoptimalkan situs media sosial ini. Jika Anda dapat memanfaatkan cross-posting konten antar layanan, Anda dapat menghemat waktu. Twitter memberi Anda kemampuan untuk menghubungkan profil Anda dengan layanan lainnya. Ada, ...