1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Seminar] [Android Apps (Sekarang dengan Jelly Beans!)] 2 00:00:02,610 --> 00:00:04,210 [Jordan Jozwiak] [Harvard University] 3 00:00:04,210 --> 00:00:06,780 [Ini adalah CS50.] [CS50.TV] 4 00:00:06,780 --> 00:00:11,600 >> Halo semua, dan selamat datang di Apps Android (Sekarang dengan Jelly Beans!) Seminar. 5 00:00:11,600 --> 00:00:14,530 Ini disebut Sekarang dengan Jelly Beans, tentu saja, karena 6 00:00:14,530 --> 00:00:17,310 versi terbaru dari OS disebut Jelly Bean. 7 00:00:17,310 --> 00:00:22,950 Ketika saya berbicara tentang Android tahun lalu dan melakukan seminar ini pada dasarnya sama 8 00:00:22,950 --> 00:00:29,150 Aku sedang mempresentasikan pola desain dan pilihan gaya untuk Gingerbread, 9 00:00:29,150 --> 00:00:31,250 meskipun Ice Cream Sandwich telah keluar pada saat itu, 10 00:00:31,250 --> 00:00:33,680 dan ini adalah sesuatu yang kita akan berbicara tentang pergi ke depan sedikit. 11 00:00:33,680 --> 00:00:35,720 Android, tentu saja, memiliki beberapa masalah dengan fragmentasi, 12 00:00:35,720 --> 00:00:40,240 sehingga sistem operasi Google terbaru biasanya 13 00:00:40,240 --> 00:00:44,710 tidak benar-benar akan menjadi umum di kalangan pengguna untuk berpotensi sampai satu tahun, sayangnya. 14 00:00:44,710 --> 00:00:49,960 >> Tapi mengabaikan itu, kita akan berbicara tentang banyak alasan mengapa 15 00:00:49,960 --> 00:00:53,000 Android jauh lebih baik daripada iOS. 16 00:00:53,000 --> 00:00:56,410 Oke, kita akan berbicara tentang Android vs iOS, 17 00:00:56,410 --> 00:00:59,770 beberapa paradigma desain, bagaimana Anda akan mendapatkan menyiapkan hanya satu slide, 18 00:00:59,770 --> 00:01:03,410 dan perbedaan besar antara ini dan tahun lalu adalah saya hanya ingin 19 00:01:03,410 --> 00:01:06,860 zoom melalui beberapa hal konseptual bekerja dengan 20 00:01:06,860 --> 00:01:09,950 sistem operasi dan kemudian pergi ke contoh yang sangat dasar. 21 00:01:09,950 --> 00:01:13,730 Bahkan, hanya contoh bahwa Google menjelaskan untuk membangun aplikasi pertama Anda, 22 00:01:13,730 --> 00:01:17,070 dan kita akan pergi melalui bersama-sama dan hanya menjelaskan. 23 00:01:17,070 --> 00:01:22,100 >> Saya tahu banyak dari Anda hanya dikodekan dalam C, sehingga Java sudah akan 24 00:01:22,100 --> 00:01:27,220 perspektif yang berbeda, dan cara ini Anda akan mendapatkan kaki Anda basah 25 00:01:27,220 --> 00:01:31,540 dan merasa sedikit lebih nyaman dengan itu penuh harap. 26 00:01:31,540 --> 00:01:35,330 Sebuah ringkasan singkat, Android dibandingkan iOS. 27 00:01:35,330 --> 00:01:39,200 Di Android ada biaya ini pengembang satu kali sebesar $ 25, 28 00:01:39,200 --> 00:01:42,390 semua ini hal $ 100 per tahun. 29 00:01:42,390 --> 00:01:45,440 Tidak ada batasan, yang berarti bahwa jika saya ingin mengirimkan sebuah aplikasi, 30 00:01:45,440 --> 00:01:51,560 Aku hanya menyerahkan itu, dan tidak ada proses persetujuan seperti ada untuk iOS. 31 00:01:51,560 --> 00:01:53,890 Anda bisa mengembangkan dengan Java menggunakan Eclipse, 32 00:01:53,890 --> 00:01:57,090 yang lintas platform, sehingga tidak masalah jika Anda memiliki Mac, 33 00:01:57,090 --> 00:01:59,600 Windows, atau beberapa mesin Linux. 34 00:01:59,600 --> 00:02:03,730 Tentu saja, dengan iOS Anda harus menggunakan Xcode pada Mac, 35 00:02:03,730 --> 00:02:06,930 dan Android digunakan oleh banyak orang, 36 00:02:06,930 --> 00:02:11,580 jadi jika Anda ingin aplikasi Anda untuk memiliki semacam visibilitas atau mungkin 37 00:02:11,580 --> 00:02:14,110 membuat sedikit uang dari iklan 38 00:02:14,110 --> 00:02:17,450 Anda mungkin lebih mungkin untuk mendapatkan keuntungan dari Android. 39 00:02:17,450 --> 00:02:20,630 >> Dan satu hal yang selalu diketahui tentang Android 40 00:02:20,630 --> 00:02:25,100 adalah jumlah ekstrim kustomisasi, sedangkan iOS sangat diperbaiki dengan cara mereka 41 00:02:25,100 --> 00:02:29,380 sehingga mereka dapat menjaga keamanan dan kontrol atas setiap aspek kecil 42 00:02:29,380 --> 00:02:34,180 dari desain dalam OS dan aplikasi individu. 43 00:02:34,180 --> 00:02:40,180 Android adalah bentuk yang sangat bebas, dan ada begitu banyak kemungkinan. 44 00:02:40,180 --> 00:02:42,530 Oke, beberapa paradigma desain. 45 00:02:42,530 --> 00:02:49,600 Perhatikan di sini seperti iOS memiliki tablet dan iPhone dan iPod Touches 46 00:02:49,600 --> 00:02:53,840 mereka harus mendukung, katakanlah, seperti selusin perangkat jika Anda ingin mendukung 47 00:02:53,840 --> 00:02:55,450 benda bersejarah juga. 48 00:02:55,450 --> 00:02:58,410 Dengan Android Anda harus mendukung ratusan perangkat, 49 00:02:58,410 --> 00:03:01,240 sehingga ada beberapa hal bahwa Google telah mencoba untuk menerapkan 50 00:03:01,240 --> 00:03:04,970 untuk membuat pengguna merasakan sedikit lebih konsisten, 51 00:03:04,970 --> 00:03:08,560 tetapi kita juga akan berbicara tentang bagaimana ini berarti bahwa ada masalah fragmentasi 52 00:03:08,560 --> 00:03:11,700 bahwa Anda terus-menerus harus sadar mendukung. 53 00:03:11,700 --> 00:03:16,140 Fragmentasi berarti bahwa ada banyak sistem operasi yang berbeda, 54 00:03:16,140 --> 00:03:20,330 banyak ponsel yang berbeda dengan hardware yang berbeda menjalankan Android semua pada waktu yang sama, 55 00:03:20,330 --> 00:03:29,680 sehingga grafik ini di sini kembali selama sekitar 6 bulan. 56 00:03:29,680 --> 00:03:36,460 Ya, 6 bulan, dan Anda dapat melihat bagaimana band tergelap 57 00:03:36,460 --> 00:03:39,330 di bagian bawah adalah Jelly Bean, yang keluar selama musim panas, 58 00:03:39,330 --> 00:03:42,970 dan Anda dapat lihat sekarang mungkin sekitar 2% dari ponsel memilikinya. 59 00:03:42,970 --> 00:03:45,520 >> Ice Cream Sandwich keluar lebih dari setahun yang lalu, 60 00:03:45,520 --> 00:03:47,770 dan seperempat dari ponsel memilikinya. 61 00:03:47,770 --> 00:03:53,910 Masih banyak ponsel yang menggunakan OS versi dari tahun lalu. 62 00:03:53,910 --> 00:03:57,820 Satu hal yang Google telah mencoba untuk lakukan untuk membuat pengalaman pengguna 63 00:03:57,820 --> 00:04:01,400 banyak lebih konsisten di seluruh aplikasi mulai dengan Honeycomb, 64 00:04:01,400 --> 00:04:04,320 yang merupakan versi tablet, maka Ice Cream Sandwich dan Jelly Bean, 65 00:04:04,320 --> 00:04:06,750 mereka benar-benar berusaha untuk menekankan penggunaan tindakan bar ini, 66 00:04:06,750 --> 00:04:10,430 yang adalah apa yang dapat Anda lihat di atas di sini, 67 00:04:10,430 --> 00:04:14,730 segalanya di sini, termasuk tombol ini sedikit pengaturan. 68 00:04:14,730 --> 00:04:16,079 Ini adalah pilihan desain. 69 00:04:16,079 --> 00:04:18,000 Sekarang, setiap kali Anda melihat 3 titik itu berarti klik ini, 70 00:04:18,000 --> 00:04:21,880 dan akan ada menu drop-down, yang memiliki semacam pengaturan. 71 00:04:21,880 --> 00:04:28,900 Ini hanya muncul karena saya mengklik tombol ini. 72 00:04:28,900 --> 00:04:32,040 Ini adalah sesuatu yang mereka coba gunakan untuk membuat aplikasi yang sedikit lebih konsisten 73 00:04:32,040 --> 00:04:39,210 seluruh papan sehingga pengguna memiliki rasa yang lebih baik dari pengalaman seragam. 74 00:04:39,210 --> 00:04:42,640 >> Oke, jadi jika anda belum melakukan ini sudah atau jika Anda menonton di rumah 75 00:04:42,640 --> 00:04:50,210 maka Anda dapat mengikuti langkah-langkah untuk mengatur lingkungan coding Anda. 76 00:04:50,210 --> 00:04:52,630 Ini akan melibatkan pergi ke situs web di sini. 77 00:04:52,630 --> 00:04:56,260 Anda dapat menginstal Google Android SDK 78 00:04:56,260 --> 00:04:59,130 dan mengikuti beberapa deskripsi di sana. 79 00:04:59,130 --> 00:05:01,310 Mereka menceritakan semuanya. 80 00:05:01,310 --> 00:05:05,160 Mereka memiliki Anda menginstal SDK, Download Eclipse versi klasik, 81 00:05:05,160 --> 00:05:07,450 meskipun, tentu saja, kita coding di Jawa. 82 00:05:07,450 --> 00:05:12,190 Mereka merekomendasikan satu ini, dan kemudian ADT ini, Android Development Tools, 83 00:05:12,190 --> 00:05:17,300 adalah plugin yang diinstal ke dalam Eclipse yang memungkinkan Anda untuk 84 00:05:17,300 --> 00:05:20,550 memiliki pengalaman yang jauh lebih ramping dengan Android dalam Eclipse. 85 00:05:20,550 --> 00:05:24,070 Ini akan memberi Anda beberapa antarmuka pengguna grafis 86 00:05:24,070 --> 00:05:29,610 untuk merancang pandangan, dan itu akan memberikan lebih banyak dukungan 87 00:05:29,610 --> 00:05:34,840 dan kemampuan untuk memulai dengan emulator dan semua hal semacam itu. 88 00:05:34,840 --> 00:05:36,090 Kerangka aplikasi. 89 00:05:36,090 --> 00:05:41,590 >> Saya ingin berbicara tentang bagaimana proyek dalam Android yang terstruktur, 90 00:05:41,590 --> 00:05:44,830 dan kemudian kami akan pergi ke contoh cepat, dan mudah-mudahan 91 00:05:44,830 --> 00:05:48,820 Anda dapat mengajukan pertanyaan pada setiap titik dan merasa nyaman pada akhir itu. 92 00:05:48,820 --> 00:05:50,090 Kami memiliki beberapa jargon pertama. 93 00:05:50,090 --> 00:05:55,330 Suatu kegiatan seperti layar yang Anda lihat ketika Anda memulai sebuah aplikasi. 94 00:05:55,330 --> 00:05:57,840 Seluruh pengalaman adalah kegiatan itu sendiri, 95 00:05:57,840 --> 00:06:00,790 sehingga Anda bisa menganggapnya sebagai layar atau pandangan, 96 00:06:00,790 --> 00:06:04,540 tapi itu sebenarnya sisi kode sumber itu. 97 00:06:04,540 --> 00:06:12,680 Kami masih menyebut bagian antarmuka yang sebenarnya itu pandangan. 98 00:06:12,680 --> 00:06:17,230 Ini semacam seperti bagaimana di pset 7 kami memiliki controller dan kemudian pandangan. 99 00:06:17,230 --> 00:06:20,690 Kegiatan ini lebih atau kurang controller, 100 00:06:20,690 --> 00:06:23,360 dan pandangan apa yang kita lakukan dalam hal XML 101 00:06:23,360 --> 00:06:25,260 yang berhubungan dengan kegiatan itu. 102 00:06:25,260 --> 00:06:29,340 Fragmen adalah sesuatu yang diimplementasikan dalam Ice Cream Sandwich ke depan. 103 00:06:29,340 --> 00:06:36,380 Ini hanya sebuah gagasan mengambil bagian dari pandangan atau kegiatan 104 00:06:36,380 --> 00:06:39,990 dan membagi mereka menjadi wilayah yang terpisah sehingga kita dapat 105 00:06:39,990 --> 00:06:45,030 membuat kode kita lebih bermanfaat bagi banyak perangkat yang berbeda 106 00:06:45,030 --> 00:06:51,890 bahwa kita harus mendukung, dan itu hanya cara untuk mencoba 107 00:06:51,890 --> 00:06:54,290 juga faktor luar kode lebih. 108 00:06:54,290 --> 00:07:01,090 Layanan adalah hal-hal latar belakang seperti bermain musik atau navigasi arah berpotensi. 109 00:07:01,090 --> 00:07:05,640 Penyedia konten, ini adalah API dalam sistem operasi 110 00:07:05,640 --> 00:07:09,070 yang memungkinkan Anda untuk mengakses data bersama seperti informasi kontak, 111 00:07:09,070 --> 00:07:12,790 dan kemudian maksud adalah sesuatu yang kita akan menggunakan ketika kita ingin memulai 112 00:07:12,790 --> 00:07:17,210 aktivitas baru dari aktivitas kita saat ini. 113 00:07:17,210 --> 00:07:20,980 >> Hello Android, ini akan menjadi proyek yang akan kami bicarakan. 114 00:07:20,980 --> 00:07:25,410 Aku benar-benar akan melakukannya untuk Anda, dan kemudian kami akan melakukan sesuatu di mana kita klik tombol 115 00:07:25,410 --> 00:07:27,650 dengan beberapa teks dan meluncurkan kegiatan baru. 116 00:07:27,650 --> 00:07:30,110 Sangat mudah, tapi aku ingin pergi melalui 117 00:07:30,110 --> 00:07:34,480 apa yang akan masuk ke proyek seperti ini. 118 00:07:34,480 --> 00:07:39,260 Ketika Anda membuat proyek baru Anda akan melihat dalam Eclipse 119 00:07:39,260 --> 00:07:41,900 ada proyek ini disebut Hello Android. 120 00:07:41,900 --> 00:07:43,470 Lalu ada sejumlah folder di sini. 121 00:07:43,470 --> 00:07:46,760 Yang Anda benar-benar peduli dengan adalah folder sumber, 122 00:07:46,760 --> 00:07:54,540 folder sumber daya, res, dan sampai batas tertentu folder libs untuk perpustakaan. 123 00:07:54,540 --> 00:08:00,070 Dan hanya supaya kita berada di halaman yang sama dengan 124 00:08:00,070 --> 00:08:03,240 jika Anda adalah untuk membuat proyek baru, 125 00:08:03,240 --> 00:08:08,270 Anda dapat melakukan ini di sini, jadi jika saya ingin menyebutnya HelloAndroid, 126 00:08:08,270 --> 00:08:11,100 dan kemudian secara otomatis melakukan sejumlah besar informasi bagi kita. 127 00:08:11,100 --> 00:08:14,110 Nama paket yang seharusnya menjadi pengenal unik 128 00:08:14,110 --> 00:08:16,710 yang biasanya akan berhubungan dengan situs web, jika Anda memiliki satu. 129 00:08:16,710 --> 00:08:24,430 >> Sebagai contoh, saya akan memanggil net.cs50.helloandroid ini. 130 00:08:24,430 --> 00:08:30,070 Dan aku sudah membuat proyek ini sekali. 131 00:08:30,070 --> 00:08:40,059 Oke, maaf. Mari kita menyebutnya HelloCS50. 132 00:08:40,059 --> 00:08:42,929 Dan kemudian akan menanyakan hal-hal seperti apa yang semacam ikon yang ingin kita buat. 133 00:08:42,929 --> 00:08:48,840 Ini semua karena Pengembang antarmuka Perangkat Android, 134 00:08:48,840 --> 00:08:53,350 plugin yang ditambahkan ke Eclipse, sehingga kita bisa memilih hal-hal seperti 135 00:08:53,350 --> 00:08:58,320 ikon apa yang kita inginkan, dan itu akan masuk ke kedalaman bahwa jika kita ingin. 136 00:08:58,320 --> 00:09:04,360 Tapi pada akhirnya, hanya membuat proyek, 137 00:09:04,360 --> 00:09:07,040 dan semuanya muncul di sini. 138 00:09:07,040 --> 00:09:10,030 Ketika saya menunjukkan di layar lainnya, 139 00:09:10,030 --> 00:09:14,070 kita memiliki folder sumber, dan saya akan berbicara tentang apa semua ini berarti segera, 140 00:09:14,070 --> 00:09:19,090 tetapi Anda dapat melihat bahwa segera itu membawa kita ke HelloCS50 layar. 141 00:09:19,090 --> 00:09:24,690 Ada beberapa tombol di sini untuk menambahkan teks dan teks layout lapangan. 142 00:09:24,690 --> 00:09:28,910 Ini semacam seperti Xcode tapi sayangnya tidak cukup efisien. 143 00:09:28,910 --> 00:09:37,790 Tapi klip akan menjadi teman Anda dan ADT khususnya untuk melakukan hal ini. 144 00:09:37,790 --> 00:09:40,920 >> Oke, folder source adalah dimana 145 00:09:40,920 --> 00:09:43,820 file Java diadakan, dan ini sebenarnya peluncuran program anda. 146 00:09:43,820 --> 00:09:45,990 Pada dasarnya seperti pengendali. 147 00:09:45,990 --> 00:09:49,020 Folder sumber daya atau res adalah di mana kita akan tetap tata letak layar, 148 00:09:49,020 --> 00:09:54,110 gambar, suara, teks, animasi dan segala sesuatu yang lain, libs, jelas, perpustakaan. 149 00:09:54,110 --> 00:10:01,700 Dan Manifest, itu cara bahwa sistem Android tahu 150 00:10:01,700 --> 00:10:03,130 bagaimana berinteraksi dengan aplikasi Anda. 151 00:10:03,130 --> 00:10:07,980 Ini memberitahu itu tentang perizinan dan kegiatan apa yang akan benar-benar dijalankan. 152 00:10:07,980 --> 00:10:12,350 Ini semua informasi penting yang diperlukan untuk menjalankan aplikasi Anda. 153 00:10:12,350 --> 00:10:17,990 Folder sumber-jika kita mengembangkannya seperti yang Anda lihat di sini. 154 00:10:17,990 --> 00:10:23,920 Dan contoh bahwa kode akan terlihat-ini adalah kode default. 155 00:10:23,920 --> 00:10:27,930 Seperti yang kita menyebutnya, MainActivity. 156 00:10:27,930 --> 00:10:33,230 Secara default, kita mendapatkan OnCreate, yang merupakan fungsi yang dipanggil saat beban kegiatan ini, 157 00:10:33,230 --> 00:10:37,150 sehingga Anda ingin menelepon OnCreate (savedInstanceState). 158 00:10:37,150 --> 00:10:40,440 Ini akan mengembalikan setiap bit informasi 159 00:10:40,440 --> 00:10:44,910 dalam kasus app itu berhenti. 160 00:10:44,910 --> 00:10:48,790 >> Ada kegiatan tabel siklus hidup seluruh yang dapat Anda melihat 161 00:10:48,790 --> 00:10:50,380 ketika Anda mendapatkan sedikit lebih mendalam di dalamnya, 162 00:10:50,380 --> 00:10:56,210 namun jalur yang paling penting dari kode ada fungsi setContentView ini 163 00:10:56,210 --> 00:11:00,290 yang akan memuat file sumber daya untuk tata letak. 164 00:11:00,290 --> 00:11:03,590 Lalu apa OnCreate di sini pada dasarnya melakukan itu katakan 165 00:11:03,590 --> 00:11:07,010 ketika saya membuat kegiatan ini saya ingin memuat tata letak ini. 166 00:11:07,010 --> 00:11:12,030 Dan kita akan berbicara tentang apa tata letak yang ada di kedua. 167 00:11:12,030 --> 00:11:16,230 Jika kita memulai bahwa di sini tampak persis seperti ini, 168 00:11:16,230 --> 00:11:22,880 dan secara default karena kita telah melakukan hal ini Eclipse dan ADT melakukannya untuk kita 169 00:11:22,880 --> 00:11:28,210 ini adalah semua kode boilerplate yang dibuat untuk kita, 170 00:11:28,210 --> 00:11:34,630 dan kita bisa bergerak dan mengubah hal-hal yang kita inginkan. 171 00:11:34,630 --> 00:11:38,190 Folder sumber daya, seperti saya katakan, ini adalah di mana kita memegang semua layout, 172 00:11:38,190 --> 00:11:41,150 drawables dalam hal apapun gambar- 173 00:11:41,150 --> 00:11:46,360 mereka disebut drawables-dan kemudian file suara, menu. 174 00:11:46,360 --> 00:11:51,170 Ini adalah cara dari sejumlah besar XML secara diurutkan bagus. 175 00:11:51,170 --> 00:11:58,030 Seperti yang Anda lihat, ada. Hdpi, ldpi, mdpi dan xhdpi folder untuk drawables. 176 00:11:58,030 --> 00:12:02,220 Ini adalah kepadatan layar yang berbeda, kepadatan pixel sangat tinggi per inci, 177 00:12:02,220 --> 00:12:05,710 kepadatan rendah, medium density, kepadatan tinggi ekstra. 178 00:12:05,710 --> 00:12:08,900 >> Ini, sekali lagi, sehingga kita dapat mendukung semua perangkat yang berbeda, 179 00:12:08,900 --> 00:12:15,100 dan idealnya, Anda akan memiliki gambar yang berbeda untuk setiap resolusi yang berbeda. 180 00:12:15,100 --> 00:12:20,740 Tata letak yang mana kita memasukkan semua layout yang berbeda yang akan digunakan dalam kegiatan yang berbeda. 181 00:12:20,740 --> 00:12:24,150 Mereka juga dapat mencakup layout untuk fragmen, 182 00:12:24,150 --> 00:12:26,670 yang berarti kegiatan parsial dasarnya. 183 00:12:26,670 --> 00:12:29,610 Jika Anda ingin melakukan sesuatu yang keren seperti setiap kali Anda memutar telepon 184 00:12:29,610 --> 00:12:33,900 Anda ingin memiliki tata letak yang berbeda yang dapat Anda lakukan tata letak-lanskap sebagai folder yang berbeda, 185 00:12:33,900 --> 00:12:39,000 dan Android secara otomatis memiliki sejumlah aturan ini dalam folder sumber daya, 186 00:12:39,000 --> 00:12:44,690 sehingga akan tahu untuk melihat folder yang berbeda berdasarkan pada konfigurasi saat telepon, 187 00:12:44,690 --> 00:12:46,740 apa jenis perangkat keras yang Anda gunakan. 188 00:12:46,740 --> 00:12:52,350 Demikian pula, nilai-nilai ini-v11 sini dan nilai-V14 189 00:12:52,350 --> 00:12:55,460 dan nilai default folder ini adalah untuk- 190 00:12:55,460 --> 00:13:01,730 baik, nilai-nilai dengan sendirinya, ini akan menjadi nilai default di semua versi sistem operasi. 191 00:13:01,730 --> 00:13:06,390 Di sisi lain, v11 dan V14 sesuai dengan Honeycomb 192 00:13:06,390 --> 00:13:08,780 dan Ice Cream Sandwich, masing-masing. 193 00:13:08,780 --> 00:13:12,800 Sekali lagi, ini adalah cara-cara yang-dalam folder ini adalah string yang berbeda 194 00:13:12,800 --> 00:13:17,550 dan gaya, sehingga Anda dapat menyesuaikan tampilan dari aplikasi Anda 195 00:13:17,550 --> 00:13:22,660 atau bahkan berpotensi fungsinya, meskipun itu mungkin akan menjadi ide yang buruk, 196 00:13:22,660 --> 00:13:25,890 berdasarkan versi dari sistem operasi. 197 00:13:25,890 --> 00:13:28,760 >> Dan saya berbicara tentang semua ini di sini. 198 00:13:28,760 --> 00:13:35,870 Sekali lagi, ditarik, baku, tata letak, nilai-nilai. 199 00:13:35,870 --> 00:13:41,380 Default, jika kita pergi ke Hello Hello Android atau CS50 sekarang 200 00:13:41,380 --> 00:13:43,310 akan terlihat seperti ini. 201 00:13:43,310 --> 00:13:45,800 Ini akan menyapa dunia. 202 00:13:45,800 --> 00:13:58,430 Seperti yang Anda lihat di sini dengan teks Android 203 00:13:58,430 --> 00:14:04,420 teks untuk tampilan teks ini, yang pada dasarnya hanya label, 204 00:14:04,420 --> 00:14:06,900 adalah apa yang kita sebut dalam iOS. 205 00:14:06,900 --> 00:14:11,580 Memiliki lucu ini notasi @ string / hello_world. 206 00:14:11,580 --> 00:14:16,200 Hal ini agar kita bisa-kita berupaya mengambil semua string, 207 00:14:16,200 --> 00:14:19,740 semua string keras-kode di Android ke dalam folder terpisah, 208 00:14:19,740 --> 00:14:23,610 yang akan terjadi di values.strings. 209 00:14:23,610 --> 00:14:29,300 Jika kita lihat di sini, kita dapat melihat bahwa kita memiliki string keras-kode disimpan di sini 210 00:14:29,300 --> 00:14:33,910 untuk hello dunia, dan itu disebut halo dunia, dan ini adalah semacam 211 00:14:33,910 --> 00:14:39,230 keputusan desain umum di banyak platform yang Anda ingin- 212 00:14:39,230 --> 00:14:41,780 string adalah jenis hal yang kita ingin berpotensi dapat mengubah. 213 00:14:41,780 --> 00:14:48,050 Kami tidak ingin mengontrol F dalam file kode sumber kami dalam XML kami. 214 00:14:48,050 --> 00:14:50,760 Kami ingin dapat mengubah ini setiap kali kita mendapatkan kesempatan. 215 00:14:50,760 --> 00:14:53,640 >> Ini file XML, strings.xml, adalah cara ekstraksi 216 00:14:53,640 --> 00:14:56,710 string keras-kode yang lain akan sumber daya kami tata letak 217 00:14:56,710 --> 00:15:03,530 atau dalam kode sumber kami. 218 00:15:03,530 --> 00:15:08,190 Manifest adalah tempat kami menyimpan informasi ini penting tentang aplikasi. 219 00:15:08,190 --> 00:15:11,050 Ini mencakup nama paket. Itu harus menjadi pengenal yang unik. 220 00:15:11,050 --> 00:15:16,020 Berbeda dengan App Store untuk iOS nama-nama aplikasi 221 00:15:16,020 --> 00:15:19,980 tidak harus unik, dan Anda dapat bahkan mengubah nama aplikasi Anda 222 00:15:19,980 --> 00:15:23,570 setelah Anda mengirimkannya, jadi jika saya mulai dengan Angry Birds, 223 00:15:23,570 --> 00:15:26,840 dan kemudian saya membuat update, dan saya tidak ingin merilis versi baru 224 00:15:26,840 --> 00:15:34,230 Kurasa aku bisa menyebutnya Angry Birds 2 sementara aku pada siklus rilis yang sama. 225 00:15:34,230 --> 00:15:36,780 Itu hanya akan muncul sebagai update. 226 00:15:36,780 --> 00:15:39,790 Satu-satunya hal yang harus unik adalah ini nama paket, 227 00:15:39,790 --> 00:15:41,280 yang tidak banyak orang akan melihat. 228 00:15:41,280 --> 00:15:44,680 Nah, Anda hanya akan melihat apakah Anda sedang melihat kode sumber atau jika ada semacam kesalahan. 229 00:15:44,680 --> 00:15:47,580 Komponen meliputi kegiatan, jadi kita harus mendeklarasikan 230 00:15:47,580 --> 00:15:49,070 apapun aktivitas yang kita gunakan. 231 00:15:49,070 --> 00:15:53,430 Ini adalah semacam hal izin. 232 00:15:53,460 --> 00:15:58,150 >> Karena Android tidak memiliki proses aplikasi yang ketat 233 00:15:58,150 --> 00:16:02,210 untuk mengirimkan aplikasi sebaliknya mereka hanya segala sesuatu yang didasarkan dari izin 234 00:16:02,210 --> 00:16:04,300 dan menyatakan hal-hal dalam Manifest. 235 00:16:04,300 --> 00:16:06,380 Versi SDK juga penting. 236 00:16:06,380 --> 00:16:10,330 Kita dapat mengatur digunakan sebagai SDK minimal versi sesuatu. 237 00:16:10,330 --> 00:16:16,010 Jelas, Anda ingin membuat kode 238 00:16:16,010 --> 00:16:18,570 dan desain untuk sistem operasi yang lebih baru. 239 00:16:18,570 --> 00:16:20,840 Mungkin tidak terbaru, mungkin tidak Jelly Bean. 240 00:16:20,840 --> 00:16:23,610 Mungkin Anda ingin merancang terutama untuk Ice Cream Sandwich, 241 00:16:23,610 --> 00:16:27,120 meskipun mereka hampir sama dalam hal keputusan desain 242 00:16:27,120 --> 00:16:30,550 dan perpustakaan aktual dan API. 243 00:16:30,550 --> 00:16:36,250 Namun, bukannya memiliki orang-orang 244 00:16:36,250 --> 00:16:40,050 dari Android versi asli-cara seperti Donut kembali ketika- 245 00:16:40,050 --> 00:16:43,420 yang masih kebetulan menggunakan yang mencoba untuk men-download aplikasi Anda dan kemudian berkata 246 00:16:43,420 --> 00:16:46,160 tidak bekerja pada ponsel saya, Anda dapat mengatur versi minimum 247 00:16:46,160 --> 00:16:48,620 dan memilikinya menjadi Gingerbread atau Ice Cream Sandwich 248 00:16:48,620 --> 00:16:53,300 atau apapun yang Anda merasa nyaman menyerahkan. 249 00:16:53,300 --> 00:16:57,170 Dan ini adalah contoh dari Manifest. Kita bisa melihat sebenarnya satu dalam sedikit. 250 00:16:57,170 --> 00:17:00,900 >> Oke, kita akan maju dengan demo sekarang. 251 00:17:00,900 --> 00:17:08,900 Ini adalah demo jika Anda Google Android membangun aplikasi pertama Anda atau sesuatu seperti itu. 252 00:17:08,900 --> 00:17:12,089 Kita akan pergi melalui segala sesuatu yang terjadi di sana, 253 00:17:12,089 --> 00:17:17,690 dan maaf, hanya untuk referensi yang di sini tahu Java sampai batas tertentu? 254 00:17:17,690 --> 00:17:28,310 Oke, jadi Java adalah bahasa coding baru bagi kebanyakan orang keluar dari CS50. 255 00:17:28,310 --> 00:17:31,850 Secara singkat, untuk pergi lagi apa yang dikatakan di sini, 256 00:17:31,850 --> 00:17:35,580 apa yang ingin kita lakukan adalah daripada menyesuaikan aplikasi ini dunia halo 257 00:17:35,580 --> 00:17:38,620 bahwa semua yang dilakukannya itu meluncurkan dan menyapa dunia 258 00:17:38,620 --> 00:17:43,580 dan menyapa CS50 di atas karena itulah nama kegiatan 259 00:17:43,580 --> 00:17:47,190 kita akan mencoba untuk membuat kolom teks dan tombol 260 00:17:47,190 --> 00:17:50,680 sehingga ketika kita menekan tombol ini akan mengambil teks 261 00:17:50,680 --> 00:17:53,660 dari bidang teks dan meluncurkan kegiatan baru, dan akan mengatakan 262 00:17:53,660 --> 00:17:58,380 apa kata teks yang dalam kegiatan ini, dan ini relatif sederhana. 263 00:17:58,380 --> 00:18:00,650 Hal ini tidak sangat menarik. Anda tidak ingin melepaskan aplikasi seperti ini. 264 00:18:00,650 --> 00:18:03,880 Tapi itu menunjukkan beberapa hal desain penting. 265 00:18:03,880 --> 00:18:07,030 >> Kita harus berinteraksi dengan Manifest, dengan tata letak file, 266 00:18:07,030 --> 00:18:12,440 dengan kode sumber, dan Anda dapat melihat bagaimana untuk memulai satu kegiatan dari yang lain. 267 00:18:19,740 --> 00:18:23,060 Kita akan mulai dengan tata letak untuk kegiatan pertama kami, 268 00:18:23,060 --> 00:18:27,320 yang saya tahu itu jenis kecil, 269 00:18:27,320 --> 00:18:32,660 tetapi karena Anda dapat lihat sekarang, semua itu adalah adalah memiliki logo kami yang kita buat, 270 00:18:32,660 --> 00:18:36,310 nama kegiatan, dan menyapa dunia di tengah. 271 00:18:36,310 --> 00:18:40,400 Sebaliknya, saya pertama kali akan membuat ini menjadi layout linear, 272 00:18:40,400 --> 00:18:42,350 tata letak relatif, dan ini adalah segala sesuatu 273 00:18:42,350 --> 00:18:45,870 Anda bisa mencari dan bernilai pergi atas di beberapa titik dalam hal tata letak. 274 00:18:45,870 --> 00:18:47,310 Ini banyak seperti HTML. 275 00:18:47,310 --> 00:18:52,640 Kami mengatakan itu tidak benar-benar worth mengetahui dalam hal arti program, 276 00:18:52,640 --> 00:18:55,840 tetapi ada begitu banyak layout yang berbeda Anda dapat mengontrol, 277 00:18:55,840 --> 00:18:57,970 dan itu hanya seperti CSS dalam hal gaya. 278 00:18:57,970 --> 00:19:01,590 >> Ada banyak hal yang terjadi hanya dalam hal estetika sini, 279 00:19:01,590 --> 00:19:08,930 dan yeah, ada baiknya belajar, tapi itu adalah semacam hal yang Anda harus mencari 280 00:19:08,930 --> 00:19:11,810 saat Anda pergi dan Anda merasa seperti Anda perlu sesuatu yang baru. 281 00:19:11,810 --> 00:19:17,030 Saya dapat mengambil keuntungan dari beberapa alat ADT di sini setidaknya untuk memulai dengan. 282 00:19:17,030 --> 00:19:21,930 Aku akan membuat kolom teks, dan saya akan membuat sebuah tombol. 283 00:19:21,930 --> 00:19:24,100 Menempatkan mereka di sebelah satu sama lain. 284 00:19:24,100 --> 00:19:28,200 Mereka sudah mengubah ukuran tepat. 285 00:19:28,200 --> 00:19:31,320 Maaf, sekali lagi, kembali ke perbedaan antara linier tata letak dan tata letak relatif, 286 00:19:31,320 --> 00:19:34,830 tata letak linier memberikan fungsionalitas sedikit lebih 287 00:19:34,830 --> 00:19:38,720 dalam hal mengisi ruang dan memastikan 288 00:19:38,720 --> 00:19:42,790 kita posisi hal horizontal atau vertikal. 289 00:19:42,790 --> 00:19:46,130 Perbedaan besar antara tata letak linier dan tata letak yang relatif 290 00:19:46,130 --> 00:19:50,250 adalah posisi letak relatif segalanya relatif terhadap pandangan lain, 291 00:19:50,250 --> 00:19:52,630 dan hal yang baik tentang itu adalah bahwa waktu yang panjang untuk menarik 292 00:19:52,630 --> 00:19:56,120 karena sistem operasi melihat semua kode dan mengatakan ini berjalan 293 00:19:56,120 --> 00:19:58,270 relatif terhadap ini di sini, di sini. 294 00:19:58,270 --> 00:20:03,170 Ini berarti itu membuat pengukuran kurang dari sejumlah besar layout linear bersarang, 295 00:20:03,170 --> 00:20:06,840 yang saya harus lakukan jika saya ingin hal-hal untuk pergi vertikal sini. 296 00:20:06,840 --> 00:20:10,510 >> Saya sudah memiliki beberapa hal yang terjadi secara horizontal, jadi saya akan membutuhkan tata letak linier yang berbeda 297 00:20:10,510 --> 00:20:14,560 ke sarang mereka secara vertikal, tetapi jika aku melakukan tata letak relatif bisa kukatakan 298 00:20:14,560 --> 00:20:18,140 menjaga ini ke kiri, ini ke kanan dan hal-hal di bawah ini. 299 00:20:18,140 --> 00:20:21,850 Tapi karena saya ingin mereka untuk mengisi sekarang saya akan menggunakan tata letak linear, 300 00:20:21,850 --> 00:20:24,510 dan Anda dapat melihat sudah melakukan banyak hal untuk kita. 301 00:20:24,510 --> 00:20:28,890 Semua pandangan harus memiliki properti lebar dan tinggi, 302 00:20:28,890 --> 00:20:33,410 dan ini kebetulan memiliki berat 1, dan ini memiliki berat 1 303 00:20:33,410 --> 00:20:36,050 sehingga mengisi seluruh ruang. 304 00:20:36,050 --> 00:20:38,460 Tapi lebar dan tinggi yang paling penting. 305 00:20:38,460 --> 00:20:45,880 ID ini bidang yang tepat di sini adalah tidak penting dalam tata letak yang sebenarnya 306 00:20:45,880 --> 00:20:49,060 kecuali kita menggunakan tata letak relatif dan mengatakan kita dapat referensi 307 00:20:49,060 --> 00:20:52,990 satu posisi pandangan dalam referensi yang lain. 308 00:20:52,990 --> 00:20:56,170 Jika kita memiliki tata letak yang relatif kita bisa mengatakan posisi ini di bawah satu ini 309 00:20:56,170 --> 00:20:59,390 atau di atas ID ini, tapi ID ini akan menjadi penting 310 00:20:59,390 --> 00:21:01,660 ketika kita menggunakannya dalam kode kami karena kami dapat referensi 311 00:21:01,660 --> 00:21:05,610 ini pandangan individu dengan cara ini. 312 00:21:05,610 --> 00:21:10,350 >> Dan kemudian Anda bisa melihat tag requestFocus, yang merupakan sesuatu yang Anda mungkin melihat di pset 7. 313 00:21:10,350 --> 00:21:15,370 Ada auto fokus tag atau sesuatu di sepanjang baris untuk salah satu bidang. 314 00:21:15,370 --> 00:21:22,100 Dan satu hal, tentu saja, kita bisa melakukan seperti di HTML, 315 00:21:22,100 --> 00:21:25,660 dan perhatikan salah satu hal menyenangkan tentang ADT adalah bahwa hal itu autocompletes sini. 316 00:21:25,660 --> 00:21:29,930 Mungkin tidak semanis itu di Xcode, tapi itu tidak tetap, 317 00:21:29,930 --> 00:21:32,860 dan kita bisa mengatakan petunjuk dan kemudian memberikan semacam string 318 00:21:32,860 --> 00:21:37,070 seperti menulis pesan, 319 00:21:37,070 --> 00:21:41,300 dan jika saya memberikan sejenak, juga melihat bahwa saya mendapatkan sedikit kesalahan di sini 320 00:21:41,300 --> 00:21:44,610 mengatakan bahwa kita harus menggunakan string sumber daya untuk ini, 321 00:21:44,610 --> 00:21:48,820 jadi jika saya membiarkannya melakukan beberapa pekerjaan sulit bagi saya 322 00:21:48,820 --> 00:21:57,320 Saya dapat memilih string ini, lakukan refraktor Android dan ekstrak Android tali. 323 00:21:57,320 --> 00:22:00,570 Aku bisa memberikan nama itu, menulis pesan, 324 00:22:00,570 --> 00:22:04,180 dan apa itu sekarang diganti yang keras-kode string yang 325 00:22:04,180 --> 00:22:07,980 dengan mengacu pada string dalam string xml., 326 00:22:07,980 --> 00:22:10,200 yang berarti sekarang ini di sini. 327 00:22:10,200 --> 00:22:15,560 >> Dan saya tahu bahwa tampaknya sedikit sepele dan seperti pekerjaan ekstra pada saat ini, 328 00:22:15,560 --> 00:22:17,840 tetapi ketika Anda memiliki sejumlah hal, sejumlah besar string, 329 00:22:17,840 --> 00:22:20,750 yang benar-benar penting, dan terutama untuk lokalisasi 330 00:22:20,750 --> 00:22:26,920 karena seperti yang saya sebutkan sebelumnya, Android adalah sistem operasi yang sangat global digunakan 331 00:22:26,920 --> 00:22:35,950 bahwa Anda hanya dapat melakukan nilai-nilai atau en-sp 332 00:22:35,950 --> 00:22:44,320 atau sesuatu untuk bahasa Inggris atau Spanyol atau lainnya. 333 00:22:44,320 --> 00:22:50,210 Dan kemudian Anda mungkin tidak memiliki pengalaman ini belum 334 00:22:50,210 --> 00:22:53,030 karena kita tidak melakukan banyak JavaScript dalam hal pemrograman web, 335 00:22:53,030 --> 00:22:56,850 tetapi kita juga bisa melakukan bidang ini disebut onClick untuk tombol, 336 00:22:56,850 --> 00:23:02,350 dan ini adalah cara referensi dalam tata letak kami 337 00:23:02,350 --> 00:23:06,570 yang kita inginkan fungsi tertentu untuk dipanggil dalam kode sumber kami. 338 00:23:06,570 --> 00:23:09,420 Aku akan menelepon SendMessage ini, 339 00:23:09,420 --> 00:23:13,390 dan dalam rangka untuk membuat pekerjaan ini yang berarti dalam kegiatan utama di sini 340 00:23:13,390 --> 00:23:19,180 Saya harus membuat fungsi yang bersifat publik 341 00:23:19,180 --> 00:23:22,250 sehingga dapat diakses oleh tata letak. 342 00:23:22,250 --> 00:23:25,930 Ini berlaku karena Anda hanya tidak ingin kembali apa-apa. 343 00:23:25,930 --> 00:23:37,760 Kita akan menyebutnya SendMessage, dan dibutuhkan pandangan, 344 00:23:37,760 --> 00:23:43,690 yang merupakan semacam konteks yang kita dapat jangkar metode ini 345 00:23:43,690 --> 00:23:47,160 dengan pandangan individu saat kita menjalankannya. 346 00:23:47,160 --> 00:23:50,090 >> Dan saya tidak tahu apakah Anda memperhatikan-baik, Anda tidak akan melihat, 347 00:23:50,090 --> 00:24:02,370 tapi pada saat ini di sini 348 00:24:02,370 --> 00:24:06,930 pandangan ini adalah jenis yang belum disertakan, 349 00:24:06,930 --> 00:24:10,630 dan tentu saja, Anda semua tahu dari CS50 tentang tidak termasuk jenis. 350 00:24:10,630 --> 00:24:13,120 Yang menyenangkan tentang IDE seperti Eclipse adalah bahwa 351 00:24:13,120 --> 00:24:17,520 jika Anda lupa untuk menyertakan tipe itu akan menggarisbawahi dengan sedikit merah berlekuk-lekuk 352 00:24:17,520 --> 00:24:19,680 dan kemudian memberikan Anda pilihan untuk mengimpor pandangan. 353 00:24:19,680 --> 00:24:23,130 Cara cepat untuk melakukan itu adalah shift control O, dan akan mengimpor 354 00:24:23,130 --> 00:24:27,070 semua file yang perlu. 355 00:24:27,070 --> 00:24:33,670 Sekarang bahwa kita memiliki fungsi ini SendMessage, 356 00:24:33,670 --> 00:24:46,560 yang akan mengirim pesan dari MainActivity ke aktivitas baru, 357 00:24:46,560 --> 00:24:55,230 kita akan harus menggunakan niat untuk memulai aktivitas baru dari satu ini, 358 00:24:55,230 --> 00:25:02,240 jadi kami mungkin akan ingin membuat konstanta global atau juga sangat konstan publik 359 00:25:02,240 --> 00:25:06,240 yang akan membantu kita tahu bagaimana kita akan referensi string 360 00:25:06,240 --> 00:25:09,090 karena ketika kita membuat niat kita tidak hanya menyebut aktivitas baru, 361 00:25:09,090 --> 00:25:11,520 tetapi kita juga dapat memberikan bundel informasi. 362 00:25:11,520 --> 00:25:14,720 Bundel A sebenarnya adalah istilah yang menggunakan Android, 363 00:25:14,720 --> 00:25:21,470 dan itu adalah cara untuk mengatakan memberikan data tambahan, yang tidak bisa menjadi tipe data yang sangat canggih, 364 00:25:21,470 --> 00:25:24,510 tapi kami pasti dapat mencakup boolean atau string atau int. 365 00:25:24,510 --> 00:25:29,750 Hal semacam itu. 366 00:25:29,750 --> 00:25:34,230 >> Jangan ragu untuk bertanya tentang kualifikasi ini di sini, 367 00:25:34,230 --> 00:25:36,900 publik, akhir, statis. 368 00:25:36,900 --> 00:25:38,610 Publik adalah salah satu yang penting. 369 00:25:38,610 --> 00:25:47,090 Ini berarti bahwa kita dapat mengakses variabel ini dari file kode sumber lain 370 00:25:47,090 --> 00:25:49,590 seperti ketika kita membuat aktivitas baru. 371 00:25:49,590 --> 00:25:52,190 Kita dapat referensi string dalam file ini. 372 00:25:52,190 --> 00:25:57,160 Jika itu pribadi, itu berarti itu terbatas pada file ini individu di sini. 373 00:25:57,160 --> 00:26:02,430 Tapi kita akan menyebut sesuatu seperti ini pesan tambahan. 374 00:26:16,260 --> 00:26:23,300 Sekarang kita telah membuat fungsi ini, dan jika kita klik tombol, fungsi ini akan dipanggil. 375 00:26:23,300 --> 00:26:27,970 Tapi kita belum melakukan apa-apa, jelas, dengan fungsi. 376 00:26:27,970 --> 00:26:33,130 Apa yang kami ingin lakukan sekarang adalah membuat aktivitas baru, 377 00:26:33,130 --> 00:26:35,350 kegiatan yang benar-benar akan diluncurkan. 378 00:26:35,350 --> 00:26:44,330 Dalam Eclipse kita dapat mengatakan baru, kegiatan Android, aktivitas kosong. 379 00:26:44,330 --> 00:26:46,530 Kita bisa memberikan nama. 380 00:26:46,530 --> 00:26:57,050 Sebut saja aktivitas hasil kami. 381 00:26:57,050 --> 00:27:04,430 Dan kemudian bidang ini orangtua hirarkis adalah cara menentukan 382 00:27:04,430 --> 00:27:08,180 bagaimana kegiatan terkait satu sama lain. 383 00:27:08,180 --> 00:27:11,020 Karena yang satu ini akan diluncurkan dari kegiatan lain 384 00:27:11,020 --> 00:27:27,520 kita harus menentukan bahwa ia memiliki kegiatan utama orangtua. 385 00:27:27,520 --> 00:27:31,220 >> Dan aku bisa mengklik kolom berikutnya di sana, yang akan memberitahu kami 386 00:27:31,220 --> 00:27:33,830 beberapa bidang opsional yang itu juga termasuk, 387 00:27:33,830 --> 00:27:38,800 tapi hal yang menyenangkan tentang ADT, sekali lagi, adalah bahwa jika saya gulir ke bawah sini 388 00:27:38,800 --> 00:27:45,740 di Manifest ingat bahwa semua ini benar-benar telah disertakan secara default 389 00:27:45,740 --> 00:27:48,930 ketika kita awalnya dibuat proyek, 390 00:27:48,930 --> 00:27:53,090 dan sekarang karena kami menggunakan ini membuat aktivitas baru bukan hanya 391 00:27:53,090 --> 00:27:58,610 menambahkan file kelas kita sendiri karena kita pergi melalui GUI mereka untuk melakukan hal ini 392 00:27:58,610 --> 00:28:01,930 sudah menambahkan semua ini untuk Manifest bagi kita, 393 00:28:01,930 --> 00:28:06,020 yang hanya berarti bahwa sekarang sistem operasi tidak akan mengeluh 394 00:28:06,020 --> 00:28:09,400 ketika kita mencoba untuk memulai kegiatan ini. 395 00:28:09,400 --> 00:28:14,620 Dan itu juga, tentu saja, memberikan label, yang juga muncul dalam string. 396 00:28:14,620 --> 00:28:17,340 Ia melakukan banyak hal di ujung belakang bagi kita. 397 00:28:17,340 --> 00:28:20,140 Pokoknya, sekarang kita memiliki kegiatan ini hasil juga, 398 00:28:20,140 --> 00:28:23,810 file kode sumber yang sebenarnya dalam folder sumber, 399 00:28:23,810 --> 00:28:33,540 dan Anda dapat melihat-secara singkat menyentuh ini- 400 00:28:33,540 --> 00:28:37,790 karena kita diberitahu tentang orang tua ini hirarkis 401 00:28:37,790 --> 00:28:46,640 itu memberi bidang ini android.r.ide.home di onOption ini hal yang dipilih. 402 00:28:46,640 --> 00:28:49,020 >> Apa ini pada dasarnya katakan adalah ada tombol menu sekarang 403 00:28:49,020 --> 00:28:53,110 bahwa di sudut kiri atas layar 404 00:28:53,110 --> 00:29:02,220 jika saya kembali ke PowerPoint di mana kami pertama kali berbicara tentang panel tindakan 405 00:29:02,220 --> 00:29:05,380 karena orangtua hirarkis sekarang ada panah kecil kembali ke sini 406 00:29:05,380 --> 00:29:10,610 dan ini diklik sehingga kita harus bisa-setelah kami benar-benar menjalankan aplikasi ini- 407 00:29:10,610 --> 00:29:15,360 kembali, dan itu adalah cara menyelamatkan kita sedikit kode di sana. 408 00:29:26,220 --> 00:29:40,180 Sekarang dalam hal ini-baik, tampaknya akan mengeluh tentang hal itu sejenak. 409 00:29:40,180 --> 00:29:43,910 Mari kita berkomentar bahwa keluar. 410 00:29:43,910 --> 00:29:48,260 Sekarang, dalam rangka untuk benar-benar berinteraksi dengan 2 kegiatan, 411 00:29:48,260 --> 00:29:55,020 kita harus membuat intent yang mencakup semua data ini. 412 00:29:55,020 --> 00:29:58,950 Dalam SendMessage sekarang aku akan pelayaran melalui beberapa bit kode 413 00:29:58,950 --> 00:30:00,700 dan menjelaskan bahwa saat aku pergi. 414 00:30:00,700 --> 00:30:06,280 Sebuah niat, seperti yang saya katakan, adalah cara untuk memulai satu kegiatan dari yang lain. 415 00:30:06,280 --> 00:30:10,000 Intent adalah tipe. Kami menciptakan myIntent variabel. 416 00:30:10,000 --> 00:30:13,980 >> Dan ini sebenarnya obyek, itulah sebabnya mengapa kita harus memanggil baru. 417 00:30:13,980 --> 00:30:18,500 Ini penggunaan Java umum di sana, yang mungkin mengambil sedikit membiasakan diri. 418 00:30:18,500 --> 00:30:23,900 Ini berarti kita menggunakan kegiatan atau MainActivity kelas, 419 00:30:23,900 --> 00:30:28,630 dan niat dengan cara yang mengambil kegiatan itu akan dari 420 00:30:28,630 --> 00:30:36,060 dan kegiatan itu akan, yang kita sebut ResultActivity, 421 00:30:36,060 --> 00:30:38,170 dan itu adalah kelas tersendiri. 422 00:30:38,170 --> 00:30:41,720 Sertakan itu. 423 00:30:41,720 --> 00:30:47,370 Dan kemudian seperti yang saya sebutkan sebelumnya, kami memberikan ID yang ke kolom teks sunting 424 00:30:47,370 --> 00:30:53,710 dan tampilan teks, sehingga untuk pemrograman menangkap 425 00:30:53,710 --> 00:31:01,860 teks yang ada di EditText yang 426 00:31:01,860 --> 00:31:06,710 kita menggunakan fungsi ini disebut findViewById, 427 00:31:06,710 --> 00:31:13,660 yang mirip dengan sesuatu yang akan Anda gunakan ketika mencoba untuk mendapatkan fields dari DOM. 428 00:31:13,660 --> 00:31:17,560 Mungkin Daud berbicara tentang hal ini dalam kuliah. 429 00:31:17,560 --> 00:31:26,600 Tapi itu hanya cara untuk mendapatkan orang-itu sebabnya kita tag-hal ini dengan bidang tersebut. 430 00:31:26,600 --> 00:31:31,110 Id.editText1. 431 00:31:31,110 --> 00:31:35,220 Ini sudah autocompleting bagi saya ada. 432 00:31:35,220 --> 00:31:42,010 >> Dan kemudian kami juga akan menyertakan-ini EditText sekarang bahwa kita memiliki lapangan 433 00:31:42,010 --> 00:31:47,640 dalam program kami, semua yang findViewById lakukan adalah pada dasarnya 434 00:31:47,640 --> 00:31:50,870 Anda bisa menganggapnya sebagai memberikan referensi untuk EditText itu. 435 00:31:50,870 --> 00:31:54,570 Sekarang kita ingin mendapatkan string atau pesan 436 00:31:54,570 --> 00:32:00,670 dalam bahwa EditText yang bisa kita lakukan dengan menggunakan- 437 00:32:00,670 --> 00:32:03,360 Anda bisa memikirkan EditText sebagai struct- 438 00:32:03,360 --> 00:32:07,600 kita menyebutnya obyek di Jawa-dengan sejumlah metode yang berbeda 439 00:32:07,600 --> 00:32:10,650 atau bidang dan atribut yang melekat padanya. 440 00:32:10,650 --> 00:32:15,510 Ketika saya mengatakan EditText. itu memberi saya kesempatan untuk mengakses 441 00:32:15,510 --> 00:32:19,770 metode seperti getText, yang akan mendapatkan teks saat 442 00:32:19,770 --> 00:32:23,990 dalam EditText itu dan kemudian dikonversi yang secara eksplisit 443 00:32:23,990 --> 00:32:26,520 ke string, dan kami telah menyimpan pesan. 444 00:32:26,520 --> 00:32:32,730 Sekarang kita benar-benar ingin melakukan sesuatu dengan maksud kita buat beberapa saat yang lalu. 445 00:32:32,730 --> 00:32:40,250 Aku akan menaruh ekstra seperti disebut dalam maksud, 446 00:32:40,250 --> 00:32:43,330 yang, sekali lagi, seperti saya katakan sebelumnya, ini adalah cara untuk menciptakan bundel 447 00:32:43,330 --> 00:32:45,980 dengan sejumlah besar data. 448 00:32:45,980 --> 00:32:50,920 Pesan Extra adalah tag kami sehingga kami tahu apa yang kita menyimpan ini di bawah, 449 00:32:50,920 --> 00:32:56,700 dan kemudian saya termasuk pesan. 450 00:32:56,700 --> 00:33:04,870 >> Dan kemudian kita benar-benar dapat memulai aktivitas dengan memberi myIntent parameter. 451 00:33:04,870 --> 00:33:10,630 Dan ini benar-benar akan meluncurkan aktivitas, jadi sekarang karena saya upgrade ke Windows 8 452 00:33:10,630 --> 00:33:15,870 mungkin ada beberapa kesalahan yang muncul sebentar, tetapi cobalah untuk mengabaikan mereka. 453 00:33:28,010 --> 00:33:30,310 Dan ini adalah emulator Android. 454 00:33:30,310 --> 00:33:33,540 Semoga kode benar-benar akan muncul dalam sekejap. 455 00:33:33,540 --> 00:33:36,680 Sekali lagi, mengabaikan semua hal-hal kecil. 456 00:33:36,680 --> 00:33:42,290 Tapi emulator Android Anda dapat meniru setiap versi sistem operasi 457 00:33:42,290 --> 00:33:45,180 dari yang paling awal, Donut, Gingerbread. 458 00:33:45,180 --> 00:33:49,640 Ini adalah Jelly Bean 4.1. 459 00:33:49,640 --> 00:33:53,150 Tapi seperti yang Anda lihat sekarang, ini adalah sesuatu yang kami buat. 460 00:33:53,150 --> 00:33:55,780 Ini memiliki MainActivity, EditText itu, tombol. 461 00:33:55,780 --> 00:34:01,550 Saya bisa mengetik sesuatu di sini, tapi apa yang kita hilang pada saat ini? 462 00:34:01,550 --> 00:34:05,190 Kami membuat lapangan di MainActivity itu akan mengirim pesan 463 00:34:05,190 --> 00:34:08,570 dengan kegiatan lain, tapi pada saat ini 464 00:34:08,570 --> 00:34:12,330 kita tidak melakukan apa-apa dalam kegiatan lain, sehingga tidak akan menerima apa-apa. 465 00:34:12,330 --> 00:34:18,800 Mari kita selesaikan bagian itu sebelum kita melanjutkan. 466 00:34:18,800 --> 00:34:25,760 >> Kegiatan ini hasil, apa yang kita harus lakukan adalah kita harus lakukan adalah kita harus- 467 00:34:25,760 --> 00:34:30,070 kami juga dapat referensi maksud dalam kegiatan ini, 468 00:34:30,070 --> 00:34:33,580 jadi kita harus menangkap maksud, yang benar-benar sederhana. 469 00:34:33,580 --> 00:34:40,780 Ini adalah fungsi yang termasuk dalam kelas aktivitas, 470 00:34:40,780 --> 00:34:47,610 jadi kami hanya bisa mengatakan "Dapatkan pesan dari maksud." 471 00:34:47,610 --> 00:34:56,260 "Intent myIntent = getIntent." 472 00:34:56,260 --> 00:35:00,030 Dan ini akan memberi kita-sekarang myIntent adalah obyek, 473 00:35:00,030 --> 00:35:05,380 yang merupakan referensi untuk maksud yang membawa kita ke kegiatan ini. 474 00:35:05,380 --> 00:35:10,130 MainActivity panggilan dan memberikan informasi tambahan untuk menghasilkan aktivitas. 475 00:35:10,130 --> 00:35:14,070 Hasil kegiatan sekarang melihat maksud yang mengarah di sini, 476 00:35:14,070 --> 00:35:23,540 dan kita bisa mengakses pesan yang kita buat di yang lain, 477 00:35:23,540 --> 00:35:26,370 getStringExtra, dan ini akan autocomplete untuk saya. 478 00:35:26,370 --> 00:35:31,190 Dan kemudian ingat, cara kita tag yang bit data 479 00:35:31,190 --> 00:35:38,400 adalah dengan memberikan bidang ini di sini, ini public string, 480 00:35:38,400 --> 00:35:42,080 yang merupakan tag untuk string kita benar-benar dimasukkan. 481 00:35:42,080 --> 00:35:48,450 >> Jika saya mengatakan MainActivity.Extra_Message 482 00:35:48,450 --> 00:35:52,200 itu ada di sana, dan ini adalah semacam nama parameter 483 00:35:52,200 --> 00:35:55,330 ketika kita melewati kode dari controller ke template, 484 00:35:55,330 --> 00:35:57,680 ketika kita akan mengatakan judul panah sesuatu. 485 00:35:57,680 --> 00:36:01,140 Ini jenis yang sama ide di sana. 486 00:36:01,140 --> 00:36:07,130 Sekarang, ingat ini. 487 00:36:07,130 --> 00:36:12,230 Kami juga auto ini dibuat atau auto menghasilkan kode 488 00:36:12,230 --> 00:36:16,410 untuk kegiatan hasil, yang meliputi tampilan teks di tengah 489 00:36:16,410 --> 00:36:19,690 yang mengatakan hello world. 490 00:36:19,690 --> 00:36:27,510 Kami berpotensi bisa membuat itu lebih besar. 491 00:36:27,510 --> 00:36:33,980 Mari kita melakukan yang pertama. 492 00:36:33,980 --> 00:36:39,550 Kita bisa membuat 40 kerapatan piksel independen. 493 00:36:39,550 --> 00:36:42,670 Mari kita lihat, yang super besar. Itu akan baik-baik saja. 494 00:36:42,670 --> 00:36:48,180 Dan kemudian untuk referensi ini tampilan teks individual dalam kode kita 495 00:36:48,180 --> 00:36:53,890 kita harus memberikan ID, 496 00:36:53,890 --> 00:36:58,350 dan untuk melakukan itu kita katakan @ + id, yang berarti kita menetapkan ID. 497 00:36:58,350 --> 00:37:02,480 Jika kita hanya mengatakan @ id akan menganggap kita referensi ID yang sudah ada, 498 00:37:02,480 --> 00:37:07,760 dan mari kita sebut ini resultTextView kami. 499 00:37:07,760 --> 00:37:10,570 Dan melihat bahwa dalam XML tidak perlu untuk titik koma atau apa pun. 500 00:37:10,570 --> 00:37:12,380 Semuanya dalam tag ini. 501 00:37:12,380 --> 00:37:15,530 Ini sangat mirip dengan HTML dalam banyak indera. 502 00:37:15,530 --> 00:37:22,760 >> Dibutuhkan sedikit membiasakan diri, tetapi akhirnya Anda akan merasa cukup nyaman dengan itu. 503 00:37:22,760 --> 00:37:31,320 Mari kita memperbarui teks untuk tampilan teks hasil kami, 504 00:37:31,320 --> 00:37:35,650 dan seperti yang kita lakukan ketika kita mendapatkan bahwa bidang teks mengedit dalam kegiatan kami yang lain 505 00:37:35,650 --> 00:37:46,630 di MainActivity sini kami juga akan juga- 506 00:37:46,630 --> 00:37:54,890 kita akan menemukan tampilan dengan ID. 507 00:37:54,890 --> 00:37:59,640 Dan R, dalam kasus saya tidak menyebutkan ini sebelumnya, adalah referensi ke folder sumber daya kami, 508 00:37:59,640 --> 00:38:05,350 dan kemudian ID adalah referensi untuk segala sesuatu dalam folder sumber daya, semua ID, 509 00:38:05,350 --> 00:38:10,060 dan resultTextView. 510 00:38:10,060 --> 00:38:13,010 Dan sama seperti sebelumnya, resultTextView adalah obyek, 511 00:38:13,010 --> 00:38:15,780 yang berarti memiliki semua sifat ini terkait dengan itu. 512 00:38:15,780 --> 00:38:20,610 Ketika kita menggunakan getText untuk teks untuk mengedit teks ini lapangan atau tampilan teks 513 00:38:20,610 --> 00:38:23,980 kita benar-benar bisa menggunakan setText, 514 00:38:23,980 --> 00:38:26,960 dan kemudian kita sudah menemukan pesan dari maksud, 515 00:38:26,960 --> 00:38:35,760 sehingga saya dapat mengatakan pesan, dan ini akan benar-benar mengatur pesan. 516 00:38:35,760 --> 00:38:41,820 >> Ini mengambil waktu sejenak untuk memulai, dan kemudian kita dapat melihat apakah atau tidak itu crash, 517 00:38:41,820 --> 00:38:48,670 tetapi pertanyaan tentang proses yang di sana, semacam interaksi? 518 00:38:48,670 --> 00:38:51,490 Dalam banyak hal itu mudah. 519 00:38:51,490 --> 00:38:53,960 Alasan aku akan melalui sesuatu yang relatif sederhana 520 00:38:53,960 --> 00:38:57,330 , sekali lagi, karena Anda bisa melihat interaksi antara tata letak, 521 00:38:57,330 --> 00:38:59,520 kode sumber, bagaimana Anda referensi hal 522 00:38:59,520 --> 00:39:07,680 dan mungkin mendapatkan sedikit paparan bagaimana Java bekerja di sana. 523 00:39:07,680 --> 00:39:16,500 Jika saya benar-benar mengetik sesuatu di sini, seperti ohai, dan kemudian saya klik tombol, 524 00:39:16,500 --> 00:39:22,260 itu meluncurkan kegiatan baru, dan tampilan teks mengatakan ohai. 525 00:39:22,260 --> 00:39:27,640 Itu sangat sederhana, tapi mudah-mudahan setelah contoh yang 526 00:39:27,640 --> 00:39:32,310 Anda semacam melihat bagaimana interaksi ini bekerja, dan sekarang bahwa kekacauan file 527 00:39:32,310 --> 00:39:36,870 di sisi kiri untuk semua folder ini proyek, mudah-mudahan Anda tahu di mana mencarinya sekarang. 528 00:39:36,870 --> 00:39:38,700 Ini adalah daerah kode sumber Anda. 529 00:39:38,700 --> 00:39:41,760 >> Tata letak benar-benar satu-satunya hal yang Anda akan berurusan dengan sampai Anda memasukkan gambar 530 00:39:41,760 --> 00:39:46,370 dan drawables atau apa pun, dan nilai-nilai, yang akan mencakup string, 531 00:39:46,370 --> 00:39:51,960 seperti yang telah disebutkan, dan kemudian gaya adalah sesuatu yang semacam seperti CSS. 532 00:39:51,960 --> 00:39:56,410 Mengatasinya bila Anda ingin, tetapi sampai Anda merasa nyaman dengan menambahkan bakat ekstra 533 00:39:56,410 --> 00:40:02,520 untuk aplikasi Anda tidak perlu khawatir tentang hal itu terlalu banyak. 534 00:40:02,520 --> 00:40:07,410 Hanya untuk membungkus satu hal lain Anda pasti akan ingin menyertakan- 535 00:40:07,410 --> 00:40:13,010 dengan asumsi Anda ingin mengintegrasikan fitur-fitur keren dan menyelamatkan diri beberapa tambahan coding- 536 00:40:13,010 --> 00:40:16,460 akan termasuk perpustakaan pihak ke-3. 537 00:40:16,460 --> 00:40:19,840 Berikut orang Android sedikit dengan Sherlock Holmes topi. 538 00:40:19,840 --> 00:40:23,040 Ini merupakan tindakan bar Sherlock perpustakaan, 539 00:40:23,040 --> 00:40:25,390 yang pada dasarnya berarti bahwa panel tindakan Anda lihat sebelumnya, 540 00:40:25,390 --> 00:40:29,590 yang sekarang standar dalam Ice Cream Sandwich dan Jelly Bean, 541 00:40:29,590 --> 00:40:33,100 jika Anda ingin membawa semacam pengalaman pengguna kepada pengguna pada versi lama 542 00:40:33,100 --> 00:40:39,290 dan menyelamatkan diri dari khawatir tentang bagaimana pengguna akan menavigasi 543 00:40:39,290 --> 00:40:42,490 pada versi lama ketika hal yang tidak ada Anda dapat memasukkan perpustakaan ini 544 00:40:42,490 --> 00:40:46,770 dan kemudian Anda hanya perlu referensi-bukan default Android 545 00:40:46,770 --> 00:40:50,250 perpustakaan untuk panel tindakan, Anda referensi perpustakaan dukungan ini. 546 00:40:50,250 --> 00:40:53,090 >> Hal-hal seperti Scoreloop, itu bagus jika Anda akan untuk memasukkan permainan. 547 00:40:53,090 --> 00:40:57,280 Ini memungkinkan Anda menambahkan papan pemimpin dan prestasi ke permainan. 548 00:40:57,280 --> 00:41:00,900 Admob adalah cara menempatkan iklan ke dalam aplikasi Anda 549 00:41:00,900 --> 00:41:02,900 jika anda ingin membuat sedikit uang dari itu. 550 00:41:02,900 --> 00:41:05,730 Tentu saja, ada Facebook dan Twitter untuk mengintegrasikan ada 551 00:41:05,730 --> 00:41:08,170 jika Anda ingin berbagi hal-hal mudah, dan sebagainya. 552 00:41:08,170 --> 00:41:15,120 Dropbox, juga, dan Google Analytics adalah bahwa grafik mencari orang di sana. 553 00:41:15,120 --> 00:41:19,070 Itu akan sangat penting jika Anda benar-benar ingin melihat siapa yang berinteraksi 554 00:41:19,070 --> 00:41:25,800 dengan aplikasi Anda atau siapa itu, bagaimana mereka berinteraksi, dan sebagainya. 555 00:41:25,800 --> 00:41:30,650 Google, secara default, memberitahu Anda banyak tentang statistik yang telah terinstal aplikasi Anda 556 00:41:30,650 --> 00:41:35,020 dan apa ponsel yang mereka miliki, apa versi sistem operasi yang mereka miliki. 557 00:41:35,020 --> 00:41:38,080 Tetapi jika Anda ingin melihat siapa yang menggunakannya setiap hari dan bagaimana mereka menggunakannya 558 00:41:38,080 --> 00:41:42,860 maka Anda akan ingin memasukkan semacam sistem pelacakan seperti itu. 559 00:41:42,860 --> 00:41:44,990 >> Ketika Anda siap untuk mendistribusikan aplikasi Anda 560 00:41:44,990 --> 00:41:46,930 Saya tidak perlu pergi ke bahwa terlalu banyak mendalam. 561 00:41:46,930 --> 00:41:49,090 Klik pada link di sini, Google Play. 562 00:41:49,090 --> 00:41:51,080 Ini digunakan untuk menjadi pasar Android. 563 00:41:51,080 --> 00:41:53,470 Mereka namanya segala sesuatu dengan Google Play, 564 00:41:53,470 --> 00:41:55,230 jadi sekarang Anda kirimkan itu. 565 00:41:55,230 --> 00:41:57,140 Ini sangat mudah. 566 00:41:57,140 --> 00:42:01,070 Anda harus menyertakan deskripsi, beberapa screenshot. 567 00:42:01,070 --> 00:42:05,660 Seperti saya katakan, tidak ada proses persetujuan seperti iOS. 568 00:42:05,660 --> 00:42:07,270 Dan ke mana harus pergi dari sini? 569 00:42:07,270 --> 00:42:09,450 Saya menunjukkan contoh yang sangat sederhana. 570 00:42:09,450 --> 00:42:13,270 Mudah-mudahan jika tampaknya sangat sederhana 571 00:42:13,270 --> 00:42:15,740 maka itu mungkin pertanda baik. 572 00:42:15,740 --> 00:42:20,080 Jika Anda sama sekali merasa sedikit bingung atau tidak yakin tentang apa yang saya mengetik 573 00:42:20,080 --> 00:42:26,160 itu juga baik-baik saja, tapi dari sini pergi ke Google Guides. 574 00:42:26,160 --> 00:42:28,330 Ini adalah tempat yang bagus untuk memulai. 575 00:42:28,330 --> 00:42:31,460 Ini akan berbicara Anda melalui apa yang mereka harapkan dalam hal desain aplikasi, 576 00:42:31,460 --> 00:42:33,380 bagaimana pengguna biasanya berinteraksi dengan itu. 577 00:42:33,380 --> 00:42:36,450 Ini jauh lebih bebas daripada bentuk iOS, aku akan mengatakan, 578 00:42:36,450 --> 00:42:41,330 yang tampaknya seperti tampilan tabel-Aku tidak tahu, itu roti dan mentega. 579 00:42:41,330 --> 00:42:44,690 Semuanya adalah tampilan tabel geser ke atas dan ke bawah. 580 00:42:44,690 --> 00:42:48,160 Dengan Android mereka pasti mendorong orang untuk melihatnya dari 581 00:42:48,160 --> 00:42:51,720 sejumlah besar perspektif yang berbeda. 582 00:42:51,720 --> 00:42:56,000 >> Bila Anda termasuk kit pengembangan perangkat lunak di ADT ini 583 00:42:56,000 --> 00:43:03,010 secara default Anda memiliki sejumlah besar proyek sampel di Android. 584 00:43:03,010 --> 00:43:05,470 Di sini, Android, Contoh Proyek Android. 585 00:43:05,470 --> 00:43:11,870 Jika saya klik pada itu, maka saya bisa memilih versi yang sampel proyek berlaku. 586 00:43:11,870 --> 00:43:13,300 Ada sejumlah hal yang berbeda di sini. 587 00:43:13,300 --> 00:43:16,690 Ini dimulai dengan tindakan bar kompatibilitas, 588 00:43:16,690 --> 00:43:24,610 accelerometer bermain, backup dan restore, Bluetooth, pembangun gerakan. 589 00:43:24,610 --> 00:43:28,930 JetBoy adalah permainan sampel mereka memberi Anda, seperti LunarLander. 590 00:43:28,930 --> 00:43:31,250 Ada sejumlah besar aplikasi sampel di sini, 591 00:43:31,250 --> 00:43:35,290 dan mereka semua ditargetkan pada aspek yang berbeda dari API Android, 592 00:43:35,290 --> 00:43:41,520 dan gagasan adalah bahwa ketika Anda membuat aplikasi Anda 593 00:43:41,520 --> 00:43:44,110 Anda tidak perlu mempelajari segala sesuatu tentang Android untuk membuat aplikasi Android. 594 00:43:44,110 --> 00:43:47,300 Anda hanya harus belajar tentang bagian-bagian yang Anda benar-benar akan digunakan. 595 00:43:47,300 --> 00:43:49,340 Lihatlah orang-perpustakaan sampel. 596 00:43:49,340 --> 00:43:51,510 Jangan ragu untuk copy dan paste kode dan permohonan kembali itu. 597 00:43:51,510 --> 00:43:53,850 Ini adalah hal yang besar untuk melihat kode lebih sulit 598 00:43:53,850 --> 00:43:57,060 dan mencoba untuk memahaminya, yang tentu saja mengapa dalam CS50 599 00:43:57,060 --> 00:44:01,510 kita sering memberikan jumlah besar kode sumber. 600 00:44:01,510 --> 00:44:04,620 Lihatlah beberapa ini jika Anda akan menggunakan perpustakaan yang serupa 601 00:44:04,620 --> 00:44:08,630 dan kemudian menerapkannya pada kode Anda sendiri. 602 00:44:08,630 --> 00:44:10,430 Dan tentu saja, ada tutorial. 603 00:44:10,430 --> 00:44:12,690 Mencari tutorial. 604 00:44:12,690 --> 00:44:17,020 Saya menemukan banyak orang-orang baik secara online yang dapat membawa Anda sampai dengan kecepatan 605 00:44:17,020 --> 00:44:20,080 dengan apa yang fragmen sebenarnya dan bagaimana Anda dapat menggunakannya. 606 00:44:20,080 --> 00:44:22,240 >> Beberapa hal desain baru, seperti fragmen, 607 00:44:22,240 --> 00:44:26,840 Anda benar-benar tidak harus khawatir tentang kecuali Anda membuat 608 00:44:26,840 --> 00:44:30,560 yang cukup besar dalam proyek lingkup. 609 00:44:30,560 --> 00:44:32,510 Mereka adalah hal-hal yang Google sedang mencoba untuk masuk fase 610 00:44:32,510 --> 00:44:35,570 Stackoverflow tentu teman Anda. 611 00:44:35,570 --> 00:44:37,930 Mudah-mudahan saya menjual sedikit pada Android, 612 00:44:37,930 --> 00:44:41,640 menyadari itu jauh lebih mudah untuk mendekati dalam hal hanya bahasa coding. 613 00:44:41,640 --> 00:44:45,970 Java adalah saya akan mengatakan lebih mudah dimengerti daripada Objective-C. 614 00:44:45,970 --> 00:44:50,780 Android tumbuh saya pikir lebih dari iOS. 615 00:44:50,780 --> 00:44:54,890 Maksudku, data juga ada, selain dari apa yang saya pikirkan. 616 00:44:54,890 --> 00:44:56,920 Ini akan menjadi sekitar untuk sementara waktu, 617 00:44:56,920 --> 00:45:00,880 dan mereka adalah beberapa tahun belakang dalam hal siklus desain mereka, 618 00:45:00,880 --> 00:45:04,690 jadi semacam dimengerti bahwa mereka masih bekerja melalui beberapa 619 00:45:04,690 --> 00:45:09,080 pertanyaan konsistensi, seperti tindakan bar ini adalah hal yang baru bagi mereka masih, 620 00:45:09,080 --> 00:45:16,010 semacam menciptakan pengalaman serupa pengguna di semua aplikasi mereka. 621 00:45:16,010 --> 00:45:20,650 Mudah-mudahan Anda bisa maju sekarang dan membuka Eclipse 622 00:45:20,650 --> 00:45:22,870 dan membuat aplikasi Android sendiri. 623 00:45:22,870 --> 00:45:30,240 >> Apakah ada yang memiliki pertanyaan sebelum kita menyelesaikan apa? 624 00:45:30,240 --> 00:45:34,410 Saya dapat memberitahu Anda jawabannya adalah 42. 625 00:45:34,410 --> 00:45:41,990 Yah, senang coding semua orang, dan keberuntungan. 626 00:45:41,990 --> 00:45:44,990 [CS50.TV]