[Powered by Google Translate] [Seminar] [Android Apps (Sekarang dengan Jelly Beans!)]
[Jordan Jozwiak] [Harvard University]
[Ini adalah CS50.] [CS50.TV]
>> Halo semua, dan selamat datang di Apps Android (Sekarang dengan Jelly Beans!) Seminar.
Ini disebut Sekarang dengan Jelly Beans, tentu saja, karena
versi terbaru dari OS disebut Jelly Bean.
Ketika saya berbicara tentang Android tahun lalu dan melakukan seminar ini pada dasarnya sama
Aku sedang mempresentasikan pola desain dan pilihan gaya untuk Gingerbread,
meskipun Ice Cream Sandwich telah keluar pada saat itu,
dan ini adalah sesuatu yang kita akan berbicara tentang pergi ke depan sedikit.
Android, tentu saja, memiliki beberapa masalah dengan fragmentasi,
sehingga sistem operasi Google terbaru biasanya
tidak benar-benar akan menjadi umum di kalangan pengguna untuk berpotensi sampai satu tahun, sayangnya.
>> Tapi mengabaikan itu, kita akan berbicara tentang banyak alasan mengapa
Android jauh lebih baik daripada iOS.
Oke, kita akan berbicara tentang Android vs iOS,
beberapa paradigma desain, bagaimana Anda akan mendapatkan menyiapkan hanya satu slide,
dan perbedaan besar antara ini dan tahun lalu adalah saya hanya ingin
zoom melalui beberapa hal konseptual bekerja dengan
sistem operasi dan kemudian pergi ke contoh yang sangat dasar.
Bahkan, hanya contoh bahwa Google menjelaskan untuk membangun aplikasi pertama Anda,
dan kita akan pergi melalui bersama-sama dan hanya menjelaskan.
>> Saya tahu banyak dari Anda hanya dikodekan dalam C, sehingga Java sudah akan
perspektif yang berbeda, dan cara ini Anda akan mendapatkan kaki Anda basah
dan merasa sedikit lebih nyaman dengan itu penuh harap.
Sebuah ringkasan singkat, Android dibandingkan iOS.
Di Android ada biaya ini pengembang satu kali sebesar $ 25,
semua ini hal $ 100 per tahun.
Tidak ada batasan, yang berarti bahwa jika saya ingin mengirimkan sebuah aplikasi,
Aku hanya menyerahkan itu, dan tidak ada proses persetujuan seperti ada untuk iOS.
Anda bisa mengembangkan dengan Java menggunakan Eclipse,
yang lintas platform, sehingga tidak masalah jika Anda memiliki Mac,
Windows, atau beberapa mesin Linux.
Tentu saja, dengan iOS Anda harus menggunakan Xcode pada Mac,
dan Android digunakan oleh banyak orang,
jadi jika Anda ingin aplikasi Anda untuk memiliki semacam visibilitas atau mungkin
membuat sedikit uang dari iklan
Anda mungkin lebih mungkin untuk mendapatkan keuntungan dari Android.
>> Dan satu hal yang selalu diketahui tentang Android
adalah jumlah ekstrim kustomisasi, sedangkan iOS sangat diperbaiki dengan cara mereka
sehingga mereka dapat menjaga keamanan dan kontrol atas setiap aspek kecil
dari desain dalam OS dan aplikasi individu.
Android adalah bentuk yang sangat bebas, dan ada begitu banyak kemungkinan.
Oke, beberapa paradigma desain.
Perhatikan di sini seperti iOS memiliki tablet dan iPhone dan iPod Touches
mereka harus mendukung, katakanlah, seperti selusin perangkat jika Anda ingin mendukung
benda bersejarah juga.
Dengan Android Anda harus mendukung ratusan perangkat,
sehingga ada beberapa hal bahwa Google telah mencoba untuk menerapkan
untuk membuat pengguna merasakan sedikit lebih konsisten,
tetapi kita juga akan berbicara tentang bagaimana ini berarti bahwa ada masalah fragmentasi
bahwa Anda terus-menerus harus sadar mendukung.
Fragmentasi berarti bahwa ada banyak sistem operasi yang berbeda,
banyak ponsel yang berbeda dengan hardware yang berbeda menjalankan Android semua pada waktu yang sama,
sehingga grafik ini di sini kembali selama sekitar 6 bulan.
Ya, 6 bulan, dan Anda dapat melihat bagaimana band tergelap
di bagian bawah adalah Jelly Bean, yang keluar selama musim panas,
dan Anda dapat lihat sekarang mungkin sekitar 2% dari ponsel memilikinya.
>> Ice Cream Sandwich keluar lebih dari setahun yang lalu,
dan seperempat dari ponsel memilikinya.
Masih banyak ponsel yang menggunakan OS versi dari tahun lalu.
Satu hal yang Google telah mencoba untuk lakukan untuk membuat pengalaman pengguna
banyak lebih konsisten di seluruh aplikasi mulai dengan Honeycomb,
yang merupakan versi tablet, maka Ice Cream Sandwich dan Jelly Bean,
mereka benar-benar berusaha untuk menekankan penggunaan tindakan bar ini,
yang adalah apa yang dapat Anda lihat di atas di sini,
segalanya di sini, termasuk tombol ini sedikit pengaturan.
Ini adalah pilihan desain.
Sekarang, setiap kali Anda melihat 3 titik itu berarti klik ini,
dan akan ada menu drop-down, yang memiliki semacam pengaturan.
Ini hanya muncul karena saya mengklik tombol ini.
Ini adalah sesuatu yang mereka coba gunakan untuk membuat aplikasi yang sedikit lebih konsisten
seluruh papan sehingga pengguna memiliki rasa yang lebih baik dari pengalaman seragam.
>> Oke, jadi jika anda belum melakukan ini sudah atau jika Anda menonton di rumah
maka Anda dapat mengikuti langkah-langkah untuk mengatur lingkungan coding Anda.
Ini akan melibatkan pergi ke situs web di sini.
Anda dapat menginstal Google Android SDK
dan mengikuti beberapa deskripsi di sana.
Mereka menceritakan semuanya.
Mereka memiliki Anda menginstal SDK, Download Eclipse versi klasik,
meskipun, tentu saja, kita coding di Jawa.
Mereka merekomendasikan satu ini, dan kemudian ADT ini, Android Development Tools,
adalah plugin yang diinstal ke dalam Eclipse yang memungkinkan Anda untuk
memiliki pengalaman yang jauh lebih ramping dengan Android dalam Eclipse.
Ini akan memberi Anda beberapa antarmuka pengguna grafis
untuk merancang pandangan, dan itu akan memberikan lebih banyak dukungan
dan kemampuan untuk memulai dengan emulator dan semua hal semacam itu.
Kerangka aplikasi.
>> Saya ingin berbicara tentang bagaimana proyek dalam Android yang terstruktur,
dan kemudian kami akan pergi ke contoh cepat, dan mudah-mudahan
Anda dapat mengajukan pertanyaan pada setiap titik dan merasa nyaman pada akhir itu.
Kami memiliki beberapa jargon pertama.
Suatu kegiatan seperti layar yang Anda lihat ketika Anda memulai sebuah aplikasi.
Seluruh pengalaman adalah kegiatan itu sendiri,
sehingga Anda bisa menganggapnya sebagai layar atau pandangan,
tapi itu sebenarnya sisi kode sumber itu.
Kami masih menyebut bagian antarmuka yang sebenarnya itu pandangan.
Ini semacam seperti bagaimana di pset 7 kami memiliki controller dan kemudian pandangan.
Kegiatan ini lebih atau kurang controller,
dan pandangan apa yang kita lakukan dalam hal XML
yang berhubungan dengan kegiatan itu.
Fragmen adalah sesuatu yang diimplementasikan dalam Ice Cream Sandwich ke depan.
Ini hanya sebuah gagasan mengambil bagian dari pandangan atau kegiatan
dan membagi mereka menjadi wilayah yang terpisah sehingga kita dapat
membuat kode kita lebih bermanfaat bagi banyak perangkat yang berbeda
bahwa kita harus mendukung, dan itu hanya cara untuk mencoba
juga faktor luar kode lebih.
Layanan adalah hal-hal latar belakang seperti bermain musik atau navigasi arah berpotensi.
Penyedia konten, ini adalah API dalam sistem operasi
yang memungkinkan Anda untuk mengakses data bersama seperti informasi kontak,
dan kemudian maksud adalah sesuatu yang kita akan menggunakan ketika kita ingin memulai
aktivitas baru dari aktivitas kita saat ini.
>> Hello Android, ini akan menjadi proyek yang akan kami bicarakan.
Aku benar-benar akan melakukannya untuk Anda, dan kemudian kami akan melakukan sesuatu di mana kita klik tombol
dengan beberapa teks dan meluncurkan kegiatan baru.
Sangat mudah, tapi aku ingin pergi melalui
apa yang akan masuk ke proyek seperti ini.
Ketika Anda membuat proyek baru Anda akan melihat dalam Eclipse
ada proyek ini disebut Hello Android.
Lalu ada sejumlah folder di sini.
Yang Anda benar-benar peduli dengan adalah folder sumber,
folder sumber daya, res, dan sampai batas tertentu folder libs untuk perpustakaan.
Dan hanya supaya kita berada di halaman yang sama dengan
jika Anda adalah untuk membuat proyek baru,
Anda dapat melakukan ini di sini, jadi jika saya ingin menyebutnya HelloAndroid,
dan kemudian secara otomatis melakukan sejumlah besar informasi bagi kita.
Nama paket yang seharusnya menjadi pengenal unik
yang biasanya akan berhubungan dengan situs web, jika Anda memiliki satu.
>> Sebagai contoh, saya akan memanggil net.cs50.helloandroid ini.
Dan aku sudah membuat proyek ini sekali.
Oke, maaf. Mari kita menyebutnya HelloCS50.
Dan kemudian akan menanyakan hal-hal seperti apa yang semacam ikon yang ingin kita buat.
Ini semua karena Pengembang antarmuka Perangkat Android,
plugin yang ditambahkan ke Eclipse, sehingga kita bisa memilih hal-hal seperti
ikon apa yang kita inginkan, dan itu akan masuk ke kedalaman bahwa jika kita ingin.
Tapi pada akhirnya, hanya membuat proyek,
dan semuanya muncul di sini.
Ketika saya menunjukkan di layar lainnya,
kita memiliki folder sumber, dan saya akan berbicara tentang apa semua ini berarti segera,
tetapi Anda dapat melihat bahwa segera itu membawa kita ke HelloCS50 layar.
Ada beberapa tombol di sini untuk menambahkan teks dan teks layout lapangan.
Ini semacam seperti Xcode tapi sayangnya tidak cukup efisien.
Tapi klip akan menjadi teman Anda dan ADT khususnya untuk melakukan hal ini.
>> Oke, folder source adalah dimana
file Java diadakan, dan ini sebenarnya peluncuran program anda.
Pada dasarnya seperti pengendali.
Folder sumber daya atau res adalah di mana kita akan tetap tata letak layar,
gambar, suara, teks, animasi dan segala sesuatu yang lain, libs, jelas, perpustakaan.
Dan Manifest, itu cara bahwa sistem Android tahu
bagaimana berinteraksi dengan aplikasi Anda.
Ini memberitahu itu tentang perizinan dan kegiatan apa yang akan benar-benar dijalankan.
Ini semua informasi penting yang diperlukan untuk menjalankan aplikasi Anda.
Folder sumber-jika kita mengembangkannya seperti yang Anda lihat di sini.
Dan contoh bahwa kode akan terlihat-ini adalah kode default.
Seperti yang kita menyebutnya, MainActivity.
Secara default, kita mendapatkan OnCreate, yang merupakan fungsi yang dipanggil saat beban kegiatan ini,
sehingga Anda ingin menelepon OnCreate (savedInstanceState).
Ini akan mengembalikan setiap bit informasi
dalam kasus app itu berhenti.
>> Ada kegiatan tabel siklus hidup seluruh yang dapat Anda melihat
ketika Anda mendapatkan sedikit lebih mendalam di dalamnya,
namun jalur yang paling penting dari kode ada fungsi setContentView ini
yang akan memuat file sumber daya untuk tata letak.
Lalu apa OnCreate di sini pada dasarnya melakukan itu katakan
ketika saya membuat kegiatan ini saya ingin memuat tata letak ini.
Dan kita akan berbicara tentang apa tata letak yang ada di kedua.
Jika kita memulai bahwa di sini tampak persis seperti ini,
dan secara default karena kita telah melakukan hal ini Eclipse dan ADT melakukannya untuk kita
ini adalah semua kode boilerplate yang dibuat untuk kita,
dan kita bisa bergerak dan mengubah hal-hal yang kita inginkan.
Folder sumber daya, seperti saya katakan, ini adalah di mana kita memegang semua layout,
drawables dalam hal apapun gambar-
mereka disebut drawables-dan kemudian file suara, menu.
Ini adalah cara dari sejumlah besar XML secara diurutkan bagus.
Seperti yang Anda lihat, ada. Hdpi, ldpi, mdpi dan xhdpi folder untuk drawables.
Ini adalah kepadatan layar yang berbeda, kepadatan pixel sangat tinggi per inci,
kepadatan rendah, medium density, kepadatan tinggi ekstra.
>> Ini, sekali lagi, sehingga kita dapat mendukung semua perangkat yang berbeda,
dan idealnya, Anda akan memiliki gambar yang berbeda untuk setiap resolusi yang berbeda.
Tata letak yang mana kita memasukkan semua layout yang berbeda yang akan digunakan dalam kegiatan yang berbeda.
Mereka juga dapat mencakup layout untuk fragmen,
yang berarti kegiatan parsial dasarnya.
Jika Anda ingin melakukan sesuatu yang keren seperti setiap kali Anda memutar telepon
Anda ingin memiliki tata letak yang berbeda yang dapat Anda lakukan tata letak-lanskap sebagai folder yang berbeda,
dan Android secara otomatis memiliki sejumlah aturan ini dalam folder sumber daya,
sehingga akan tahu untuk melihat folder yang berbeda berdasarkan pada konfigurasi saat telepon,
apa jenis perangkat keras yang Anda gunakan.
Demikian pula, nilai-nilai ini-v11 sini dan nilai-V14
dan nilai default folder ini adalah untuk-
baik, nilai-nilai dengan sendirinya, ini akan menjadi nilai default di semua versi sistem operasi.
Di sisi lain, v11 dan V14 sesuai dengan Honeycomb
dan Ice Cream Sandwich, masing-masing.
Sekali lagi, ini adalah cara-cara yang-dalam folder ini adalah string yang berbeda
dan gaya, sehingga Anda dapat menyesuaikan tampilan dari aplikasi Anda
atau bahkan berpotensi fungsinya, meskipun itu mungkin akan menjadi ide yang buruk,
berdasarkan versi dari sistem operasi.
>> Dan saya berbicara tentang semua ini di sini.
Sekali lagi, ditarik, baku, tata letak, nilai-nilai.
Default, jika kita pergi ke Hello Hello Android atau CS50 sekarang
akan terlihat seperti ini.
Ini akan menyapa dunia.
Seperti yang Anda lihat di sini dengan teks Android
teks untuk tampilan teks ini, yang pada dasarnya hanya label,
adalah apa yang kita sebut dalam iOS.
Memiliki lucu ini notasi @ string / hello_world.
Hal ini agar kita bisa-kita berupaya mengambil semua string,
semua string keras-kode di Android ke dalam folder terpisah,
yang akan terjadi di values.strings.
Jika kita lihat di sini, kita dapat melihat bahwa kita memiliki string keras-kode disimpan di sini
untuk hello dunia, dan itu disebut halo dunia, dan ini adalah semacam
keputusan desain umum di banyak platform yang Anda ingin-
string adalah jenis hal yang kita ingin berpotensi dapat mengubah.
Kami tidak ingin mengontrol F dalam file kode sumber kami dalam XML kami.
Kami ingin dapat mengubah ini setiap kali kita mendapatkan kesempatan.
>> Ini file XML, strings.xml, adalah cara ekstraksi
string keras-kode yang lain akan sumber daya kami tata letak
atau dalam kode sumber kami.
Manifest adalah tempat kami menyimpan informasi ini penting tentang aplikasi.
Ini mencakup nama paket. Itu harus menjadi pengenal yang unik.
Berbeda dengan App Store untuk iOS nama-nama aplikasi
tidak harus unik, dan Anda dapat bahkan mengubah nama aplikasi Anda
setelah Anda mengirimkannya, jadi jika saya mulai dengan Angry Birds,
dan kemudian saya membuat update, dan saya tidak ingin merilis versi baru
Kurasa aku bisa menyebutnya Angry Birds 2 sementara aku pada siklus rilis yang sama.
Itu hanya akan muncul sebagai update.
Satu-satunya hal yang harus unik adalah ini nama paket,
yang tidak banyak orang akan melihat.
Nah, Anda hanya akan melihat apakah Anda sedang melihat kode sumber atau jika ada semacam kesalahan.
Komponen meliputi kegiatan, jadi kita harus mendeklarasikan
apapun aktivitas yang kita gunakan.
Ini adalah semacam hal izin.
>> Karena Android tidak memiliki proses aplikasi yang ketat
untuk mengirimkan aplikasi sebaliknya mereka hanya segala sesuatu yang didasarkan dari izin
dan menyatakan hal-hal dalam Manifest.
Versi SDK juga penting.
Kita dapat mengatur digunakan sebagai SDK minimal versi sesuatu.
Jelas, Anda ingin membuat kode
dan desain untuk sistem operasi yang lebih baru.
Mungkin tidak terbaru, mungkin tidak Jelly Bean.
Mungkin Anda ingin merancang terutama untuk Ice Cream Sandwich,
meskipun mereka hampir sama dalam hal keputusan desain
dan perpustakaan aktual dan API.
Namun, bukannya memiliki orang-orang
dari Android versi asli-cara seperti Donut kembali ketika-
yang masih kebetulan menggunakan yang mencoba untuk men-download aplikasi Anda dan kemudian berkata
tidak bekerja pada ponsel saya, Anda dapat mengatur versi minimum
dan memilikinya menjadi Gingerbread atau Ice Cream Sandwich
atau apapun yang Anda merasa nyaman menyerahkan.
Dan ini adalah contoh dari Manifest. Kita bisa melihat sebenarnya satu dalam sedikit.
>> Oke, kita akan maju dengan demo sekarang.
Ini adalah demo jika Anda Google Android membangun aplikasi pertama Anda atau sesuatu seperti itu.
Kita akan pergi melalui segala sesuatu yang terjadi di sana,
dan maaf, hanya untuk referensi yang di sini tahu Java sampai batas tertentu?
Oke, jadi Java adalah bahasa coding baru bagi kebanyakan orang keluar dari CS50.
Secara singkat, untuk pergi lagi apa yang dikatakan di sini,
apa yang ingin kita lakukan adalah daripada menyesuaikan aplikasi ini dunia halo
bahwa semua yang dilakukannya itu meluncurkan dan menyapa dunia
dan menyapa CS50 di atas karena itulah nama kegiatan
kita akan mencoba untuk membuat kolom teks dan tombol
sehingga ketika kita menekan tombol ini akan mengambil teks
dari bidang teks dan meluncurkan kegiatan baru, dan akan mengatakan
apa kata teks yang dalam kegiatan ini, dan ini relatif sederhana.
Hal ini tidak sangat menarik. Anda tidak ingin melepaskan aplikasi seperti ini.
Tapi itu menunjukkan beberapa hal desain penting.
>> Kita harus berinteraksi dengan Manifest, dengan tata letak file,
dengan kode sumber, dan Anda dapat melihat bagaimana untuk memulai satu kegiatan dari yang lain.
Kita akan mulai dengan tata letak untuk kegiatan pertama kami,
yang saya tahu itu jenis kecil,
tetapi karena Anda dapat lihat sekarang, semua itu adalah adalah memiliki logo kami yang kita buat,
nama kegiatan, dan menyapa dunia di tengah.
Sebaliknya, saya pertama kali akan membuat ini menjadi layout linear,
tata letak relatif, dan ini adalah segala sesuatu
Anda bisa mencari dan bernilai pergi atas di beberapa titik dalam hal tata letak.
Ini banyak seperti HTML.
Kami mengatakan itu tidak benar-benar worth mengetahui dalam hal arti program,
tetapi ada begitu banyak layout yang berbeda Anda dapat mengontrol,
dan itu hanya seperti CSS dalam hal gaya.
>> Ada banyak hal yang terjadi hanya dalam hal estetika sini,
dan yeah, ada baiknya belajar, tapi itu adalah semacam hal yang Anda harus mencari
saat Anda pergi dan Anda merasa seperti Anda perlu sesuatu yang baru.
Saya dapat mengambil keuntungan dari beberapa alat ADT di sini setidaknya untuk memulai dengan.
Aku akan membuat kolom teks, dan saya akan membuat sebuah tombol.
Menempatkan mereka di sebelah satu sama lain.
Mereka sudah mengubah ukuran tepat.
Maaf, sekali lagi, kembali ke perbedaan antara linier tata letak dan tata letak relatif,
tata letak linier memberikan fungsionalitas sedikit lebih
dalam hal mengisi ruang dan memastikan
kita posisi hal horizontal atau vertikal.
Perbedaan besar antara tata letak linier dan tata letak yang relatif
adalah posisi letak relatif segalanya relatif terhadap pandangan lain,
dan hal yang baik tentang itu adalah bahwa waktu yang panjang untuk menarik
karena sistem operasi melihat semua kode dan mengatakan ini berjalan
relatif terhadap ini di sini, di sini.
Ini berarti itu membuat pengukuran kurang dari sejumlah besar layout linear bersarang,
yang saya harus lakukan jika saya ingin hal-hal untuk pergi vertikal sini.
>> Saya sudah memiliki beberapa hal yang terjadi secara horizontal, jadi saya akan membutuhkan tata letak linier yang berbeda
ke sarang mereka secara vertikal, tetapi jika aku melakukan tata letak relatif bisa kukatakan
menjaga ini ke kiri, ini ke kanan dan hal-hal di bawah ini.
Tapi karena saya ingin mereka untuk mengisi sekarang saya akan menggunakan tata letak linear,
dan Anda dapat melihat sudah melakukan banyak hal untuk kita.
Semua pandangan harus memiliki properti lebar dan tinggi,
dan ini kebetulan memiliki berat 1, dan ini memiliki berat 1
sehingga mengisi seluruh ruang.
Tapi lebar dan tinggi yang paling penting.
ID ini bidang yang tepat di sini adalah tidak penting dalam tata letak yang sebenarnya
kecuali kita menggunakan tata letak relatif dan mengatakan kita dapat referensi
satu posisi pandangan dalam referensi yang lain.
Jika kita memiliki tata letak yang relatif kita bisa mengatakan posisi ini di bawah satu ini
atau di atas ID ini, tapi ID ini akan menjadi penting
ketika kita menggunakannya dalam kode kami karena kami dapat referensi
ini pandangan individu dengan cara ini.
>> Dan kemudian Anda bisa melihat tag requestFocus, yang merupakan sesuatu yang Anda mungkin melihat di pset 7.
Ada auto fokus tag atau sesuatu di sepanjang baris untuk salah satu bidang.
Dan satu hal, tentu saja, kita bisa melakukan seperti di HTML,
dan perhatikan salah satu hal menyenangkan tentang ADT adalah bahwa hal itu autocompletes sini.
Mungkin tidak semanis itu di Xcode, tapi itu tidak tetap,
dan kita bisa mengatakan petunjuk dan kemudian memberikan semacam string
seperti menulis pesan,
dan jika saya memberikan sejenak, juga melihat bahwa saya mendapatkan sedikit kesalahan di sini
mengatakan bahwa kita harus menggunakan string sumber daya untuk ini,
jadi jika saya membiarkannya melakukan beberapa pekerjaan sulit bagi saya
Saya dapat memilih string ini, lakukan refraktor Android dan ekstrak Android tali.
Aku bisa memberikan nama itu, menulis pesan,
dan apa itu sekarang diganti yang keras-kode string yang
dengan mengacu pada string dalam string xml.,
yang berarti sekarang ini di sini.
>> Dan saya tahu bahwa tampaknya sedikit sepele dan seperti pekerjaan ekstra pada saat ini,
tetapi ketika Anda memiliki sejumlah hal, sejumlah besar string,
yang benar-benar penting, dan terutama untuk lokalisasi
karena seperti yang saya sebutkan sebelumnya, Android adalah sistem operasi yang sangat global digunakan
bahwa Anda hanya dapat melakukan nilai-nilai atau en-sp
atau sesuatu untuk bahasa Inggris atau Spanyol atau lainnya.
Dan kemudian Anda mungkin tidak memiliki pengalaman ini belum
karena kita tidak melakukan banyak JavaScript dalam hal pemrograman web,
tetapi kita juga bisa melakukan bidang ini disebut onClick untuk tombol,
dan ini adalah cara referensi dalam tata letak kami
yang kita inginkan fungsi tertentu untuk dipanggil dalam kode sumber kami.
Aku akan menelepon SendMessage ini,
dan dalam rangka untuk membuat pekerjaan ini yang berarti dalam kegiatan utama di sini
Saya harus membuat fungsi yang bersifat publik
sehingga dapat diakses oleh tata letak.
Ini berlaku karena Anda hanya tidak ingin kembali apa-apa.
Kita akan menyebutnya SendMessage, dan dibutuhkan pandangan,
yang merupakan semacam konteks yang kita dapat jangkar metode ini
dengan pandangan individu saat kita menjalankannya.
>> Dan saya tidak tahu apakah Anda memperhatikan-baik, Anda tidak akan melihat,
tapi pada saat ini di sini
pandangan ini adalah jenis yang belum disertakan,
dan tentu saja, Anda semua tahu dari CS50 tentang tidak termasuk jenis.
Yang menyenangkan tentang IDE seperti Eclipse adalah bahwa
jika Anda lupa untuk menyertakan tipe itu akan menggarisbawahi dengan sedikit merah berlekuk-lekuk
dan kemudian memberikan Anda pilihan untuk mengimpor pandangan.
Cara cepat untuk melakukan itu adalah shift control O, dan akan mengimpor
semua file yang perlu.
Sekarang bahwa kita memiliki fungsi ini SendMessage,
yang akan mengirim pesan dari MainActivity ke aktivitas baru,
kita akan harus menggunakan niat untuk memulai aktivitas baru dari satu ini,
jadi kami mungkin akan ingin membuat konstanta global atau juga sangat konstan publik
yang akan membantu kita tahu bagaimana kita akan referensi string
karena ketika kita membuat niat kita tidak hanya menyebut aktivitas baru,
tetapi kita juga dapat memberikan bundel informasi.
Bundel A sebenarnya adalah istilah yang menggunakan Android,
dan itu adalah cara untuk mengatakan memberikan data tambahan, yang tidak bisa menjadi tipe data yang sangat canggih,
tapi kami pasti dapat mencakup boolean atau string atau int.
Hal semacam itu.
>> Jangan ragu untuk bertanya tentang kualifikasi ini di sini,
publik, akhir, statis.
Publik adalah salah satu yang penting.
Ini berarti bahwa kita dapat mengakses variabel ini dari file kode sumber lain
seperti ketika kita membuat aktivitas baru.
Kita dapat referensi string dalam file ini.
Jika itu pribadi, itu berarti itu terbatas pada file ini individu di sini.
Tapi kita akan menyebut sesuatu seperti ini pesan tambahan.
Sekarang kita telah membuat fungsi ini, dan jika kita klik tombol, fungsi ini akan dipanggil.
Tapi kita belum melakukan apa-apa, jelas, dengan fungsi.
Apa yang kami ingin lakukan sekarang adalah membuat aktivitas baru,
kegiatan yang benar-benar akan diluncurkan.
Dalam Eclipse kita dapat mengatakan baru, kegiatan Android, aktivitas kosong.
Kita bisa memberikan nama.
Sebut saja aktivitas hasil kami.
Dan kemudian bidang ini orangtua hirarkis adalah cara menentukan
bagaimana kegiatan terkait satu sama lain.
Karena yang satu ini akan diluncurkan dari kegiatan lain
kita harus menentukan bahwa ia memiliki kegiatan utama orangtua.
>> Dan aku bisa mengklik kolom berikutnya di sana, yang akan memberitahu kami
beberapa bidang opsional yang itu juga termasuk,
tapi hal yang menyenangkan tentang ADT, sekali lagi, adalah bahwa jika saya gulir ke bawah sini
di Manifest ingat bahwa semua ini benar-benar telah disertakan secara default
ketika kita awalnya dibuat proyek,
dan sekarang karena kami menggunakan ini membuat aktivitas baru bukan hanya
menambahkan file kelas kita sendiri karena kita pergi melalui GUI mereka untuk melakukan hal ini
sudah menambahkan semua ini untuk Manifest bagi kita,
yang hanya berarti bahwa sekarang sistem operasi tidak akan mengeluh
ketika kita mencoba untuk memulai kegiatan ini.
Dan itu juga, tentu saja, memberikan label, yang juga muncul dalam string.
Ia melakukan banyak hal di ujung belakang bagi kita.
Pokoknya, sekarang kita memiliki kegiatan ini hasil juga,
file kode sumber yang sebenarnya dalam folder sumber,
dan Anda dapat melihat-secara singkat menyentuh ini-
karena kita diberitahu tentang orang tua ini hirarkis
itu memberi bidang ini android.r.ide.home di onOption ini hal yang dipilih.
>> Apa ini pada dasarnya katakan adalah ada tombol menu sekarang
bahwa di sudut kiri atas layar
jika saya kembali ke PowerPoint di mana kami pertama kali berbicara tentang panel tindakan
karena orangtua hirarkis sekarang ada panah kecil kembali ke sini
dan ini diklik sehingga kita harus bisa-setelah kami benar-benar menjalankan aplikasi ini-
kembali, dan itu adalah cara menyelamatkan kita sedikit kode di sana.
Sekarang dalam hal ini-baik, tampaknya akan mengeluh tentang hal itu sejenak.
Mari kita berkomentar bahwa keluar.
Sekarang, dalam rangka untuk benar-benar berinteraksi dengan 2 kegiatan,
kita harus membuat intent yang mencakup semua data ini.
Dalam SendMessage sekarang aku akan pelayaran melalui beberapa bit kode
dan menjelaskan bahwa saat aku pergi.
Sebuah niat, seperti yang saya katakan, adalah cara untuk memulai satu kegiatan dari yang lain.
Intent adalah tipe. Kami menciptakan myIntent variabel.
>> Dan ini sebenarnya obyek, itulah sebabnya mengapa kita harus memanggil baru.
Ini penggunaan Java umum di sana, yang mungkin mengambil sedikit membiasakan diri.
Ini berarti kita menggunakan kegiatan atau MainActivity kelas,
dan niat dengan cara yang mengambil kegiatan itu akan dari
dan kegiatan itu akan, yang kita sebut ResultActivity,
dan itu adalah kelas tersendiri.
Sertakan itu.
Dan kemudian seperti yang saya sebutkan sebelumnya, kami memberikan ID yang ke kolom teks sunting
dan tampilan teks, sehingga untuk pemrograman menangkap
teks yang ada di EditText yang
kita menggunakan fungsi ini disebut findViewById,
yang mirip dengan sesuatu yang akan Anda gunakan ketika mencoba untuk mendapatkan fields dari DOM.
Mungkin Daud berbicara tentang hal ini dalam kuliah.
Tapi itu hanya cara untuk mendapatkan orang-itu sebabnya kita tag-hal ini dengan bidang tersebut.
Id.editText1.
Ini sudah autocompleting bagi saya ada.
>> Dan kemudian kami juga akan menyertakan-ini EditText sekarang bahwa kita memiliki lapangan
dalam program kami, semua yang findViewById lakukan adalah pada dasarnya
Anda bisa menganggapnya sebagai memberikan referensi untuk EditText itu.
Sekarang kita ingin mendapatkan string atau pesan
dalam bahwa EditText yang bisa kita lakukan dengan menggunakan-
Anda bisa memikirkan EditText sebagai struct-
kita menyebutnya obyek di Jawa-dengan sejumlah metode yang berbeda
atau bidang dan atribut yang melekat padanya.
Ketika saya mengatakan EditText. itu memberi saya kesempatan untuk mengakses
metode seperti getText, yang akan mendapatkan teks saat
dalam EditText itu dan kemudian dikonversi yang secara eksplisit
ke string, dan kami telah menyimpan pesan.
Sekarang kita benar-benar ingin melakukan sesuatu dengan maksud kita buat beberapa saat yang lalu.
Aku akan menaruh ekstra seperti disebut dalam maksud,
yang, sekali lagi, seperti saya katakan sebelumnya, ini adalah cara untuk menciptakan bundel
dengan sejumlah besar data.
Pesan Extra adalah tag kami sehingga kami tahu apa yang kita menyimpan ini di bawah,
dan kemudian saya termasuk pesan.
>> Dan kemudian kita benar-benar dapat memulai aktivitas dengan memberi myIntent parameter.
Dan ini benar-benar akan meluncurkan aktivitas, jadi sekarang karena saya upgrade ke Windows 8
mungkin ada beberapa kesalahan yang muncul sebentar, tetapi cobalah untuk mengabaikan mereka.
Dan ini adalah emulator Android.
Semoga kode benar-benar akan muncul dalam sekejap.
Sekali lagi, mengabaikan semua hal-hal kecil.
Tapi emulator Android Anda dapat meniru setiap versi sistem operasi
dari yang paling awal, Donut, Gingerbread.
Ini adalah Jelly Bean 4.1.
Tapi seperti yang Anda lihat sekarang, ini adalah sesuatu yang kami buat.
Ini memiliki MainActivity, EditText itu, tombol.
Saya bisa mengetik sesuatu di sini, tapi apa yang kita hilang pada saat ini?
Kami membuat lapangan di MainActivity itu akan mengirim pesan
dengan kegiatan lain, tapi pada saat ini
kita tidak melakukan apa-apa dalam kegiatan lain, sehingga tidak akan menerima apa-apa.
Mari kita selesaikan bagian itu sebelum kita melanjutkan.
>> Kegiatan ini hasil, apa yang kita harus lakukan adalah kita harus lakukan adalah kita harus-
kami juga dapat referensi maksud dalam kegiatan ini,
jadi kita harus menangkap maksud, yang benar-benar sederhana.
Ini adalah fungsi yang termasuk dalam kelas aktivitas,
jadi kami hanya bisa mengatakan "Dapatkan pesan dari maksud."
"Intent myIntent = getIntent."
Dan ini akan memberi kita-sekarang myIntent adalah obyek,
yang merupakan referensi untuk maksud yang membawa kita ke kegiatan ini.
MainActivity panggilan dan memberikan informasi tambahan untuk menghasilkan aktivitas.
Hasil kegiatan sekarang melihat maksud yang mengarah di sini,
dan kita bisa mengakses pesan yang kita buat di yang lain,
getStringExtra, dan ini akan autocomplete untuk saya.
Dan kemudian ingat, cara kita tag yang bit data
adalah dengan memberikan bidang ini di sini, ini public string,
yang merupakan tag untuk string kita benar-benar dimasukkan.
>> Jika saya mengatakan MainActivity.Extra_Message
itu ada di sana, dan ini adalah semacam nama parameter
ketika kita melewati kode dari controller ke template,
ketika kita akan mengatakan judul panah sesuatu.
Ini jenis yang sama ide di sana.
Sekarang, ingat ini.
Kami juga auto ini dibuat atau auto menghasilkan kode
untuk kegiatan hasil, yang meliputi tampilan teks di tengah
yang mengatakan hello world.
Kami berpotensi bisa membuat itu lebih besar.
Mari kita melakukan yang pertama.
Kita bisa membuat 40 kerapatan piksel independen.
Mari kita lihat, yang super besar. Itu akan baik-baik saja.
Dan kemudian untuk referensi ini tampilan teks individual dalam kode kita
kita harus memberikan ID,
dan untuk melakukan itu kita katakan @ + id, yang berarti kita menetapkan ID.
Jika kita hanya mengatakan @ id akan menganggap kita referensi ID yang sudah ada,
dan mari kita sebut ini resultTextView kami.
Dan melihat bahwa dalam XML tidak perlu untuk titik koma atau apa pun.
Semuanya dalam tag ini.
Ini sangat mirip dengan HTML dalam banyak indera.
>> Dibutuhkan sedikit membiasakan diri, tetapi akhirnya Anda akan merasa cukup nyaman dengan itu.
Mari kita memperbarui teks untuk tampilan teks hasil kami,
dan seperti yang kita lakukan ketika kita mendapatkan bahwa bidang teks mengedit dalam kegiatan kami yang lain
di MainActivity sini kami juga akan juga-
kita akan menemukan tampilan dengan ID.
Dan R, dalam kasus saya tidak menyebutkan ini sebelumnya, adalah referensi ke folder sumber daya kami,
dan kemudian ID adalah referensi untuk segala sesuatu dalam folder sumber daya, semua ID,
dan resultTextView.
Dan sama seperti sebelumnya, resultTextView adalah obyek,
yang berarti memiliki semua sifat ini terkait dengan itu.
Ketika kita menggunakan getText untuk teks untuk mengedit teks ini lapangan atau tampilan teks
kita benar-benar bisa menggunakan setText,
dan kemudian kita sudah menemukan pesan dari maksud,
sehingga saya dapat mengatakan pesan, dan ini akan benar-benar mengatur pesan.
>> Ini mengambil waktu sejenak untuk memulai, dan kemudian kita dapat melihat apakah atau tidak itu crash,
tetapi pertanyaan tentang proses yang di sana, semacam interaksi?
Dalam banyak hal itu mudah.
Alasan aku akan melalui sesuatu yang relatif sederhana
, sekali lagi, karena Anda bisa melihat interaksi antara tata letak,
kode sumber, bagaimana Anda referensi hal
dan mungkin mendapatkan sedikit paparan bagaimana Java bekerja di sana.
Jika saya benar-benar mengetik sesuatu di sini, seperti ohai, dan kemudian saya klik tombol,
itu meluncurkan kegiatan baru, dan tampilan teks mengatakan ohai.
Itu sangat sederhana, tapi mudah-mudahan setelah contoh yang
Anda semacam melihat bagaimana interaksi ini bekerja, dan sekarang bahwa kekacauan file
di sisi kiri untuk semua folder ini proyek, mudah-mudahan Anda tahu di mana mencarinya sekarang.
Ini adalah daerah kode sumber Anda.
>> Tata letak benar-benar satu-satunya hal yang Anda akan berurusan dengan sampai Anda memasukkan gambar
dan drawables atau apa pun, dan nilai-nilai, yang akan mencakup string,
seperti yang telah disebutkan, dan kemudian gaya adalah sesuatu yang semacam seperti CSS.
Mengatasinya bila Anda ingin, tetapi sampai Anda merasa nyaman dengan menambahkan bakat ekstra
untuk aplikasi Anda tidak perlu khawatir tentang hal itu terlalu banyak.
Hanya untuk membungkus satu hal lain Anda pasti akan ingin menyertakan-
dengan asumsi Anda ingin mengintegrasikan fitur-fitur keren dan menyelamatkan diri beberapa tambahan coding-
akan termasuk perpustakaan pihak ke-3.
Berikut orang Android sedikit dengan Sherlock Holmes topi.
Ini merupakan tindakan bar Sherlock perpustakaan,
yang pada dasarnya berarti bahwa panel tindakan Anda lihat sebelumnya,
yang sekarang standar dalam Ice Cream Sandwich dan Jelly Bean,
jika Anda ingin membawa semacam pengalaman pengguna kepada pengguna pada versi lama
dan menyelamatkan diri dari khawatir tentang bagaimana pengguna akan menavigasi
pada versi lama ketika hal yang tidak ada Anda dapat memasukkan perpustakaan ini
dan kemudian Anda hanya perlu referensi-bukan default Android
perpustakaan untuk panel tindakan, Anda referensi perpustakaan dukungan ini.
>> Hal-hal seperti Scoreloop, itu bagus jika Anda akan untuk memasukkan permainan.
Ini memungkinkan Anda menambahkan papan pemimpin dan prestasi ke permainan.
Admob adalah cara menempatkan iklan ke dalam aplikasi Anda
jika anda ingin membuat sedikit uang dari itu.
Tentu saja, ada Facebook dan Twitter untuk mengintegrasikan ada
jika Anda ingin berbagi hal-hal mudah, dan sebagainya.
Dropbox, juga, dan Google Analytics adalah bahwa grafik mencari orang di sana.
Itu akan sangat penting jika Anda benar-benar ingin melihat siapa yang berinteraksi
dengan aplikasi Anda atau siapa itu, bagaimana mereka berinteraksi, dan sebagainya.
Google, secara default, memberitahu Anda banyak tentang statistik yang telah terinstal aplikasi Anda
dan apa ponsel yang mereka miliki, apa versi sistem operasi yang mereka miliki.
Tetapi jika Anda ingin melihat siapa yang menggunakannya setiap hari dan bagaimana mereka menggunakannya
maka Anda akan ingin memasukkan semacam sistem pelacakan seperti itu.
>> Ketika Anda siap untuk mendistribusikan aplikasi Anda
Saya tidak perlu pergi ke bahwa terlalu banyak mendalam.
Klik pada link di sini, Google Play.
Ini digunakan untuk menjadi pasar Android.
Mereka namanya segala sesuatu dengan Google Play,
jadi sekarang Anda kirimkan itu.
Ini sangat mudah.
Anda harus menyertakan deskripsi, beberapa screenshot.
Seperti saya katakan, tidak ada proses persetujuan seperti iOS.
Dan ke mana harus pergi dari sini?
Saya menunjukkan contoh yang sangat sederhana.
Mudah-mudahan jika tampaknya sangat sederhana
maka itu mungkin pertanda baik.
Jika Anda sama sekali merasa sedikit bingung atau tidak yakin tentang apa yang saya mengetik
itu juga baik-baik saja, tapi dari sini pergi ke Google Guides.
Ini adalah tempat yang bagus untuk memulai.
Ini akan berbicara Anda melalui apa yang mereka harapkan dalam hal desain aplikasi,
bagaimana pengguna biasanya berinteraksi dengan itu.
Ini jauh lebih bebas daripada bentuk iOS, aku akan mengatakan,
yang tampaknya seperti tampilan tabel-Aku tidak tahu, itu roti dan mentega.
Semuanya adalah tampilan tabel geser ke atas dan ke bawah.
Dengan Android mereka pasti mendorong orang untuk melihatnya dari
sejumlah besar perspektif yang berbeda.
>> Bila Anda termasuk kit pengembangan perangkat lunak di ADT ini
secara default Anda memiliki sejumlah besar proyek sampel di Android.
Di sini, Android, Contoh Proyek Android.
Jika saya klik pada itu, maka saya bisa memilih versi yang sampel proyek berlaku.
Ada sejumlah hal yang berbeda di sini.
Ini dimulai dengan tindakan bar kompatibilitas,
accelerometer bermain, backup dan restore, Bluetooth, pembangun gerakan.
JetBoy adalah permainan sampel mereka memberi Anda, seperti LunarLander.
Ada sejumlah besar aplikasi sampel di sini,
dan mereka semua ditargetkan pada aspek yang berbeda dari API Android,
dan gagasan adalah bahwa ketika Anda membuat aplikasi Anda
Anda tidak perlu mempelajari segala sesuatu tentang Android untuk membuat aplikasi Android.
Anda hanya harus belajar tentang bagian-bagian yang Anda benar-benar akan digunakan.
Lihatlah orang-perpustakaan sampel.
Jangan ragu untuk copy dan paste kode dan permohonan kembali itu.
Ini adalah hal yang besar untuk melihat kode lebih sulit
dan mencoba untuk memahaminya, yang tentu saja mengapa dalam CS50
kita sering memberikan jumlah besar kode sumber.
Lihatlah beberapa ini jika Anda akan menggunakan perpustakaan yang serupa
dan kemudian menerapkannya pada kode Anda sendiri.
Dan tentu saja, ada tutorial.
Mencari tutorial.
Saya menemukan banyak orang-orang baik secara online yang dapat membawa Anda sampai dengan kecepatan
dengan apa yang fragmen sebenarnya dan bagaimana Anda dapat menggunakannya.
>> Beberapa hal desain baru, seperti fragmen,
Anda benar-benar tidak harus khawatir tentang kecuali Anda membuat
yang cukup besar dalam proyek lingkup.
Mereka adalah hal-hal yang Google sedang mencoba untuk masuk fase
Stackoverflow tentu teman Anda.
Mudah-mudahan saya menjual sedikit pada Android,
menyadari itu jauh lebih mudah untuk mendekati dalam hal hanya bahasa coding.
Java adalah saya akan mengatakan lebih mudah dimengerti daripada Objective-C.
Android tumbuh saya pikir lebih dari iOS.
Maksudku, data juga ada, selain dari apa yang saya pikirkan.
Ini akan menjadi sekitar untuk sementara waktu,
dan mereka adalah beberapa tahun belakang dalam hal siklus desain mereka,
jadi semacam dimengerti bahwa mereka masih bekerja melalui beberapa
pertanyaan konsistensi, seperti tindakan bar ini adalah hal yang baru bagi mereka masih,
semacam menciptakan pengalaman serupa pengguna di semua aplikasi mereka.
Mudah-mudahan Anda bisa maju sekarang dan membuka Eclipse
dan membuat aplikasi Android sendiri.
>> Apakah ada yang memiliki pertanyaan sebelum kita menyelesaikan apa?
Saya dapat memberitahu Anda jawabannya adalah 42.
Yah, senang coding semua orang, dan keberuntungan.
[CS50.TV]