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 2025

Video: Belajar Java Dari Awal - 5 - Struktur Percabangan IF, ELSE dan ELSE IF Pada Pemrograman Java 2025
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

SharePoint 2010 Edit Menu - dummies

SharePoint 2010 Edit Menu - dummies

SharePoint 2010 menyediakan dua metode untuk bekerja dengan dokumen. Setiap dokumen memiliki menu Edit yang dapat Anda gunakan untuk mengambil beberapa tindakan pada dokumen itu, seperti memeriksanya untuk diedit. Ribbon juga menampilkan serangkaian tindakan yang dapat dilakukan pada masing-masing dokumen atau sekelompok dokumen yang dipilih. Mengakses ...

SharePoint 2010 Halaman Master dan Galeri Tata Letak Halaman - dummies

SharePoint 2010 Halaman Master dan Galeri Tata Letak Halaman - dummies

Jika Anda berada di situs kolaborasi SharePoint 2010 koleksi, Anda bisa mencatat galeri Master Page di Galeri, namun tidak ada link untuk menerapkan halaman utama di bagian Look and Feel. Di situs penerbitan, Anda memiliki galeri Halaman Utama dan Galeri Page Layout serta pilihan Master Page di ...

Kerangka situs Business Intelligence Center SharePoint 2010 - dummies

Kerangka situs Business Intelligence Center SharePoint 2010 - dummies

Template situs Business Intelligence Center yang baru di SharePoint 2010 menyatukan semuanya untuk Anda guna memantau, menganalisis, dan mewakili data kinerja dan hasil dalam organisasi Anda. Untuk membuat situs berdasarkan template Business Intelligence Center, Anda harus memiliki fitur PerformancePoint Services Site Collection yang diaktifkan. Jika Anda bukan ...

Pilihan Editor

Manfaat Memotret di Alam pada masa siang hari

Manfaat Memotret di Alam pada masa siang hari

Jika Anda kebetulan melakukan pemotretan di alam tengah hari, maka Anda mungkin memiliki waktu yang lebih sulit menemukan cahaya yang memiliki arah atau kualitas yang Anda inginkan. Matahari bertumpu tinggi di langit untuk sebagian besar hari itu, berseri lurus ke bawah pada subjek Anda ...

Manfaat Kamera Digital Kompak untuk Fotografi HDR

Manfaat Kamera Digital Kompak untuk Fotografi HDR

(Kadang disebut titik digital - dan - kamera shoot) adalah yang termurah masuk ke fotografi dengan rentang dinamis tinggi. Anda bisa membelinya seharga sekitar $ 100 dan memulai karir Anda tanpa harus mendapatkan hipotek kedua di rumah Anda. Berikut adalah beberapa model yang bisa sesuai dengan tagihan. Nikon Coolpix S220 dan Canon PowerShot A480 ...

HDR hitam-putih: Berwarna dengan Elemen Variasi Warna Alat - dummies

HDR hitam-putih: Berwarna dengan Elemen Variasi Warna Alat - dummies

Salah satu pilihan untuk mewarnai gambar kisaran dinamis hitam-putih tinggi (HDR) di Photoshop Elements adalah dengan menggunakan alat Variasi Warna. Beberapa kontrol tersedia di sini dimana Anda dapat menambah atau mengurangi warna pada daerah nada tertentu. Dengan kata lain, jika Anda ingin meningkatkan warna hijau dalam bayang-bayang, Anda bisa. Kelemahannya adalah bahwa ...

Pilihan Editor

Membangun Swift Outlets and Actions with Xcode - dummies

Membangun Swift Outlets and Actions with Xcode - dummies

Xcode memiliki Interface Builder yang terpasang di dalamnya sehingga Anda dapat merancang antarmuka Anda secara grafis Kunci untuk membuat semuanya bekerja adalah menghubungkan elemen grafis dari Interface Builder ke file Swift Anda. Xcode memudahkan - cukup ikuti langkah berikut: Buka Utama. storyboard Papan cerita utama Anda mungkin memiliki nama yang berbeda; ini ...

Memilih Bagaimana Melaksanakan Fungsi di Swift - dummies

Memilih Bagaimana Melaksanakan Fungsi di Swift - dummies

Saat Anda sedang berpikir untuk membuat sebuah aplikasi, bagaimana caranya? Anda memutuskan bagaimana menerapkan fungsinya? Swift, bersama dengan kerangka Cocoa and Cocoa Touch, menyediakan berbagai macam alat untuk membantu Anda. Berikut adalah daftar beberapa pertanyaan untuk diajukan kepada diri sendiri saat menentukan mana yang akan digunakan: Apakah ini sesuatu yang ...

Memoles Alat Pengembangan Anda untuk Pemasar Kakao - dummies

Memoles Alat Pengembangan Anda untuk Pemasar Kakao - dummies

Kakao adalah salah satu jenis program yang dapat Anda lakukan dengan Apple's Alat pengembang. Kakao adalah kumpulan alat dan perpustakaan yang memungkinkan Anda mendapatkan hasil maksimal dari pemrograman Mac OS X. Banyak fitur membuat Cocoa hebat, termasuk yang berikut: Desain berorientasi objek modular Penggunaan kerangka kerja Desain antarmuka visual Mengapa program dengan ...