[Powered by Google Translate] [Seminar] [Android Apps (Kini dengan Kacang Jeli!)]
[Jordan Jozwiak] [Universiti Harvard]
[Ini adalah CS50.] [CS50.TV]
>> Hello semua orang, dan dialu-alukan untuk Android Apps (Kini dengan Kacang Jeli!) Seminar.
Ia dipanggil Kini dengan Kacang Jeli, sudah tentu, kerana
versi terbaru OS dipanggil Jelly Bean.
Apabila saya bercakap tentang Android tahun lepas dan melakukan seminar ini pada dasarnya sama
Saya telah membentangkan corak reka bentuk dan pilihan gaya untuk Gingerbread,
walaupun Ice Cream Sandwich telah keluar pada masa itu,
dan ini adalah sesuatu yang kita akan bercakap tentang pergi ke hadapan sedikit.
Android, sudah tentu, mempunyai beberapa isu dengan pemecahan,
jadi sistem operasi terbaru Google biasanya
tidak benar-benar akan menjadi biasa di kalangan pengguna-pengguna untuk berpotensi sehingga setahun, malangnya.
>> Tetapi mengabaikan itu, kita akan bercakap tentang banyak sebab mengapa
Android adalah lebih baik daripada IOS.
Okay, kita akan bercakap tentang Android berbanding IOS,
beberapa paradigma reka bentuk, bagaimana anda akan mendapat ditubuhkan pada hanya satu slaid,
dan perbezaan yang besar antara ini dan tahun lepas ialah saya hanya mahu
zoom melalui beberapa perkara konsep bekerja dengan
sistem operasi dan kemudian pergi ke satu contoh yang benar-benar asas.
Malah, hanya contoh yang menerangkan Google untuk membina aplikasi pertama anda,
dan kami akan melaluinya bersama-sama dan hanya menerangkan.
>> Saya tahu ramai daripada anda hanya telah dikodkan dalam C, jadi Jawa sudah akan menjadi
perspektif yang berbeza, dan dengan cara ini anda akan mendapat kaki anda basah
dan rasa sedikit lebih selesa dengannya diharapkan.
Satu ringkasan cepat, Android berbanding iOS.
Dalam Android ada ini pemaju yuran satu masa $ 25,
tiada perkara ini $ 100 per tahun.
Tiada sekatan, yang bermaksud bahawa jika saya ingin mengemukakan aplikasi,
Saya hanya mengemukakan, dan tidak ada proses kelulusan seperti ada adalah untuk IOS.
Anda mendapat untuk membangunkan dengan Jawa menggunakan Gerhana,
yang merupakan platform bersilang, maka ia tidak kira jika anda mempunyai Mac,
Windows, atau beberapa mesin Linux.
Sudah tentu, dengan IOS anda perlu menggunakan Xcode pada Mac,
dan Android digunakan oleh lebih ramai orang,
jadi jika anda ingin aplikasi anda mempunyai beberapa jenis penglihatan atau mungkin
membuat sedikit wang dari iklan
anda mungkin lebih cenderung untuk mendapat manfaat daripada Android.
>> Dan satu perkara yang sentiasa telah diketahui tentang Android
adalah jumlah yang melampau penyesuaian, manakala IOS sangat ditetapkan dalam cara mereka
supaya mereka dapat mengekalkan keselamatan dan kawalan ke atas setiap aspek kecil
reka bentuk dalam OS dan aplikasi individu.
Android adalah bentuk yang sangat bebas, dan ada banyak lagi kemungkinan.
Okay, beberapa paradigma reka bentuk.
Perhatikan di sini seperti IOS mempunyai tablet dan iPhone dan menyentuh iPod
mereka perlu menyokong, berkata, seperti alat-alat dozen jika anda mahu menyokong
perkara-perkara sejarah.
Dengan Android anda perlu menyokong beratus-ratus peranti,
jadi terdapat beberapa perkara yang Google telah cuba untuk melaksanakan
untuk membuat pengguna pengalaman yang lebih konsisten,
tetapi kita juga akan bercakap tentang bagaimana ini bermakna bahawa terdapat isu-isu pemecahan
anda sentiasa perlu berhati-hati dengan sokongan.
Pemecahan bermakna bahawa terdapat banyak sistem operasi yang berbeza,
telefon yang berbeza dengan perkakasan yang berbeza menjalankan Android semua pada masa yang sama,
supaya graf ini di sini kembali selama kira-kira 6 bulan.
Ya, 6 bulan, dan anda boleh melihat bagaimana band gelap
di bawah adalah Jelly Bean, yang keluar sepanjang musim panas,
dan anda boleh lihat sekarang mungkin kira-kira 2% daripada telefon ada.
>> Ice Cream Sandwich keluar lebih setahun yang lalu,
dan satu perempat daripada telefon memilikinya.
Masih terdapat banyak telefon yang menggunakan versi OS dari tahun-tahun yang lalu.
Satu perkara yang Google telah cuba untuk lakukan untuk membuat pengalaman pengguna
banyak yang lebih konsisten di seluruh aplikasi bermula dengan Honeycomb,
yang merupakan versi tablet, maka Ice Cream Sandwich dan Jelly Bean,
mereka benar-benar cuba untuk menekankan penggunaan bar tindakan ini,
yang adalah apa yang anda boleh lihat di atas di sini,
segala-galanya di sini, termasuk ini butang tetapan sedikit.
Ia adalah pilihan reka bentuk.
Sekarang, setiap kali anda melihat 3 titik ia bermakna klik pada ini,
dan akan ada menu drop-down, yang mempunyai beberapa jenis tetapan.
Ini hanya muncul kerana saya klik pada butang ini.
Ini adalah sesuatu yang mereka cuba gunakan untuk membuat aplikasi yang lebih konsisten
menyeluruh dan sebagainya pengguna mempunyai rasa yang lebih baik pengalaman yang seragam.
>> Okay, jadi sekiranya anda tidak melakukan ini sudah atau jika anda menonton di rumah
maka anda boleh mengikuti langkah-langkah untuk menubuhkan persekitaran kod anda.
Ia akan melibatkan pergi ke laman web di sini.
Anda boleh Google memasang Android SDK
dan mengikuti beberapa penerangan di sana.
Mereka memberitahu anda segala-galanya.
Mereka mempunyai anda memasang SDK, turun Eclipse versi Classic,
walaupun, sudah tentu, kita kod di Jawa.
Mereka mengesyorkan yang satu ini, dan kemudian ADT ini, Alat Pembangunan Android,
adalah plugin yang anda memasang ke Eclipse yang membolehkan anda
mempunyai pengalaman yang lebih diperkemas dengan Android dalam Eclipse.
Ia akan memberikan anda beberapa muka pengguna grafik
untuk mereka bentuk pandangan, dan ia akan memberi anda sokongan yang lebih
dan keupayaan untuk melancarkan dengan emulator dan semua yang jenis perkara.
Rangka kerja permohonan.
>> Saya mahu bercakap tentang bagaimana projek-projek dalam Android berstruktur,
dan kemudian kita akan pergi ke satu contoh yang cepat, dan mudah-mudahan
anda boleh bertanya soalan pada bila-bila dan berasa selesa dengan akhir itu.
Kami mempunyai beberapa jargon pertama.
Aktiviti adalah seperti skrin yang anda lihat apabila anda melancarkan aplikasi.
Seluruh pengalaman adalah aktiviti itu sendiri,
supaya anda boleh menganggapnya sebagai skrin atau pandangan,
tetapi ia sebenarnya kod sebelah sumber itu.
Kami masih menghubungi antara muka bahagian sebenar ia pandangan.
Ia adalah jenis seperti bagaimana dalam pset 7 kita mempunyai pengawal dan kemudian pandangan.
Aktiviti ini adalah lebih kurang pengawal,
dan pandangan adalah apa yang kita lakukan dari segi XML
yang dikaitkan dengan aktiviti itu.
Serpihan adalah sesuatu yang dilaksanakan pada Ice Cream Sandwich pada masa hadapan.
Ia hanya satu idea mengambil bahagian pandangan atau aktiviti yang
dan membahagikan mereka ke dalam kawasan yang berasingan supaya kita dapat
membuat kod kita lebih boleh digunakan untuk alat-alat yang berbeza
yang kita ada untuk menyokong, dan ia hanya satu cara untuk cuba
juga faktor di luar kod lagi.
Perkhidmatan adalah perkara-perkara latar belakang seperti bermain muzik atau arahan navigasi berpotensi.
Pembekal kandungan, ini adalah API dalam sistem operasi
yang membolehkan anda untuk mengakses data yang dikongsi seperti maklumat kenalan,
dan kemudian niat adalah sesuatu yang kita akan menggunakan apabila kita hendak melancarkan
aktiviti baru daripada aktiviti semasa kami.
>> Hello Android, ini akan menjadi satu projek yang kita akan bercakap tentang.
Saya benar-benar akan melakukannya untuk anda, dan kemudian kami akan melakukan perkara di mana kita klik butang
dengan beberapa teks dan melancarkan aktiviti baru.
Sangat mudah, tetapi saya mahu pergi melalui
apa yang akan pergi ke dalam projek-projek seperti ini.
Apabila anda membuat projek baru yang anda akan lihat dalam Gerhana
ada projek ini dipanggil Hello Android.
Kemudian terdapat sejumlah folder di sini.
Orang-orang yang anda benar-benar bimbang dengan adalah folder sumber,
folder sumber, res, dan sedikit folder libs untuk perpustakaan.
Dan hanya jadi kita berada di halaman yang sama dengan
jika anda adalah untuk mewujudkan satu projek baru,
anda boleh lakukan ini di sini, jadi jika saya mahu memanggilnya HelloAndroid,
dan kemudian ia secara automatik melakukan sejumlah besar maklumat untuk kita.
Nama pakej sepatutnya pengecam unik
yang biasanya akan dikaitkan dengan laman web ini, jika anda mempunyai satu.
>> Sebagai contoh, saya akan memanggil net.cs50.helloandroid ini.
Dan saya pun telah membuat projek ini sekali.
Okay, maaf. Mari kita memanggilnya HelloCS50.
Dan kemudian ia akan bertanya perkara-perkara seperti apa jenis ikon yang kita ingin.
Ini semua adalah kerana Android Pemaju muka Alat,
plugin yang kita dimasukkan ke dalam Eclipse, jadi kita boleh memilih perkara-perkara seperti
apa icon yang kita mahu, dan yang akan pergi ke kedalaman bahawa jika kita mahu.
Tetapi pada akhirnya, hanya membuat projek ini,
dan segala-galanya muncul di sini.
Seperti yang saya menunjukkan pada skrin yang lain,
kita mempunyai folder sumber, dan saya akan bercakap tentang apa yang semua ini bermakna tidak lama lagi,
tetapi anda boleh melihat bahawa ia serta-merta membawa kita ke skrin HelloCS50.
Terdapat beberapa butang di sini untuk menambah teks dan susun atur teks bidang.
Ia adalah jenis seperti Xcode tetapi malangnya tidak cukup sebagai diselaraskan.
Tetapi klip akan menjadi rakan dan ADT anda khususnya untuk berbuat demikian.
>> Okay, folder sumber adalah di mana
fail Java diadakan, dan ini sebenarnya adalah pelancaran program anda.
Ia pada asasnya seperti pengawal.
Folder sumber atau res adalah di mana kita akan terus susun atur skrin,
imej, bunyi, teks, animasi dan segala-galanya, libs, jelas, perpustakaan.
Dan yang nyata, ia adalah cara yang sistem Android tahu
bagaimana untuk berinteraksi dengan aplikasi anda.
Ia memberitahu ia kira-kira kebenaran dan apa aktiviti sebenarnya akan dijalankan.
Ini semua maklumat yang penting yang perlu untuk menjalankan aplikasi anda.
Folder sumber adalah-jika kita mengembangkan ia seperti yang anda lihat di sini.
Dan contoh yang kod akan melihat-ini adalah kod lalai.
Seperti yang kita memanggilnya, MainActivity.
Secara lalai, kita akan mendapat onCreate, yang merupakan satu fungsi yang dipanggil apabila beban aktiviti ini,
jadi anda mahu untuk memanggil onCreate (savedInstanceState).
Ini akan memulihkan mana-mana bit maklumat
dalam kes aplikasi itu telah berhenti.
>> Ada aktiviti keseluruhan carta kitaran hidup yang anda boleh melihat
apabila anda mendapat sedikit lebih mendalam di dalamnya,
tetapi barisan hadapan yang paling penting dalam kod terdapat fungsi setContentView ini
yang akan memuatkan fail sumber untuk susun atur.
Kemudian apa onCreate sini pada asasnya lakukan adalah ia berkata
apabila saya membuat aktiviti ini saya ingin memuatkan susun atur ini.
Dan kita akan bercakap tentang apa susun atur yang ada di kedua.
Jika kita untuk melancarkan bahawa di sini ia kelihatan betul-betul seperti ini,
dan lalai kerana kita telah gerhana pada masa ini dan ADT melakukannya untuk kita
ini semua kod boilerplate itu dicipta untuk kita,
dan kita boleh bergerak dan mengubah perkara yang kita suka.
Folder sumber, seperti saya katakan, ini adalah di mana kita memegang semua susun atur,
drawables dari segi apa-apa jenis imej-
mereka dipanggil drawables dan kemudian fail bunyi, menu.
Ia adalah satu cara untuk sejumlah besar XML dengan cara yang baik disusun.
Seperti yang anda boleh lihat, terdapat. Hdpi, ldpi, mdpi dan xhdpi folder untuk drawables.
Ini adalah skrin yang berbeza ketumpatan, ketumpatan pixel begitu tinggi per inci,
ketumpatan yang rendah, kepadatan sederhana, ketumpatan tinggi tambahan.
>> Ini adalah, sekali lagi, jadi kita boleh menyokong semua alat-alat yang berbeza,
dan ideal, anda akan mempunyai imej yang berbeza untuk setiap resolusi yang berbeza.
Layouts adalah di mana kami memasukkan semua susun atur yang berbeza yang akan digunakan dalam aktiviti yang berbeza.
Mereka juga boleh termasuk susun atur untuk serpihan,
yang bermaksud aktiviti separa asasnya.
Jika anda mahu melakukan sesuatu yang sejuk seperti apabila anda memutarkan telefon
anda mahu ia mempunyai susun atur yang berbeza yang boleh anda lakukan susun atur landskap sebagai folder yang berbeza,
dan Android secara automatik mempunyai sejumlah besar peraturan ini dalam folder sumber,
maka ia akan tahu untuk melihat folder yang berbeza berdasarkan persediaan semasa telefon,
apa jenis perkakasan anda gunakan.
Begitu juga, nilai-nilai ini v11 di sini dan nilai-nilai v14
dan nilai-nilai lalai folder ini adalah untuk
baik, nilai-nilai dengan sendirinya, ini akan menjadi nilai lalai dalam semua versi sistem operasi.
Sebaliknya, v11 dan v14 sesuai dengan Honeycomb
dan Ais Krim Sandwich, masing-masing.
Sekali lagi, ini adalah cara yang-dalam folder ini adalah rentetan yang berbeza
dan gaya, jadi anda boleh menyesuaikan rupa aplikasi anda
atau mungkin juga fungsi, walaupun yang mungkin akan menjadi idea yang buruk,
berdasarkan versi sistem operasi.
>> Dan saya bercakap tentang semua ini di sini.
Sekali lagi, drawable, mentah, susun atur, nilai-nilai.
Mungkir, jika kita pergi ke Hello Hello Android atau CS50 sekarang
ia akan kelihatan seperti ini.
Ia akan menyapa dunia.
Seperti yang anda boleh lihat di sini dengan teks Android
teks untuk paparan teks ini, yang pada asasnya hanya label,
adalah apa yang kita akan memanggil dalam IOS.
Ia mempunyai notasi ini lucu @ string / hello_world.
Ini adalah supaya kita boleh-kita cuba untuk mengeluarkan semua tali,
semua rentetan berkod keras dalam Android ke dalam folder yang berasingan,
yang berlaku dalam values.strings.
Jika kita lihat di sini, kita dapat melihat bahawa kita mempunyai tali berkod keras disimpan di sini
untuk dunia hello, dan ia dipanggil hello dunia, dan ini adalah jenis
keputusan reka bentuk yang sama di seluruh platform yang anda mahu-
tali adalah jenis perkara yang kita mahu berpotensi dapat berubah.
Kami tidak mahu mengawal F dalam fail kod sumber kami dalam XML kami.
Kami mahu menjadi mampu untuk mengubah ini apabila kita mendapat peluang.
>> Ini fail XML, strings.xml, adalah satu cara mendapatkan
rentetan berkod keras yang sebaliknya akan menjadi sumber-sumber kami susun atur
atau dalam kod sumber kami.
Manifest adalah di mana kita menyimpan maklumat ini penting mengenai permohonan itu.
Ia termasuk nama pakej. Yang perlu pengecam unik.
Tidak seperti App Store untuk IOS nama aplikasi
tidak perlu menjadi unik, dan anda sebenarnya boleh menukar nama permohonan anda
selepas anda hantar, jadi jika saya bermula dengan Burung Marah,
dan kemudian saya membuat kemas kini, dan saya tidak mahu melepaskan versi baru
Saya rasa saya boleh memanggilnya Burung Marah 2 manakala saya pada kitaran keluaran yang sama.
Ia hanya akan muncul sebagai kemas kini.
Satu-satunya perkara yang perlu menjadi unik adalah nama pakej ini,
yang tidak ramai orang akan lihat.
Nah, anda hanya akan melihat jika anda telah melihat kod sumber atau jika terdapat beberapa jenis kesilapan.
Komponen termasuk aktiviti-aktiviti, jadi kita perlu untuk mengisytiharkan
apa-apa jenis aktiviti yang kita gunakan.
Ini adalah satu bentuk kebenaran perkara.
>> Kerana Android tidak mempunyai proses permohonan ini ketat
untuk mengemukakan aplikasi sebaliknya mereka hanya segala-galanya berdasarkan kira kebenaran
dan mengisytiharkan perkara-perkara dalam nyata itu.
Versi SDK juga penting.
Kita boleh menetapkan digunakan sebagai SDK minimum sesuatu versi.
Jelas sekali, anda mahu mencipta kod
dan reka bentuk untuk sistem operasi yang baru.
Mungkin tidak terbaru, mungkin tidak Jelly Bean.
Mungkin anda mahu reka bentuk terutamanya untuk Ice Cream Sandwich,
walaupun mereka adalah cukup banyak yang sama dari segi reka bentuk keputusan
dan perpustakaan sebenar dan API.
Tetapi bukannya mempunyai orang
daripada Android asal versi seperti cara Donut kembali apabila-
yang masih berlaku untuk menggunakan yang cuba untuk memuat turun aplikasi anda dan kemudian berkata
ia tidak berfungsi pada telefon saya, anda boleh menetapkan versi minimum
dan ia menjadi Gingerbread atau Ice Cream Sandwich
atau apa sahaja yang anda rasa mengemukakan selesa.
Dan ini adalah satu contoh yang nyata ini. Kita boleh melihat yang sebenar dalam sedikit.
>> Okay, kita hanya akan pergi ke hadapan dengan demo sekarang.
Ini adalah demo jika anda Google Android membina aplikasi pertama anda atau sesuatu seperti itu.
Kami akan pergi melalui segala-galanya yang berlaku di di sana,
dan maaf, hanya untuk rujukan yang di sini tahu Java setakat apa-apa?
Okay, jadi Jawa adalah bahasa baru kod bagi kebanyakan orang yang keluar dari CS50.
Secara ringkasnya, untuk pergi lebih lagi apa yang dikatakan di sini,
apa yang kita mahu lakukan adalah bukannya menyesuaikan ini permohonan dunia hello
bahawa semua yang ia adalah ia melancarkan dan ia mengatakan dunia hello
dan ia berkata hello CS50 di atas kerana itulah nama aktiviti
kita akan cuba untuk membuat medan teks dan butang
supaya apabila kita tekan butang ini ia akan mengambil teks
dari medan teks dan melancarkan aktiviti yang baru, dan ia akan mengatakan
apa sahaja teks yang berkata aktiviti itu, dan ini adalah agak mudah.
Ia bukan sangat menarik. Anda tidak mahu untuk melepaskan mana-mana aplikasi seperti ini.
Tetapi ia menunjukkan beberapa perkara reka bentuk yang penting.
>> Kami akan perlu berinteraksi dengan nyata, dengan fail susun atur,
dengan kod sumber, dan anda boleh melihat bagaimana untuk memulakan satu aktiviti yang lain.
Kami akan bermula dengan susun atur untuk aktiviti pertama kami,
yang saya tahu ia adalah jenis kecil,
tetapi seperti yang anda lihat sekarang, semua itu adalah ia mempunyai logo kita yang kita buat,
nama aktiviti, dan ia berkata hello dunia di tengah-tengah.
Sebaliknya, saya pertama akan membuat ini ke dalam susun atur linear,
susun atur yang relatif, dan semua ini adalah perkara-perkara
anda boleh melihat dan bernilai akan lebih pada satu ketika dari segi susun atur.
Ia banyak seperti HTML.
Kami berkata, ia tidak benar-benar bernilai mengetahui dari segi rasa perancangan,
tetapi terdapat banyak susun atur yang berbeza yang anda boleh mengawal,
dan ia adalah sama seperti CSS dari segi gaya.
>> Terdapat banyak berlaku sahaja dari segi estetika di sini,
dan ya, ia adalah pembelajaran bernilai, tetapi ia adalah jenis perkara yang anda perlu mencari
anda pergi dan anda rasa seperti anda memerlukan sesuatu yang baru.
Saya boleh mengambil kesempatan daripada beberapa alat ADT sini sekurang-kurangnya untuk memulakan dengan.
Saya akan membuat medan teks, dan saya akan membuat butang.
Meletakkan mereka betul-betul bersebelahan antara satu sama lain.
Mereka telah mengubah saiz sewajarnya.
Maaf, sekali lagi, kembali kepada perbezaan antara linear susun atur dan susun atur relatif,
susun atur linear memberikan fungsi yang lebih sedikit
dari segi mengisi ruang dan memastikan
kita perkara kedudukan mendatar atau menegak.
Perbezaan besar antara susun atur linear dan susun atur yang relatif
adalah susun atur kedudukan relatif segala-galanya berbanding dengan pandangan yang lain,
dan perkara yang baik tentang hal itu adalah bahawa ia mengambil masa yang kurang untuk menarik
kerana sistem operasi yang kelihatan pada semua kod dan kata ini pergi
relatif kepada ini di sini, di sini.
Ini bermakna ia membuat ukuran kurang daripada sejumlah besar susun atur linear bersarang,
yang saya perlu lakukan jika saya mahu perkara untuk pergi menegak di sini.
>> Saya sudah mempunyai beberapa perkara yang berlaku secara mendatar, jadi saya perlu susun atur linear yang berbeza
ke sarang mereka menegak, tetapi jika saya telah melakukan susun atur saudara saya boleh mengatakan
menyimpan ini ke kiri, ini yang betul dan perkara-perkara di bawah.
Tetapi kerana saya mahu mereka untuk mengisi sekarang saya akan menggunakan susun atur linear,
dan anda boleh lihat ia sudah melakukan banyak perkara-perkara ini untuk kita.
Semua pandangan perlu mempunyai harta lebar dan ketinggian,
dan ini berlaku untuk mempunyai berat 1, dan ini mempunyai berat 1
supaya ia memenuhi seluruh ruangan.
Tetapi lebar dan ketinggian yang paling penting.
Bidang ID di sini tidak penting dalam susun atur sebenar
melainkan jika kita menggunakan susun atur relatif dan mengatakan kita boleh merujuk
satu kedudukan pandangan dalam rujukan yang lain.
Jika kita mempunyai susun atur yang relatif kita boleh mengatakan kedudukan ini di bawah satu ini
atau di atas ID ini, tetapi ID ini akan menjadi penting
apabila kita menggunakannya dalam kod kita kerana kita boleh merujuk
pandangan-pandangan individu dalam cara ini.
>> Dan kemudian anda boleh lihat requestFocus tag, yang merupakan sesuatu yang anda mungkin lihat dalam pset 7.
Terdapat tag fokus auto atau sesuatu sepanjang garis untuk salah satu bidang.
Dan satu perkara, sudah tentu, kita boleh berbuat demikian seperti dalam HTML,
dan notis salah satu perkara yang baik tentang ADT adalah bahawa ia autocompletes sini.
Mungkin tidak sebagai baik seperti yang berlaku dalam Xcode, tetapi ia bagaimanapun,
dan kita boleh mengatakan tanda-tanda dan kemudian memberikan beberapa jenis tali
suka menulis mesej,
dan jika saya memberikan masa, juga melihat bahawa saya mendapat satu kesilapan yang sedikit di sini
mengatakan bahawa kita harus menggunakan sumber yang tali untuk ini,
jadi jika saya biarkan ia melakukan kerja keras untuk saya
Saya boleh memilih tali ini, adakah refractor Android dan ekstrak Android tali.
Saya boleh memberikan nama itu, menulis mesej,
dan apa yang ia kini tidak ia digantikan yang rentetan berkod keras
dengan merujuk kepada rentetan dalam rentetan ini. file xml,
yang bermaksud sekarang ini adalah di sini.
>> Dan saya tahu bahawa seolah-olah kerja tambahan remeh dan kecil seperti pada masa ini,
tetapi apabila anda mempunyai sejumlah besar perkara, sejumlah besar tali,
yang benar-benar penting, terutamanya bagi penyetempatan
kerana seperti yang saya nyatakan sebelum ini, Android adalah sistem operasi yang digunakan sangat global
bahawa anda hanya boleh melakukan nilai-en atau nilai-sp
atau sesuatu untuk bahasa Inggeris atau Sepanyol atau lain-lain.
Dan kemudian anda mungkin tidak mempunyai pengalaman ini
kerana kita tidak melakukan banyak JavaScript segi pengaturcaraan web,
tetapi kita juga boleh melakukan bidang ini dipanggil onclick untuk butang,
dan ini adalah satu cara untuk rujukan dalam susun atur kami
yang kita mahu fungsi tertentu yang akan dipanggil dalam kod sumber kami.
Saya akan memanggil sendMessage ini,
dan untuk membuat kerja-kerja ini yang bermakna dalam aktiviti utama di sini
Saya perlu membuat satu fungsi yang awam
supaya ia boleh diakses oleh susun atur.
Ia adalah tidak sah kerana anda hanya tidak mahu ia kembali apa-apa.
Kami akan memanggilnya sendMessage, dan ia mengambil pandangan,
yang merupakan jenis konteks yang kita boleh berlabuh kaedah ini
itu pandangan individu apabila kita menguruskannya.
>> Dan saya tidak tahu jika anda perasan-baik, anda tidak akan perasan,
tetapi pada ketika ini di sini
pandangan ini adalah jenis yang belum dimasukkan,
dan sudah tentu, anda semua tahu dari CS50 tentang tidak termasuk jenis.
Perkara yang baik tentang IDE seperti Eclipse adalah bahawa
jika anda lupa untuk termasuk jenis ia akan menggariskan dengan merah berlekuk-lekuk
dan kemudian memberi anda pilihan untuk mengimport pandangan.
Satu cara yang cepat untuk melakukannya ialah kawalan anjakan O, dan ia akan mengimport
semua fail yang perlu.
Sekarang kita mempunyai ini sendMessage fungsi,
yang akan menghantar mesej dari MainActivity untuk aktiviti baru,
kita akan perlu menggunakan niat untuk memulakan aktiviti baru dari yang satu ini,
jadi kita mungkin mahu untuk mewujudkan berterusan global atau juga terutamanya yang tetap awam
yang akan membantu kita tahu bagaimana kita akan merujuk rentetan
kerana apabila kita membuat niat yang kita tidak hanya memanggil satu aktiviti baru,
tetapi kita juga boleh memberikan ikatan maklumat.
Berkas adalah sebenarnya istilah yang menggunakan Android,
dan ia merupakan satu cara untuk mengatakan memberikan data tambahan, yang ia tidak boleh dari jenis data yang sangat canggih,
tetapi kita pasti boleh termasuk booleans atau tali atau Ints.
Yang jenis perkara.
>> Berasa bebas untuk bertanya tentang mana-mana kelayakan di sini,
awam, akhir, statik.
Awam adalah salah satu yang penting.
Ini bermakna bahawa kita boleh mengakses pembolehubah ini dari lain-lain fail kod sumber
seperti apabila kita mewujudkan aktiviti baru.
Kita boleh merujuk rentetan dalam fail ini.
Jika ia adalah peribadi, ia bermakna ia adalah terhad kepada individu fail ini di sini.
Tetapi kita akan memanggil ini sesuatu seperti mesej tambahan.
Sekarang kita telah membuat fungsi ini, dan jika kita klik butang, fungsi ini akan dipanggil.
Tetapi kita tidak melakukan apa-apa, jelas, dengan fungsi.
Apa yang kami mahu lakukan sekarang ialah mewujudkan aktiviti baru,
aktiviti yang benar-benar akan dilancarkan.
Dalam Eclipse kita boleh mengatakan baru, aktiviti Android, aktiviti kosong.
Kami boleh memberikan nama.
Mari kita memanggilnya aktiviti hasil kami.
Dan kemudian bidang ibu bapa ini hierarki adalah satu cara menyatakan
bagaimana aktiviti-aktiviti yang berkaitan dengan satu sama lain.
Kerana salah satu ini akan dilancarkan dari aktiviti lain
kita harus menentukan bahawa ia mempunyai aktiviti utama ibu bapa.
>> Dan saya boleh klik pada bidang di sebelah sana, yang akan memberitahu kami
beberapa bidang pilihan yang ia juga termasuk,
tetapi perkara yang baik tentang ADT, sekali lagi, adalah bahawa jika saya tatal ke bawah di sini
dalam Manifest yang ingat bahawa semua ini benar-benar telah dimasukkan secara lalai
apabila kita asalnya dicipta projek,
dan sekarang kerana kita digunakan ini mewujudkan satu aktiviti baru bukan hanya
menambah fail kelas kita sendiri kerana kita telah melalui GUI mereka untuk berbuat demikian
ia telah menambah semua ini Manifes untuk kita,
yang hanya bermaksud bahawa kini sistem operasi tidak akan mengadu
apabila kita cuba untuk memulakan aktiviti ini.
Dan ia juga, sudah tentu, memberikannya label, yang juga muncul dalam rentetan.
Ia melakukan banyak perkara pada akhir kembali untuk kita.
Bagaimanapun, kini kita mempunyai aktiviti keputusan ini juga,
source file kod sebenar dalam folder sumber,
dan anda boleh melihat-menyentuh secara ringkas mengenai perkara ini-
kerana kita diberitahu ia kira-kira ibu bapa ini hierarki
ia memberikan ini android.r.ide.home bidang dalam perkara ini onOption dipilih.
>> Apa ini pada dasarnya mengatakan ada satu butang menu kini
yang di sudut kiri atas skrin
jika saya kembali ke PowerPoint di mana kita mula-mula bercakap tentang bar tindakan
kerana ibu bapa hierarki kini terdapat arrow sedikit kembali ke sini
dan ini adalah diklik supaya kita akan dapat-selepas kita sebenarnya menjalankan ini app-
kembali, dan ia adalah satu cara untuk menyelamatkan kita sedikit kod di sana.
Kini dalam ini-baik, ia seolah-olah mengadu tentang itu untuk seketika.
Mari kita mengulas bahawa keluar.
Sekarang, dalam usaha untuk benar-benar berinteraksi dengan 2 aktiviti,
kita perlu mewujudkan satu niat yang merangkumi semua data ini.
Dalam sendMessage sekarang saya akan pelayaran melalui beberapa bit kod
dan menjelaskan bahawa saya pergi.
Niat An, seperti yang saya katakan, adalah satu cara untuk memulakan satu aktiviti yang lain.
Niat adalah jenis. Kami mewujudkan myIntent berubah-ubah.
>> Dan ini adalah benar-benar objek, itulah sebabnya kita perlu untuk memanggil baru.
Ia adalah biasa penggunaan Java sana, yang mungkin mengambil masa sedikit untuk membiasakan diri.
Ini bermakna kita menggunakan aktiviti atau MainActivity kelas,
dan niat dengan cara yang mengambil aktiviti ia pergi dari
dan aktiviti yang ia akan, yang kita panggil ResultActivity,
dan itu adalah kelas tersendiri.
Termasuk itu.
Dan kemudian seperti yang saya nyatakan sebelum ini, kami memberikan ID itu kepada medan teks edit
dan pandangan teks, jadi untuk programatik menangkap
teks yang wujud dalam editText yang
kita menggunakan fungsi ini dipanggil findViewByID,
yang serupa dengan sesuatu yang anda akan digunakan apabila cuba untuk mendapatkan bidang daripada DOM.
Mungkin David bercakap tentang ini di dalam kuliah.
Tetapi ia hanya satu cara untuk mendapatkan mereka-itulah sebabnya kita menandakan perkara-perkara ini dengan mereka yang bidang.
Id.editText1.
Ia sudah autocompleting untuk saya di sana.
>> Dan maka kita juga akan termasuk-ini editText kini kita mempunyai bidang
dalam program kami, semua findViewByID yang tidak pada asasnya
anda boleh menganggapnya sebagai memberi kita merujuk kepada editText itu.
Sekarang kita mahu mendapatkan tali atau mesej
dalam masa yang editText yang boleh kita lakukan dengan menggunakan-
anda boleh berfikir editText sebagai struct-
kita panggil ia objek dalam Java dengan sekumpulan keseluruhan kaedah yang berbeza
atau bidang dan sifat-sifat yang melekat padanya.
Apabila saya mengatakan editText. ia memberi peluang kepada saya untuk mengakses
kaedah seperti getText, yang akan mendapatkan teks semasa
dalam editText itu dan kemudian menukar yang secara jelas
kepada rentetan, dan kita telah menyimpan mesej.
Sekarang kita benar-benar mahu melakukan sesuatu dengan niat yang kita dicipta hanya detik-detik yang lalu.
Saya akan meletakkan tambahan kerana ia dipanggil niat,
yang, sekali lagi, seperti yang saya katakan sebelum ini, ini adalah satu cara untuk mewujudkan ikatan
dengan sejumlah besar data.
Mesej tambahan tag kita supaya kita tahu apa yang kita sedang menyimpan ini di bawah,
dan kemudian saya termasuk mesej.
>> Dan kemudian kita benar-benar boleh mula aktiviti dengan memberi myIntent parameter.
Dan ini sebenarnya akan melancarkan aktiviti itu, jadi sekarang kerana saya dinaik taraf kepada Windows 8
mungkin terdapat beberapa kesilapan yang muncul secara ringkas, tetapi cuba untuk mengabaikan mereka.
Dan ini adalah emulator Android.
Semoga kod sebenarnya akan muncul dalam seketika.
Sekali lagi, mengabaikan semua perkara-perkara kecil.
Tetapi emulator Android anda boleh meniru mana-mana versi sistem operasi
daripada orang-orang yang terawal, Donut, Gingerbread.
Ini adalah Jelly Bean 4.1.
Tetapi seperti yang anda lihat sekarang, ini adalah sesuatu yang kita dibuat.
Ini mempunyai MainActivity itu, editText itu, butang.
Saya boleh menaip sesuatu di sini, tetapi apa yang kita hilang pada ketika ini?
Kami jadikan bidang dalam MainActivity yang akan menghantar mesej
dengan aktiviti yang lain, tetapi pada ketika ini
kami tidak melakukan apa-apa aktiviti yang lain, maka ia tidak akan menerima apa-apa.
Mari kita selesaikan bahagian itu sebelum kita bergerak ke atas.
>> Ini aktiviti hasil, apa yang kita perlu lakukan ialah kita perlu lakukan ialah kita perlu-
kita juga boleh merujuk niat dalam aktiviti ini,
jadi kita perlu untuk menangkap niat, yang benar-benar mudah.
Ia adalah satu fungsi yang termasuk dalam kelas aktiviti,
jadi kita boleh berkata "Dapatkan mesej dari niat."
"MyIntent Niat = getIntent."
Dan ini akan memberikan kita-kini myIntent adalah objek,
iaitu merujuk kepada niat yang membawa kita kepada aktiviti ini.
MainActivity panggilan dan memberikan maklumat tambahan untuk menghasilkan aktiviti.
Aktiviti Keputusan kini kelihatan pada niat yang membawa di sini,
dan kita boleh mengakses mesej bahawa kita dicipta dalam satu lagi,
getStringExtra, dan ini akan auto lengkap untuk saya.
Dan kemudian ingat, cara kita tagged yang sedikit data
adalah dengan memberi bidang ini di sini, tali awam ini,
yang merupakan tag untuk tali kita sebenarnya dimasukkan.
>> Jika saya katakan MainActivity.Extra_Message
ia adalah di sana, dan ini adalah jenis seperti nama parameter
apabila kita meninggal kod dari pengawal untuk template,
apabila kita katakan tajuk arrow sesuatu.
Ia adalah perkara yang sama idea di sana.
Sekarang, ingat ini.
Kami juga telah auto ini diwujudkan atau dijana secara automatik kod
untuk aktiviti hasil, yang termasuk paparan teks di tengah-tengah
yang mengatakan dunia hello.
Kita mungkin boleh membuat yang lebih besar.
Mari kita buat yang pertama.
Kita boleh menjadikan ia 40 kepadatan piksel bebas.
Mari kita lihat, itu super besar. Itu akan menjadi okay.
Dan kemudian untuk rujukan pandangan teks individu ini dalam kod kami
kita perlu memberikan ID,
dan untuk berbuat demikian kita katakan @ + id, yang bermakna kita sediakan ID.
Jika kita hanya berkata @ id ia akan menganggap kita rujukan ID yang sudah wujud,
dan mari kita memanggil ini resultTextView kami.
Dan melihat bahawa dalam XML tidak ada keperluan untuk koma bertitik atau apa-apa.
Semuanya dalam tag ini.
Ia hampir sama dengan HTML dalam banyak deria.
>> Ia mengambil masa sedikit untuk membiasakan diri, tetapi akhirnya anda akan berasa cukup selesa dengannya.
Mari mengemas kini teks untuk paparan teks hasil kita,
dan seperti yang kita lakukan apabila kita telah mendapat bahawa medan teks edit dalam aktiviti kami yang lain
dalam MainActivity di sini kita juga akan begitu juga-
kita akan mendapati paparan dengan ID.
Dan R, dalam kes saya tidak menyebut sebelum ini, adalah merujuk kepada folder sumber,
dan kemudian ID adalah merujuk kepada segala-galanya dalam folder sumber, semua ID,
dan resultTextView.
Dan seperti sebelum ini, resultTextView adalah objek,
yang bermakna ia mempunyai semua sifat-sifat yang berkaitan dengannya.
Apabila kita menggunakan getText untuk teks edit ini medan teks atau pandangan teks
kita sebenarnya boleh menggunakan setText,
dan kemudian kita sudah menemui mesej daripada niat,
jadi saya boleh mengatakan mesej, dan ini sebenarnya akan menetapkan mesej.
>> Ia mengambil masa untuk memulakan, dan kemudian kita boleh melihat sama ada atau tidak ia kemalangan,
tetapi apa-apa soalan mengenai proses yang di sana, yang jenis interaksi?
Dalam banyak cara ia adalah mudah.
Sebab saya akan melalui sesuatu yang agak mudah
, sekali lagi, kerana anda dapat melihat interaksi antara susun atur,
kod sumber, rujukan bagaimana perkara yang anda
dan mungkin mendapat pendedahan yang sedikit bagaimana Jawa bekerja di sana.
Jika saya sebenarnya menaip sesuatu di sini, seperti ohai, dan kemudian saya klik butang,
ia melancarkan satu aktiviti baru, dan bahawa pandangan teks kata ohai.
Itulah yang sangat mudah, tetapi mudah-mudahan selepas contoh yang
anda jenis melihat bagaimana interaksi ini berfungsi, dan sekarang bahawa keadaan huru-hara fail
di sebelah kiri untuk semua folder projek, mudah-mudahan anda tahu di mana untuk melihat sekarang.
Ini adalah kawasan kod sumber anda.
>> Layout adalah benar-benar satu-satunya perkara yang anda akan berhadapan dengan sehingga anda termasuk imej
dan drawables atau apa sahaja, dan nilai-nilai, yang akan termasuk tali,
seperti yang telah dinyatakan, dan kemudian gaya adalah sesuatu yang jenis seperti CSS.
Menangani apabila anda mahu, tetapi sehingga anda berasa selesa dengan menambah bakat tambahan
untuk permohonan anda tidak perlu bimbang tentang ia terlalu banyak.
Hanya untuk menyelesaikan satu perkara yang lain, anda pasti akan mahu termasuk-
andaian anda mahu mengintegrasikan ciri-ciri sejuk dan menyelamatkan diri beberapa tambahan kod-
akan termasuk perpustakaan pihak ke-3.
Berikut adalah Android lelaki sedikit dengan Sherlock Holmes topi.
Ini adalah satu tindakan bar Sherlock perpustakaan,
yang pada asasnya bermakna bahawa bar tindakan yang anda lihat sebelum ini,
yang kini standard dalam Ice Cream Sandwich dan Jelly Bean,
jika anda ingin membawa yang jenis pengalaman pengguna kepada pengguna atas versi yang lebih lama
dan menyelamatkan diri dari bimbang tentang bagaimana pengguna akan mengemudi
pada versi lebih tua apabila perkara yang tidak ada anda boleh termasuk perpustakaan ini
dan kemudian anda hanya perlu rujukan-bukannya lalai Android
perpustakaan untuk bar tindakan, anda rujukan perpustakaan sokongan ini.
>> Perkara seperti Scoreloop, ia adalah baik jika anda akan termasuk permainan.
Ia membolehkan anda menambah papan pemimpin dan pencapaian permainan.
Admob adalah satu cara meletakkan iklan ke dalam aplikasi anda
sekiranya anda ingin membuat sedikit wang dari itu.
Sudah tentu, ada Facebook dan Twitter untuk mengintegrasikan terdapat
jika anda ingin berkongsi perkara-perkara mudah, dan sebagainya.
Dropbox, begitu juga, dan Google Analytics adalah bahawa carta mencari satu di sana.
Itu akan menjadi sangat penting jika anda benar-benar mahu melihat yang berinteraksi
dengan aplikasi anda atau yang ia adalah, bagaimana mereka berinteraksi, dan sebagainya.
Google, secara lalai, memberitahu anda banyak statistik tentang yang telah dipasang aplikasi anda
dan apa telefon mereka ada, apa versi sistem operasi mereka.
Tetapi jika anda mahu melihat yang menggunakannya setiap hari dan bagaimana mereka menggunakannya
maka anda akan mahu termasuk beberapa jenis sistem pengesanan seperti itu.
>> Apabila anda sudah bersedia untuk mengedarkan aplikasi anda
Saya tidak perlu untuk pergi ke yang terlalu banyak mendalam.
Klik pada pautan di sini, Google Main.
Ia digunakan untuk menjadi pasaran Android.
Mereka dijenamakan semula segala-galanya dengan Google Play,
jadi sekarang anda serahkan kepada itu.
Ia amat mudah.
Anda perlu termasuk penerangan, beberapa screenshot.
Seperti saya katakan, tidak ada proses kelulusan seperti IOS.
Dan di mana untuk pergi dari sini?
Saya menunjukkan kepada anda satu contoh yang benar-benar mudah.
Mudah-mudahan jika ia kelihatan sangat mudah
maka itu mungkin satu petanda yang baik.
Jika anda semua berasa sedikit keliru atau tidak pasti tentang apa yang saya menaip
yang juga baik, tetapi daripada sini pergi ke Panduan Google.
Ini adalah tempat yang hebat untuk bermula.
Ia akan bercakap anda melalui apa yang mereka harapkan dari segi reka bentuk permohonan,
bagaimana pengguna biasanya berinteraksi dengannya.
Ia lebih bentuk bebas daripada IOS, saya berkata,
mana ia seolah-olah seperti pandangan jadual yang-saya tidak tahu, itu roti dan mentega.
Segala-galanya adalah paparan jadual gelongsor atas dan ke bawah.
Dengan Android mereka pasti menggalakkan orang ramai untuk melihat dari
sejumlah besar perspektif yang berbeza.
>> Apabila anda termasuk kit pembangunan perisian dalam ADT ini
lalai anda mempunyai sejumlah besar projek-projek sampel dalam Android.
Di sini, Android, Projek Contoh Android.
Jika saya klik pada itu, maka saya boleh memilih versi yang mana sampel projek terpakai.
Terdapat sejumlah besar perkara yang berbeza di sini.
Ia bermula dengan tindakan keserasian bar,
play pecutan, sandaran dan memulihkan, Bluetooth, pembina isyarat.
JetBoy adalah permainan sampel mereka memberi anda, seperti LunarLander.
Terdapat sejumlah besar aplikasi sampel di sini,
dan mereka semua yang disasarkan kepada pelbagai aspek API Android,
dan idea adalah bahawa apabila anda membuat permohonan
anda tidak perlu belajar segala-galanya tentang Android untuk membuat aplikasi Android.
Anda hanya perlu belajar tentang bahagian-bahagian yang anda sebenarnya akan digunakan.
Lihatlah ini perpustakaan sampel.
Berasa bebas untuk menyalin dan tampal kod dan memohon semula ia.
Ia adalah satu perkara yang besar untuk melihat kod yang lebih sukar
dan cuba untuk memahaminya, yang sudah tentu mengapa dalam CS50
kita sering memberi anda sejumlah besar kod sumber.
Lihatlah sebahagian daripada ini jika anda mahu menggunakan perpustakaan yang sama
dan kemudian memohon kepada kod anda sendiri.
Dan sudah tentu, terdapat tutorial.
Mencari tutorial.
Saya dapati banyak yang baik dalam talian yang boleh membawa anda sehingga kelajuan
dengan apa yang benar-benar adalah serpihan dan bagaimana anda boleh menggunakannya.
>> Antara perkara-perkara ini reka bentuk baru, seperti serpihan,
anda benar-benar tidak perlu bimbang tentang kecuali anda membuat
agak besar dalam projek skop.
Mereka adalah perkara-perkara yang Google cuba untuk menghentikan masuk
Stackoverflow sudah tentu rakan anda.
Mudah-mudahan saya menjual anda sedikit pada Android,
menyedari ia lebih mudah untuk mendekati dari segi hanya bahasa kod.
Java adalah saya mengatakan lebih mudah untuk memahami daripada Objektif-C.
Android berkembang saya fikir lebih daripada IOS.
Maksud saya, data yang ada juga, selain daripada apa yang saya fikirkan.
Ia akan berada di sekitar untuk sementara waktu,
dan mereka adalah beberapa tahun ketinggalan dari segi kitaran reka bentuk,
jadi ia jenis difahami bahawa mereka masih bekerja melalui beberapa
soalan konsisten, seperti bar tindakan ini adalah satu perkara yang baru bagi mereka lagi,
jenis mewujudkan pengalaman pengguna yang sama di semua aplikasi mereka.
Mudah-mudahan anda boleh pergi ke hadapan sekarang dan membuka Eclipse
dan membuat sendiri aplikasi Android anda.
>> Adakah sesiapa yang mempunyai apa-apa soalan sebelum kita menyelesaikan kira-kira apa-apa?
Saya boleh memberitahu anda jawapannya ialah 42.
Nah, gembira kod semua orang, dan nasib baik.
[CS50.TV]