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

Cara Buat Outlet untuk Pengawal Peta di Apl iOS anda - dummies

Cara Buat Outlet untuk Pengawal Peta di Apl iOS anda - dummies

Jika anda mahu menggunakan MapController untuk apl iOS anda, anda memerlukan sebuah saluran keluar. Dengan Pemilih peta anda dijaga, tiba waktunya untuk mencipta saluran supaya MapController mempunyai akses ke paparan Peta untuk memusatkan peta dan mempunyai paparan anotasi. Ikuti langkah berikut:

Bagaimana Membuat Seni Bina Aplikasi iOS - manisan

Bagaimana Membuat Seni Bina Aplikasi iOS - manisan

Senibina aplikasi adalah di mana anda akan bermula dengan pembangunan aplikasi iOS anda. Pada tahap asas, kebanyakan apl terdiri daripada komponen asas yang sama. Kebanyakan aplikasi terdiri daripada yang berikut: Model: Objek model merangkumi logik dan kandungan (data) aplikasi. Views: Kandungan data tidak berguna jika pengguna anda ...

Protein Diet Paleo dan Mengapa Haiwan Matter - manik

Protein Diet Paleo dan Mengapa Haiwan Matter - manik

Manusia, manusia gua dan manusia moden, adalah omnivora . Gaya hidup Paleo membina warisan makan daging. Ahli antropologi bersetuju bahawa nenek moyang kita yang terdahulu adalah pemakan daging, dan saintis menganggarkan bahawa gen kita adalah 99. 9 peratus sama dengan mereka pada masa itu. Daging menyediakan kita dengan protein, asid lemak penting, dan vitamin - sama seperti ...

Pilihan Editor

Bersukacita dengan Perspektif Hak - monyet

Bersukacita dengan Perspektif Hak - monyet

Tidak seperti binatang lain, mengenai pilihan! Anda boleh memilih untuk berbahagia. Anda boleh memilih untuk melihat kehidupan sebagai kaca separuh penuh (optimistik) atau kaca setengah kosong (pesimis). Semuanya datang kepada sama ada anda menentukan masalah sebagai cabaran atau krisis. Mempunyai perspektif yang betul adalah ...

Kebahagiaan: Tahu Kapan Rencana dan Kapan Bukan Untuk - patung

Kebahagiaan: Tahu Kapan Rencana dan Kapan Bukan Untuk - patung

Akhir-akhir ini, manusia memerlukan rancangan untuk semuanya. Adakah rancangan ini menjadikan anda lebih bahagia? Lebih kurang dan lebih sedikit orang boleh melalui hari tanpa BlackBerry. Ibu bapa merancang untuk pendidikan kolej anak-anak mereka apabila anak-anak berada di tadika. Ada perancang persaraan, perancang perjalanan, perancang perkahwinan, dan bahkan ...

Memutuskan apa jenis orangtua yang anda inginkan untuk mencapai kebahagiaan

Memutuskan apa jenis orangtua yang anda inginkan untuk mencapai kebahagiaan

Bagaimana membesarkan anak-anak anda tidak hanya menjejaskan betapa gembiranya mereka; ia memberi kesan kepada bagaimana mereka melakukan persembahan di sekolah, sama ada mereka mengambil merokok, bagaimana mungkin mereka akan mengalami kemurungan, dan sama ada mereka terlibat dalam tingkah laku seksual yang berisiko. Menurut ahli psikologi yang mengkaji hal semacam ini, terdapat empat gaya utama ...

Pilihan Editor

Rakaman Excel Macros dengan Rujukan Mutlak - dummies

Rakaman Excel Macros dengan Rujukan Mutlak - dummies

Mod rakaman lalai excel adalah rujukan mutlak. Apabila rujukan sel dalam formula adalah rujukan mutlak, ia tidak menyesuaikan secara automatik apabila formula disisipkan ke lokasi baru. Cara terbaik untuk memahami bagaimana konsep ini digunakan untuk makro adalah mencuba. Catat makro yang mengira baris ...

Merujuk kepada Nilai atau Rumusan dalam Sel Lain dalam Excel 2007 Formula - dummies

Merujuk kepada Nilai atau Rumusan dalam Sel Lain dalam Excel 2007 Formula - dummies

Menghubungkan formula adalah formula dalam Excel 2007 yang merujuk lokasi dalam lembaran kerja yang sama, buku kerja sama, atau bahkan buku kerja yang berbeza. Apabila anda mencipta formula pautan, ia membawa formula rumit atau asal ke lokasi baru supaya hasil dalam formula pengaudan tetap terikat secara dinamik kepada asal. Jika ...

Rakaman Excel Macros dengan Rujukan Relatif - dummies

Rakaman Excel Macros dengan Rujukan Relatif - dummies

Rujukan relatif dalam makro Excel bermakna relatif kepada sel yang sedang aktif . Oleh itu, berhati-hati dengan pilihan sel aktif anda - kedua-duanya apabila anda merakam rujukan makro relatif dan apabila anda menjalankannya. Pertama, buka Sample File. xlsx boleh didapati dalam talian. Kemudian, gunakan langkah-langkah berikut untuk merakam makro rujukan relatif: Pada ...