Rumah Kewangan Peribadi Dengan Java: Beberapa Pengamatan mengenai Kelas Android - dummies

Dengan Java: Beberapa Pengamatan mengenai Kelas Android - dummies

Isi kandungan:

Video: Advanced Data Binding - Google I/O 2016 2024

Video: Advanced Data Binding - Google I/O 2016 2024
Anonim

Apabila anda memulakan projek Java baru, Android menawarkan tawaran untuk membuat aktiviti untuk projek anda. Android Studio menawarkan beberapa jenis aktiviti, seperti Aktiviti Asas, Aktiviti Kosong, Aktiviti Masuk, dan sebagainya. Jika anda meminta Aktiviti Kosong, anda akan mendapat kod ini:

pakej com. allyourcode. a10_11;

import android. sokongan. v7. aplikasi. AppCompatActivity;

import android. os. Bundle; MainActivity kelas awam meluaskan AppCompatActivity {

@Override

void dilindungi onCreate (Bundle savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView (susun atur Reka bentuk. Activity_main);

}

}

Kod mengisytiharkan kelas bernama MainActivity . Nama ini MainActivity bukan sebahagian daripada pustaka Android API. Ia adalah nama yang anda buat apabila anda membuat projek Android baharu. (Sebenarnya, Android Studio membuat nama itu. Anda menerima nama atau menukarnya kepada beberapa nama lain apabila anda mengikuti langkah-langkah untuk membuat projek baru.) Kelas

MainActivity memanjangkan kelas yang dimiliki ke pustaka SDK Android, iaitu, kelas AppCompatActivity . Dengan kata lain, objek MainActivity objek adalah objek AppCompatActivity . Objek MainActivity mempunyai semua hak dan tanggungjawab yang mana-mana AppCompatActivity mempunyai. Sebagai contoh, MainActivity mempunyai kaedah onCreate , yang ditolak.

Malah, kelas

MainActivity mewarisi 460 baris kod dari kelas Android AppCompatActivity , yang mewarisi kira-kira 1,000 baris dari Android Kelas FragmentActivity , yang mewarisi kira-kira 6, 700 baris dari kelas Aktiviti Android. Kaedah yang diwarisi termasuk seperti getCallingActivity , getCallingPackage , getParent , getTitle , getTitleColor , 99W>, onKeyDown , onKeyDown , onKeyLongPress , onLowMemory , setTitle <, setTitleColor , startActivity , selesai, dan banyak lagi. Anda mewarisi semua fungsi ini dengan dua perkataan mudah: meluaskan AppCompatActivity . Dalam istilah hubungan keluarga, kelas MainActivity anda adalah keturunan kelas Aktivitas Android. Anda MainActivity

kelas adalah jenis Aktiviti . Imej ini, diambil secara langsung dari dokumentasi dalam talian Android, meringkaskan maklumat ini tentang kelas AppCompatActivity . Pokok keluarga AppCompatActivity. Tanda halaman untuk akses mudah ke dokumentasi perpustakaan API Android. Sebagai tambahan kepada subkelas, kelas

AppCompatActivity melaksanakan sekumpulan antara muka, termasuk antara muka AppCompatCallback

, antara muka TaskStackBuilder, dan lain-lain. Anda tidak perlu ingat mana-mana ini. Sekiranya anda perlu tahu, anda boleh melihatnya di halaman dokumentasi Android. Kata kunci super Java, disemak semula Perkataan super bermaksud pembina superclass. Kod yang berbeza menggunakan kata kunci super dengan cara yang berbeza. Ya,

super

selalu ada kaitan dengan kelas induk kelas. Tetapi, tidak, super tidak selalu merujuk kepada pembina kelas induk. Dalam kaedah onCreate , panggilan super. onCreate (savedInstanceState) menghantar savedInstanceState

ke kaedah onCreate kelas induk. Kelas induk ialah kelas AppCompatActivity . Jadi Java memanggil kaedah AppCompatActivit y onCreate . Kaedah AppCompatActivity kelas onCreat e mengandungi panggilannya sendiri kepada super. onCreate (savedInstanceState)

. Ibu bapa kelas AppCompatActivity adalah kelas FragmentActivity . Jadi Java melewati savedInstanceState ke kaedah FragmentActivity kelas onCreate . Dan sebagainya. Tidak sampai anda mendapat kelas Kegiatan ainActivity kakek besar kelas - bahawa kod tersebut menggunakan langsung pembolehubah savedInstanceState

. Dari maklumat savedInstanceState ini, kod tersebut meletakkan kembali aktiviti tersebut sebelum sistem dimusnahkan. Pelakon, sekali lagi Apabila anda memanggil findViewById , Java tidak tahu pandangan apa yang akan ditemui. Kaedah findViewById sentiasa mengembalikan contoh

Lihat

, tetapi banyak kelas Android memanjangkan kelas Lihat . Contohnya, kelas Button , TextView , ImageView , Checkbox , Chronometer , dan semua memperluaskan kelas Lihat Android. Sekiranya anda menaip kod berikut: // JANGAN DO INI! ! TextView textView; textView = findViewById (R teks id id); Java mengamalkan bunyi gemerincing yang menyeramkan: "Berani anda mengandaikan bahawa objek yang dikembalikan oleh panggilan ke findViewById merujuk kepada contoh kelas

TextView

! "(Sebenarnya, Java secara senyap-senyap dan mekanikal memaparkan mesej ralat

Jenis tidak serasi

dalam editor Android Studio.) Narrowing bermakna cuba menetapkan nilai panjang ke nilai int. Nilai panjang

mempunyai 64 bit, dan nilai int hanya mempunyai 32 bit. Jadi cubaan menyempitkan gagal. Dalam kod yang anda dapati di sini, panggilan findViewById yang buruk adalah satu lagi percubaan untuk melakukan penyempitan - menyerahkan nilai Lihat yang dikembalikan oleh panggilan kaedah kepada pembolehubah TextView .Kelas TextView adalah kelas subclass Lihat , jadi tugasan gagal secara mendadak. menenangkan tuhan-tuhan Jawa dengan menambahkan operator pemutus ke kod. Anda memberitahu Java untuk mengubah apa saja pop keluar dari panggilan metode findViewById ke objek TextView . textView = (TextView)

findViewById (R id id textView1); Semasa anda menaip kod itu, humor Java anda dan berkata, "Operator pemutus anda menunjukkan kepada saya bahawa anda menyedari perbezaan antara TextView dan mana-mana View

. Saya akan melakukan yang terbaik untuk mentafsirkan objek Lihat yang saya dapati semasa runtime sebagai objek

TextView . "(Sebenarnya, semasa anda menaip kod, Java tidak mengatakan apa-apa.Kebenaran bahawa Java tidak memaparkan sebarang mesej ralat apabila anda menggunakan helah pemutus ini merupakan petanda yang baik. Ciri pemutus Java menjimatkan hari!) Pemutus menghalang anda daripada melihat mesej ralat semasa anda membangunkan kod anda. Dengan cara itu, pemutus adalah ciri yang sangat berguna di Jawa. Tetapi pemutus tidak dapat menyelamatkan anda jika kod anda mengandungi ralat runtime. Apabila anda menaip textView = (TextView) findViewById (R id id textView1); anda mengesahkan bahawa nama textView mewakili widget TextView . Apabila aplikasi berjalan, Java mengambil

R. ID. widget textView

dari

activity_main. fail xml , dan semuanya berfungsi dengan baik. Tetapi kadang-kadang anda mungkin lupa untuk memeriksa R anda. java nama terhadap komponen dalam fail XML. Panggilan ke findViewById mengherankan komponen Button apabila pemutus anda memberitahu Java untuk mengharapkan widget TextView . Apabila ini berlaku, Java mencekik pada operator pemutus dan kemalangan aplikasi anda semasa menjalankannya. Kembali ke papan lukisan!

Dengan Java: Beberapa Pengamatan mengenai Kelas Android - dummies

Pilihan Editor

Spotify Unlimited - dummies

Spotify Unlimited - dummies

Spotify Unlimited adalah cara yang cemerlang untuk mendengar semua muzik yang anda inginkan tanpa batas apa pun. Ia seperti orang yang istimewa yang membeli makanan dan minum sepanjang malam supaya anda tidak perlu risau mengenai bil tersebut. Ia seperti dapat tidur pada hujung minggu tanpa bimbang tentang kerja atau sama ada ...

Genre Spotify - dummies

Genre Spotify - dummies

Sama ada rock, tekno, pop, jazz, industri, indie pop, rakyat , klasik, logam berat, waltz, atau apa sahaja yang menarik minat anda, Spotify mempunyai genre, atau jenis muzik, dilindungi. Anda boleh mencari genre biasa dari dalam Spotify. Walaupun Spotify telah mengeluarkan senarai hampir 1,000 genre yang diketahui, tidak semua mereka akan menyampaikan ...

Mengemas kini Aplikasi Mudah Alih Spotify - dummies

Mengemas kini Aplikasi Mudah Alih Spotify - dummies

Apl mudah alih dikemas kini dengan keteraturan tanpa henti. Ia seolah-olah seperti ada setiap hari. Tetapi aplikasi sentiasa kerja sedang berjalan, dan Spotify adalah satu syarikat yang sentiasa mencari untuk berkembang dan meningkatkan produknya. Aplikasi juga dikemas kini untuk memperbaiki pepijat kecil dan kadang-kadang lebih serius. Tidak lama selepas masa lama ditunggu-tunggu ...

Pilihan Editor

Cara Menggunakan Fail dan Alat Capaian Pantas dalam Access 2016 - dummies

Cara Menggunakan Fail dan Alat Capaian Pantas dalam Access 2016 - dummies

Jika anda 'semula segar daripada menggunakan versi sebelum Office 2007 (XP dan sebelumnya), anda akan lega untuk melihat tab Fail dalam Akses 2016. Pengguna Office 2007 kehilangan perkataan biasa dalam antara muka versi itu, kemudian digantikan oleh butang Office , dengan tiada perkataan "Fail" yang menghiburkan. Fail perkataan datang kembali pada tahun 2010, ...

Cara menjalankan Wizard Pertanyaan di Access 2016 - dummies

Cara menjalankan Wizard Pertanyaan di Access 2016 - dummies

Dengan Access 'Query Wizard, maklumat jadual dan medan, dan Wizard Kueri Mudah menjaga hal-hal lain. Begini cara anda membuat pertanyaan: Di atas sekeping kertas, letakkan data yang anda inginkan dalam hasil pertanyaan anda. Permintaan mengembalikan lembaran data (tajuk lajur yang diikuti oleh baris data), jadi buat ...

Cara menjalankan Wizard Pertanyaan di Access 2013 - dummies

Cara menjalankan Wizard Pertanyaan di Access 2013 - dummies

Dengan Access 'Query Wizard, maklumat jadual dan medan, dan Wizard Kueri Mudah menjaga hal-hal lain. Berikut adalah cara anda membuat pertanyaan:

Pilihan Editor

10 Avuncular Cadangan untuk Word 2016 - dummies

10 Avuncular Cadangan untuk Word 2016 - dummies

Anda mungkin akan menghabiskan banyak masa dengan Word 2016. Jadi , mengapa tidak menggunakan semua helah perdagangan? Berikut adalah sepuluh perkara nasihat pemproses kata yang mesra dan berguna. Simpan kertas pencetak, toner, dan bekalan yang berguna Pejabat elektronik adalah mitos. Bersama dengan pemproses perkataan anda, anda memerlukan bekalan pejabat dunia sebenar. ...

Secara automatik Isi Kata dengan Word 2003 AutoText - dummies

Secara automatik Isi Kata dengan Word 2003 AutoText - dummies

Ciri AutoTeks dalam Word 2003 secara automatik selesai menulis perkataan bahawa anda telah mula mengeja. Katakanlah bahawa anda sedang menulis Novel Besar Amerika Syarikat yang akan memaparkan Christopher sebagai wira anda. Daripada mengeja Christopher berkali-kali, anda hanya menaip beberapa huruf nama dan kotak pop timbul. Ia mengatakan: Christopher: (Tekan ENTER untuk Masukkan). ...

Dasar File Menu Word 2013 - dummies

Dasar File Menu Word 2013 - dummies

Di Word 2013, mengklik tab File membuka menu Fail, dikenali sebagai pandangan Backstage. Paparan belakang pentas menyediakan akses kepada arahan yang ada kaitan dengan fail data yang anda bekerjasama - perkara seperti menyimpan, membuka, mencetak, menghantar, dan menyemak sifatnya. Untuk meninggalkan pandangan Backstage, klik beberapa tab lain atau tekan ...