1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Seminar] [Android Apps (Jetzt mit Jelly Beans!)] 2 00:00:02,610 --> 00:00:04,210 [Jordan Jozwiak] [Harvard University] 3 00:00:04,210 --> 00:00:06,780 [Dies ist CS50.] [CS50.TV] 4 00:00:06,780 --> 00:00:11,600 >> Hallo an alle, und willkommen in der Android Apps (Jetzt mit Jelly Beans!) Seminar. 5 00:00:11,600 --> 00:00:14,530 Jetzt ist es mit Jelly Beans genannt, natürlich, weil 6 00:00:14,530 --> 00:00:17,310 die neueste Version des Betriebssystems heißt Jelly Bean. 7 00:00:17,310 --> 00:00:22,950 Wenn ich sprach über Android im letzten Jahr und tat dieses im Grunde gleiche Seminar 8 00:00:22,950 --> 00:00:29,150 Ich präsentierte die Design Patterns und stilistische Auswahl für Lebkuchen, 9 00:00:29,150 --> 00:00:31,250 obwohl Ice Cream Sandwich hatte zu der Zeit kommen, 10 00:00:31,250 --> 00:00:33,680 und das ist etwas, worüber wir in Zukunft ein wenig zu sprechen. 11 00:00:33,680 --> 00:00:35,720 Android, hat natürlich einige Probleme mit der Fragmentierung, 12 00:00:35,720 --> 00:00:40,240 so die neueste Google-Betriebssystem ist in der Regel 13 00:00:40,240 --> 00:00:44,710 nicht wirklich, sich unter den Nutzern gemeinsam für potenziell bis zu einem Jahr, leider. 14 00:00:44,710 --> 00:00:49,960 >> Aber abgesehen, dass wir über viele Gründe, warum reden 15 00:00:49,960 --> 00:00:53,000 Android ist viel besser als iOS. 16 00:00:53,000 --> 00:00:56,410 Okay, werden wir über Android gegen iOS sprechen, 17 00:00:56,410 --> 00:00:59,770 einige Design-Paradigmen, wie Sie in nur eine Folie werde fertig, 18 00:00:59,770 --> 00:01:03,410 und der große Unterschied zwischen diesem und letzten Jahr ist, ich will nur 19 00:01:03,410 --> 00:01:06,860 zoom durch einige konzeptionelle Dinge Arbeit mit 20 00:01:06,860 --> 00:01:09,950 das Betriebssystem und dann in ein wirklich einfaches Beispiel gehen. 21 00:01:09,950 --> 00:01:13,730 In der Tat, nur das Beispiel, dass Google beschreibt für den Aufbau Ihrer ersten App 22 00:01:13,730 --> 00:01:17,070 und wir durch ihn zusammen gehen und einfach zu beschreiben. 23 00:01:17,070 --> 00:01:22,100 >> Ich weiß, viele von Ihnen haben nur in C codiert, so Java ist bereits sein wird 24 00:01:22,100 --> 00:01:27,220 eine andere Perspektive, und diese Weise können Sie Ihre Füße bekommen werde nass 25 00:01:27,220 --> 00:01:31,540 und fühlen sich ein wenig mehr Komfort mit sich hoffnungsvoll. 26 00:01:31,540 --> 00:01:35,330 Eine kurze Zusammenfassung, Android gegenüber iOS. 27 00:01:35,330 --> 00:01:39,200 In Android gibt es diese einmalige Entwickler in Höhe von $ 25, 28 00:01:39,200 --> 00:01:42,390 keine dieser 100 Dollar pro Jahr, was. 29 00:01:42,390 --> 00:01:45,440 Es gibt keine Einschränkungen, was bedeutet, dass, wenn ich will, um eine App einreichen, 30 00:01:45,440 --> 00:01:51,560 Ich habe gerade eintragen, und es gibt keinen Genehmigungsprozess wie es für iOS. 31 00:01:51,560 --> 00:01:53,890 Sie lernen mit Java entwickeln mit Eclipse, 32 00:01:53,890 --> 00:01:57,090 das ist Cross-Plattform, so dass es keine Rolle, ob Sie einen Mac haben, 33 00:01:57,090 --> 00:01:59,600 Windows-oder eine Linux-Maschine. 34 00:01:59,600 --> 00:02:03,730 Natürlich mit iOS muss man XCode auf einem Mac zu verwenden, 35 00:02:03,730 --> 00:02:06,930 und Android wird von viel mehr Menschen genutzt, 36 00:02:06,930 --> 00:02:11,580 Wenn Sie also wollen, dass Ihre App auf irgendeine Art von Sichtbarkeit oder vielleicht haben 37 00:02:11,580 --> 00:02:14,110 ein wenig Geld aus der Werbung 38 00:02:14,110 --> 00:02:17,450 du bist wahrscheinlich eher von Android profitieren. 39 00:02:17,450 --> 00:02:20,630 >> Und eine Sache, die immer über Android ist schon bekannt 40 00:02:20,630 --> 00:02:25,100 ist die extreme Höhe der Anpassung, während iOS ist sehr auf ihre Weise fixiert 41 00:02:25,100 --> 00:02:29,380 so dass sie zur Aufrechterhaltung der Sicherheit und Kontrolle über jede noch so kleine Aspekt 42 00:02:29,380 --> 00:02:34,180 des Designs in ihrem Betriebssystem und den einzelnen Anwendungen. 43 00:02:34,180 --> 00:02:40,180 Android ist sehr freier Form, und es gibt so viel mehr Möglichkeiten. 44 00:02:40,180 --> 00:02:42,530 Okay, einige Design-Paradigmen. 45 00:02:42,530 --> 00:02:49,600 Beachten Sie hier genauso wie iOS hat Tabletten und iPhones und iPod Touches 46 00:02:49,600 --> 00:02:53,840 müssen sie unterstützen, sagen wir, wie ein Dutzend Geräte, wenn Sie unterstützen wollen 47 00:02:53,840 --> 00:02:55,450 historische Dinge. 48 00:02:55,450 --> 00:02:58,410 Mit Android muss man Hunderte von Geräten zu unterstützen, 49 00:02:58,410 --> 00:03:01,240 so gibt es einige Dinge, die Google hat versucht zu implementieren 50 00:03:01,240 --> 00:03:04,970 um die User Experience ein wenig mehr im Einklang, 51 00:03:04,970 --> 00:03:08,560 aber wir werden auch darüber, wie dies bedeutet, dass es Fragen gibt, der Fragmentierung sprechen 52 00:03:08,560 --> 00:03:11,700 dass man ständig bewusst zu sein, unterstützen. 53 00:03:11,700 --> 00:03:16,140 Fragmentierung bedeutet, dass es viele verschiedene Betriebssysteme, 54 00:03:16,140 --> 00:03:20,330 viele verschiedene Handys mit verschiedenen Hardware mit Android alle zur gleichen Zeit, 55 00:03:20,330 --> 00:03:29,680 so dieser Graph hier geht zurück für ca. 6 Monate. 56 00:03:29,680 --> 00:03:36,460 Ja, 6 Monate, und Sie können sehen, wie die dunkelste Band 57 00:03:36,460 --> 00:03:39,330 auf der Unterseite ist Jelly Bean, die sich über den Sommer gekommen, 58 00:03:39,330 --> 00:03:42,970 und Sie können jetzt wahrscheinlich etwa 2% der Telefone es haben sehen. 59 00:03:42,970 --> 00:03:45,520 >> Ice Cream Sandwich kam vor über einem Jahr, 60 00:03:45,520 --> 00:03:47,770 und ein Viertel der Handys haben es. 61 00:03:47,770 --> 00:03:53,910 Es gibt noch eine Menge Handys, die mit OS-Version von Jahren. 62 00:03:53,910 --> 00:03:57,820 Eine Sache, die Google versucht zu tun, um die Benutzerfreundlichkeit zu machen hat 63 00:03:57,820 --> 00:04:01,400 viel mehr konsistent Apps mit Honeycomb ab, 64 00:04:01,400 --> 00:04:04,320 das ist der Tablet-Version, dann Ice Cream Sandwich und Jelly Bean, 65 00:04:04,320 --> 00:04:06,750 sie wirklich versuchen, von dieser Aktion bar zu betonen, 66 00:04:06,750 --> 00:04:10,430 das ist, was man an der Spitze hier zu sehen, 67 00:04:10,430 --> 00:04:14,730 alles richtig hier, darunter dieses kleine Schaltfläche Einstellungen. 68 00:04:14,730 --> 00:04:16,079 Es ist die Design-Auswahl. 69 00:04:16,079 --> 00:04:18,000 Nun, wenn Sie die 3 Punkte sehen, es bedeutet Klicken Sie auf diesen, 70 00:04:18,000 --> 00:04:21,880 und es wird ein Dropdown-Menü, das irgendeine Art von Einstellungen hat. 71 00:04:21,880 --> 00:04:28,900 Dies zeigt nur, weil ich auf diese Schaltfläche geklickt wird. 72 00:04:28,900 --> 00:04:32,040 Das ist etwas, dass sie versuchen zu nutzen, um Apps ein wenig mehr konsistent zu machen 73 00:04:32,040 --> 00:04:39,210 auf der ganzen Linie und so hat der Benutzer ein besseres Gefühl für einheitliche Erfahrung. 74 00:04:39,210 --> 00:04:42,640 >> Okay, also, falls Sie das nicht schon getan oder wenn Sie zu Hause sehen gerade 75 00:04:42,640 --> 00:04:50,210 dann können Sie die folgenden Schritte zum Einrichten Ihres Codeumgebung. 76 00:04:50,210 --> 00:04:52,630 Es wird darum gehen, um der Website hier. 77 00:04:52,630 --> 00:04:56,260 Sie können Google installieren Android SDK 78 00:04:56,260 --> 00:04:59,130 und folgen einige Beschreibungen gibt. 79 00:04:59,130 --> 00:05:01,310 Sie erzählen dir alles. 80 00:05:01,310 --> 00:05:05,160 Sie haben der Installation des SDK, download Eclipse-Classic-Version, 81 00:05:05,160 --> 00:05:07,450 obwohl, natürlich, wir sind in Java codiert. 82 00:05:07,450 --> 00:05:12,190 Sie empfehlen in diesem Fall, und dann dieses ADT, die Android Development Tools, 83 00:05:12,190 --> 00:05:17,300 ist ein Plugin, das Sie installieren in Eclipse, die Ihnen erlaubt, 84 00:05:17,300 --> 00:05:20,550 haben eine viel schlankere Erfahrungen mit Android innerhalb von Eclipse. 85 00:05:20,550 --> 00:05:24,070 Es wird Ihnen einige grafische Benutzeroberflächen 86 00:05:24,070 --> 00:05:29,610 für die Gestaltung der Ansichten, und es wird Ihnen viel mehr Unterstützung 87 00:05:29,610 --> 00:05:34,840 und die Fähigkeit, mit dem Emulator und all so etwas zu starten. 88 00:05:34,840 --> 00:05:36,090 Application Framework. 89 00:05:36,090 --> 00:05:41,590 >> Ich möchte, wie die Projekte im Android strukturiert zu sprechen, 90 00:05:41,590 --> 00:05:44,830 und dann werden wir in ein kleines Beispiel zu gehen, und hoffentlich 91 00:05:44,830 --> 00:05:48,820 Sie können Fragen an irgendeiner Stelle zu stellen und das Gefühl am Ende des es bequem. 92 00:05:48,820 --> 00:05:50,090 Wir haben einige Jargon zuerst. 93 00:05:50,090 --> 00:05:55,330 Eine Aktivität ist wie der Bildschirm sehen Sie, wenn Sie eine Anwendung starten. 94 00:05:55,330 --> 00:05:57,840 Die gesamte Erfahrung ist die Tätigkeit selbst, 95 00:05:57,840 --> 00:06:00,790 so könnte man es als ein Bildschirm oder ein Blick denken, 96 00:06:00,790 --> 00:06:04,540 aber es ist eigentlich der Quellcode Seite davon. 97 00:06:04,540 --> 00:06:12,680 Wir haben noch rufen die eigentliche Schnittstelle Teil davon für eine Aussicht. 98 00:06:12,680 --> 00:06:17,230 Es ist eine Art, wie zB wie in pset 7 hatten wir den Controller und dann die Ansicht. 99 00:06:17,230 --> 00:06:20,690 Die Aktivität ist mehr oder weniger die Steuerung, 100 00:06:20,690 --> 00:06:23,360 und die Aussicht ist, was wir in Bezug auf die XML tun 101 00:06:23,360 --> 00:06:25,260 Das ist mit dieser Tätigkeit verbunden. 102 00:06:25,260 --> 00:06:29,340 Fragmente sind etwas, das in Ice Cream Sandwich für die Zukunft umgesetzt ist. 103 00:06:29,340 --> 00:06:36,380 Es ist nur eine Idee, Teile der Blick oder die Aktivität 104 00:06:36,380 --> 00:06:39,990 und teilt sie in verschiedene Bereiche, so dass wir 105 00:06:39,990 --> 00:06:45,030 machen unseren Code besser nutzbar für viele verschiedene Geräte 106 00:06:45,030 --> 00:06:51,890 , die wir unterstützen, und es ist nur ein Weg, zu versuchen, 107 00:06:51,890 --> 00:06:54,290 auch ausklammern mehr Code. 108 00:06:54,290 --> 00:07:01,090 Dienstleistungen sind Hintergrund Dinge wie Musik oder Navigationsanweisungen potentiell. 109 00:07:01,090 --> 00:07:05,640 Content-Provider, sind diese APIs innerhalb des Betriebssystems 110 00:07:05,640 --> 00:07:09,070 , mit denen Sie gemeinsam genutzte Daten wie Kontaktinformationen zugreifen, 111 00:07:09,070 --> 00:07:12,790 und dann eine Absicht ist etwas, das wir verwenden, wenn wir starten möchten finden 112 00:07:12,790 --> 00:07:17,210 eine neue Tätigkeit aus unserem aktuellen Aktivität. 113 00:07:17,210 --> 00:07:20,980 >> Hallo Android, das wird ein Projekt, dass wir darüber reden werde. 114 00:07:20,980 --> 00:07:25,410 Ich werde tatsächlich tun es für Sie, und dann werden wir etwas tun, wo wir auf eine Schaltfläche klicken 115 00:07:25,410 --> 00:07:27,650 mit etwas Text und starten Sie eine neue Tätigkeit. 116 00:07:27,650 --> 00:07:30,110 Sehr einfach, aber ich möchte zu durchlaufen 117 00:07:30,110 --> 00:07:34,480 was in einem Projekt wie diesem gehen. 118 00:07:34,480 --> 00:07:39,260 Wenn Sie das neue Projekt machen Sie innerhalb von Eclipse zu sehen 119 00:07:39,260 --> 00:07:41,900 gibt es dieses Projekt namens Hallo Android. 120 00:07:41,900 --> 00:07:43,470 Dann gibt es eine ganze Reihe von Ordnern hier. 121 00:07:43,470 --> 00:07:46,760 Die, die Sie wirklich sind besorgt sind die Quell-Ordner, 122 00:07:46,760 --> 00:07:54,540 die Ressource Ordner, die res, und zu einem gewissen Grad die libs Ordner für Bibliotheken. 123 00:07:54,540 --> 00:08:00,070 Und nur so, dass wir auf der gleichen Seite mit, dass 124 00:08:00,070 --> 00:08:03,240 wenn du ein neues Projekt zu erstellen, 125 00:08:03,240 --> 00:08:08,270 Sie können dieses Recht hier zu tun, so dass, wenn ich es zu nennen HelloAndroid wollen, 126 00:08:08,270 --> 00:08:11,100 und dann ist es automatisch macht eine ganze Reihe von Informationen, die für uns. 127 00:08:11,100 --> 00:08:14,110 Der Name des Pakets soll eine eindeutige Kennung darstellen 128 00:08:14,110 --> 00:08:16,710 Das wäre normalerweise mit der Website in Verbindung gebracht werden, wenn Sie eine haben. 129 00:08:16,710 --> 00:08:24,430 >> Zum Beispiel, ich nenne diese net.cs50.helloandroid. 130 00:08:24,430 --> 00:08:30,070 Und habe ich schon dieses Projekts einmal. 131 00:08:30,070 --> 00:08:40,059 Okay, sorry. Nennen wir es HelloCS50. 132 00:08:40,059 --> 00:08:42,929 Und dann wird es Dinge wie, welche Art von Symbol wir machen wollen. 133 00:08:42,929 --> 00:08:48,840 Das ist alles wegen der Android Developer Tools-Schnittstelle, 134 00:08:48,840 --> 00:08:53,350 das Plugin, dass wir Eclipse hinzugefügt, so dass wir Ihnen Dinge wie 135 00:08:53,350 --> 00:08:58,320 welche Symbole wir wollen, und das wäre in dieser Tiefe zu gehen, wenn wir wollen. 136 00:08:58,320 --> 00:09:04,360 Aber am Ende, so stellen Sie das Projekt, 137 00:09:04,360 --> 00:09:07,040 und alles zeigt sich genau hier. 138 00:09:07,040 --> 00:09:10,030 Da zeigte ich auf dem anderen Bildschirm, 139 00:09:10,030 --> 00:09:14,070 haben wir die Quell-Ordner, und ich werde über das, was das alles bedeutet, bald zu sprechen, 140 00:09:14,070 --> 00:09:19,090 aber man kann sehen, dass es sofort uns zum HelloCS50 Bildschirm. 141 00:09:19,090 --> 00:09:24,690 Es gibt einige Tasten hier für das Hinzufügen von Text und Feld-Layouts. 142 00:09:24,690 --> 00:09:28,910 Es ist irgendwie wie XCode aber leider nicht ganz so stromlinienförmig. 143 00:09:28,910 --> 00:09:37,790 Aber die Clips werden Ihr Freund und ADT insbesondere, dies zu tun. 144 00:09:37,790 --> 00:09:40,920 >> Okay, das ist die Quelle Ordner, in dem 145 00:09:40,920 --> 00:09:43,820 die Java-Dateien gehalten werden, und das ist eigentlich der Start des Programms. 146 00:09:43,820 --> 00:09:45,990 Es ist im Grunde wie die Controller. 147 00:09:45,990 --> 00:09:49,020 Die Ressource Ordner oder die Auflösung ist, wo wir Bildschirmlayouts halte, 148 00:09:49,020 --> 00:09:54,110 Bilder, Töne, Texte, Animationen und alles andere, libs, offensichtlich, Bibliotheken. 149 00:09:54,110 --> 00:10:01,700 Und das Manifest, es ist die Art und Weise, dass das Android-System kennt 150 00:10:01,700 --> 00:10:03,130 wie Sie mit Ihrem App interagieren. 151 00:10:03,130 --> 00:10:07,980 Es sagt es über Berechtigungen und welche Tätigkeiten tatsächlich ausgeführt werden. 152 00:10:07,980 --> 00:10:12,350 Es ist alles die wesentlichen Informationen, die notwendig sind, um Ihre Anwendung auszuführen ist. 153 00:10:12,350 --> 00:10:17,990 Der Quellordner ist-wenn wir es erweitern, wie Sie hier sehen können. 154 00:10:17,990 --> 00:10:23,920 Und ein Beispiel dafür, dass ein Code aussehen würde, das ist die Standard-Code. 155 00:10:23,920 --> 00:10:27,930 Wie wir es nannten, MainActivity. 156 00:10:27,930 --> 00:10:33,230 Standardmäßig erhalten wir onCreate, das ist eine Funktion, die aufgerufen wird, wenn diese Tätigkeit Ladung ist, 157 00:10:33,230 --> 00:10:37,150 so dass Sie wollen onCreate (savedInstanceState) nennen. 158 00:10:37,150 --> 00:10:40,440 Dies wird wieder keine Bits von Informationen 159 00:10:40,440 --> 00:10:44,910 im Falle der Anwendung wurde angehalten. 160 00:10:44,910 --> 00:10:48,790 >> Es gibt eine ganze Aktivität Lebenszyklus Tabelle, die Sie sich anschauen kann 161 00:10:48,790 --> 00:10:50,380 wenn Sie ein wenig mehr in die Tiefe in es zu bekommen, 162 00:10:50,380 --> 00:10:56,210 aber das wichtigste Codezeile gibt es diese setContentView Funktion 163 00:10:56,210 --> 00:11:00,290 was wird die Ressource-Datei für das Layout laden. 164 00:11:00,290 --> 00:11:03,590 Und was onCreate hier ist im Grunde tun, ist es zu sagen 165 00:11:03,590 --> 00:11:07,010 wenn ich diese Aktivität zu erstellen Ich möchte dieses Layout laden. 166 00:11:07,010 --> 00:11:12,030 Und wir erfahren, was das Layout ist in einem zweiten sprechen. 167 00:11:12,030 --> 00:11:16,230 Wenn wir starten, dass es hier genau so aussieht waren, 168 00:11:16,230 --> 00:11:22,880 und standardmäßig, da haben wir Eclipse-dies zu tun und ADT tut es für uns 169 00:11:22,880 --> 00:11:28,210 das ist alles Textvorschlag Code, der für uns geschaffen hat, 170 00:11:28,210 --> 00:11:34,630 und wir können weiterziehen und die Dinge ändern, wie wir wollen. 171 00:11:34,630 --> 00:11:38,190 Die Ressource Ordner, wie ich schon sagte, das ist, wo wir alle Layouts zu halten, 172 00:11:38,190 --> 00:11:41,150 zeichenbare in Bezug auf jede Art von Bilder- 173 00:11:41,150 --> 00:11:46,360 sie heißen zeichenbare-und Sound-Dateien, Menüs. 174 00:11:46,360 --> 00:11:51,170 Es ist ein Weg von einem ganzen Bündel von XML in einem schönen sortiert Mode. 175 00:11:51,170 --> 00:11:58,030 Wie Sie sehen können, gibt es. Hdpi, ldpi, MDPI und xhdpi Ordner für die zeichenbare. 176 00:11:58,030 --> 00:12:02,220 Dies sind verschiedene Rasterdichten, so hohe Dichte Pixel pro Zoll, 177 00:12:02,220 --> 00:12:05,710 niedrige Dichte, mittlerer Dichte, extra hohe Dichte. 178 00:12:05,710 --> 00:12:08,900 >> Dies ist, wieder, so können wir unterstützen all diese verschiedenen Geräte, 179 00:12:08,900 --> 00:12:15,100 und idealerweise haben Sie verschiedene Bilder für jede andere Auflösung. 180 00:12:15,100 --> 00:12:20,740 Layouts sind, wo wir all die verschiedenen Layouts, die in verschiedenen Aktivitäten verwendet werden, gehören. 181 00:12:20,740 --> 00:12:24,150 Sie könnten auch Layouts für Fragmente, 182 00:12:24,150 --> 00:12:26,670 was bedeutet Teilaktivitäten im Grunde. 183 00:12:26,670 --> 00:12:29,610 Wenn Sie möchten, etwas cool wie wenn Sie drehen das Telefon zu tun 184 00:12:29,610 --> 00:12:33,900 Sie wollen, dass es ein anderes Layout Sie Layout-Landschaft als einen anderen Ordner tun können, 185 00:12:33,900 --> 00:12:39,000 und Android hat automatisch eine ganze Reihe von diesen Regeln innerhalb der Ressource Ordner 186 00:12:39,000 --> 00:12:44,690 so wird es wissen, um bei verschiedenen Ordnern auf dem aktuellen Setup des Telefons basiert aussehen, 187 00:12:44,690 --> 00:12:46,740 Welche Art von Hardware Sie verwenden. 188 00:12:46,740 --> 00:12:52,350 Ebenso diese Werte-v11 hier und Werte-v14 189 00:12:52,350 --> 00:12:55,460 und die Standardwerte Ordner dies for- 190 00:12:55,460 --> 00:13:01,730 gut, Werte von selbst, wird dies die Standardwerte in allen Versionen des Betriebssystems werden. 191 00:13:01,730 --> 00:13:06,390 Auf der anderen Seite, v11 und v14 mit Honeycomb entsprechen 192 00:13:06,390 --> 00:13:08,780 und Ice Cream Sandwich, beziehungsweise. 193 00:13:08,780 --> 00:13:12,800 Auch dies sind Möglichkeiten, die-in diesen Ordnern sind unterschiedliche Saiten 194 00:13:12,800 --> 00:13:17,550 und Stile, so können Sie das Aussehen Ihrer App 195 00:13:17,550 --> 00:13:22,660 oder möglicherweise sogar seine Funktionalität, obwohl das wäre wahrscheinlich eine schlechte Idee sein, 196 00:13:22,660 --> 00:13:25,890 Abhängig von der Version des Betriebssystems. 197 00:13:25,890 --> 00:13:28,760 >> Und ich sprach über all das hier. 198 00:13:28,760 --> 00:13:35,870 Wieder drawable, roh, Layout, Werte. 199 00:13:35,870 --> 00:13:41,380 Die Standardwerte, wenn wir gehen in Hallo Android oder Hallo CS50 jetzt 200 00:13:41,380 --> 00:13:43,310 es wird nur so aussehen. 201 00:13:43,310 --> 00:13:45,800 Er wird sagen hallo Welt. 202 00:13:45,800 --> 00:13:58,430 Wie Sie hier sehen, mit dem Android Text 203 00:13:58,430 --> 00:14:04,420 der Text für diesen Text gesehen, ist das im Grunde nur ein Etikett, 204 00:14:04,420 --> 00:14:06,900 ist das, was wir würden es in iOS nennen. 205 00:14:06,900 --> 00:14:11,580 Es hat dieses lustige Notation @ string / hello_world. 206 00:14:11,580 --> 00:14:16,200 Dies ist so, wir können-wir alle Saiten extrahieren versuchen, 207 00:14:16,200 --> 00:14:19,740 alle fest codierten Strings in Android in einen separaten Ordner, 208 00:14:19,740 --> 00:14:23,610 was passiert in values.strings sein. 209 00:14:23,610 --> 00:14:29,300 Wenn wir hier betrachten, können wir sehen, dass wir eine hart codierte Zeichenfolge hier gespeichert haben 210 00:14:29,300 --> 00:14:33,910 für Hallo Welt, und es heißt hallo Welt, und dies ist eine Art 211 00:14:33,910 --> 00:14:39,230 gemeinsame Design-Entscheidung auf vielen verschiedenen Plattformen, die Sie-wollen 212 00:14:39,230 --> 00:14:41,780 Strings sind die Art von Dingen, die wir wollen, um potenziell in der Lage sein zu ändern. 213 00:14:41,780 --> 00:14:48,050 Wir wollen nicht zu F in unseren Quellcode-Datei in unserem XML steuern. 214 00:14:48,050 --> 00:14:50,760 Wir wollen in der Lage sein, dies zu ändern, wenn wir die Chance bekommen. 215 00:14:50,760 --> 00:14:53,640 >> Diese XML-Datei, strings.xml, ist ein Weg, der Extraktion 216 00:14:53,640 --> 00:14:56,710 hart codierte Zeichenfolgen, die sonst in unserem Layout Ressourcen wäre 217 00:14:56,710 --> 00:15:03,530 oder in unserem Quellcode. 218 00:15:03,530 --> 00:15:08,190 Das Manifest ist, wo wir diese wesentliche Informationen über die Anwendung zu halten. 219 00:15:08,190 --> 00:15:11,050 Es enthält den Namen des Pakets. Das muss eine eindeutige Kennung sein. 220 00:15:11,050 --> 00:15:16,020 Im Gegensatz zum App Store für iOS die Namen der Anwendungen 221 00:15:16,020 --> 00:15:19,980 nicht eindeutig sein, und man kann in der Tat den Namen Ihrer Anwendung 222 00:15:19,980 --> 00:15:23,570 nachdem Sie einreichen, also wenn ich beginnen mit Angry Birds, 223 00:15:23,570 --> 00:15:26,840 und dann mache ich ein Update, und ich will nicht, um eine neue Version zu veröffentlichen 224 00:15:26,840 --> 00:15:34,230 Ich glaube, ich könnte es Angry Birds 2, während ich auf dem gleichen Release-Zyklus bin. 225 00:15:34,230 --> 00:15:36,780 Es würde nur zeigen, wie ein Update. 226 00:15:36,780 --> 00:15:39,790 Die einzige Sache, die eindeutig sein muss, ist dieses Paket Namen, 227 00:15:39,790 --> 00:15:41,280 die nicht viele Menschen sehen. 228 00:15:41,280 --> 00:15:44,680 Nun, würden Sie nur sehen, wenn Sie auf den Quellcode oder wenn es irgendeine Art von Fehler suchten. 229 00:15:44,680 --> 00:15:47,580 Die Komponenten umfassen die Aktivitäten, so haben wir zu erklären, 230 00:15:47,580 --> 00:15:49,070 jede Art von Aktivität, die wir verwenden. 231 00:15:49,070 --> 00:15:53,430 Dies ist eine Erlaubnis Art der Sache. 232 00:15:53,460 --> 00:15:58,150 >> Da Android nicht über diese strengen Bewerbungsprozess 233 00:15:58,150 --> 00:16:02,210 für die Einreichung der Apps statt sie einfach alles aus der Berechtigungen basiert 234 00:16:02,210 --> 00:16:04,300 und zu erklären, was in der Manifest. 235 00:16:04,300 --> 00:16:06,380 Die SDK-Version ist ebenfalls wichtig. 236 00:16:06,380 --> 00:16:10,330 Wir können als SDK minimale Version etwas gesetzt. 237 00:16:10,330 --> 00:16:16,010 Natürlich wollen Sie Code erstellen 238 00:16:16,010 --> 00:16:18,570 und Design für die neueren Betriebssysteme. 239 00:16:18,570 --> 00:16:20,840 Vielleicht nicht das neueste, vielleicht nicht Jelly Bean. 240 00:16:20,840 --> 00:16:23,610 Vielleicht wollen Sie in erster Linie für Ice Cream Sandwich-Bauweise, 241 00:16:23,610 --> 00:16:27,120 obwohl sie sind so ziemlich das gleiche in Bezug auf Design-Entscheidungen 242 00:16:27,120 --> 00:16:30,550 und die tatsächlichen Bibliotheken und APIs. 243 00:16:30,550 --> 00:16:36,250 Aber anstatt die Menschen haben 244 00:16:36,250 --> 00:16:40,050 des ursprünglichen Android-Version Donut-ähnlichen Weg zurück, wenn- 245 00:16:40,050 --> 00:16:43,420 die noch geschehen zu sein, die versuchen, mit Ihrer Anwendung herunterzuladen und dann sagen 246 00:16:43,420 --> 00:16:46,160 es funktioniert nicht auf meinem Handy können Sie die Minimal-Version eingestellt 247 00:16:46,160 --> 00:16:48,620 und haben es Gingerbread oder Ice Cream Sandwich sein 248 00:16:48,620 --> 00:16:53,300 oder was auch immer Sie sich wohl fühlen Einreichen. 249 00:16:53,300 --> 00:16:57,170 Und dies ist ein Beispiel für das Manifest. Wir können bei der tatsächlichen einem ein bisschen suchen. 250 00:16:57,170 --> 00:17:00,900 >> Okay, wir nur vorwärts gehen mit der Demo jetzt. 251 00:17:00,900 --> 00:17:08,900 Dies ist die Demo, wenn Sie Google Android bauen Sie Ihre erste App oder so ähnlich. 252 00:17:08,900 --> 00:17:12,089 Wir werden durch alles, was los ist in dorthin zu gehen, 253 00:17:12,089 --> 00:17:17,690 und sorry, nur für eine Referenz, die hier kennt Java in irgendeiner Weise? 254 00:17:17,690 --> 00:17:28,310 Okay, so Java ist neu programmierte Sprache für die meisten Menschen kommen aus der CS50. 255 00:17:28,310 --> 00:17:31,850 Kurz gesagt, gehen immer wieder, was es hier sagt, 256 00:17:31,850 --> 00:17:35,580 was wir wollen, ist, anstatt diese einstellen Hallo Welt Anwendung 257 00:17:35,580 --> 00:17:38,620 dass alles was man tut, ist es startet und es sagt, hallo Welt 258 00:17:38,620 --> 00:17:43,580 und es sagt hallo CS50 an der Spitze, denn das ist die Aktivität Namen 259 00:17:43,580 --> 00:17:47,190 wir werden versuchen, ein Textfeld und eine Schaltfläche machen 260 00:17:47,190 --> 00:17:50,680 so dass, wenn wir diese Taste drücken, wird es den Text 261 00:17:50,680 --> 00:17:53,660 aus dem Textfeld und starten Sie eine neue Tätigkeit, und es wird sagen: 262 00:17:53,660 --> 00:17:58,380 was, dass der Text der in der Tätigkeit, und das ist relativ einfach. 263 00:17:58,380 --> 00:18:00,650 Es ist nicht sehr interessant. Sie würden nicht wollen, um jede App wie diese zu lösen. 264 00:18:00,650 --> 00:18:03,880 Aber es zeigt einige wichtige Design-Dinge. 265 00:18:03,880 --> 00:18:07,030 >> Wir müssen mit dem Manifest interagieren mit den Layout-Dateien, 266 00:18:07,030 --> 00:18:12,440 mit dem Quellcode, und Sie können sehen, wie man eine Tätigkeit von der anderen zu starten. 267 00:18:19,740 --> 00:18:23,060 Wir werden mit dem Layout für unsere erste Aktivität zu starten, 268 00:18:23,060 --> 00:18:27,320 denen ich weiß, es ist eine Art von kleinen, 269 00:18:27,320 --> 00:18:32,660 aber wie man jetzt sehen, ist alles, es ist es ist unser Logo, dass wir erstellt haben, 270 00:18:32,660 --> 00:18:36,310 die Aktivität Name, und er sagt, hallo Welt in der Mitte. 271 00:18:36,310 --> 00:18:40,400 Stattdessen bin ich zum ersten Mal werde dies in einer linearen Anordnung zu machen, 272 00:18:40,400 --> 00:18:42,350 eine relative Layout und das sind alles Dinge 273 00:18:42,350 --> 00:18:45,870 Sie könnte sich nach oben und sind es wert, geht über zu einem bestimmten Zeitpunkt in Bezug auf den Layouts. 274 00:18:45,870 --> 00:18:47,310 Es ist ein viel wie HTML. 275 00:18:47,310 --> 00:18:52,640 Wir haben gesagt, es ist nicht wirklich Wissenswertes im Sinne einer programmatischen Sinn, 276 00:18:52,640 --> 00:18:55,840 aber es gibt so viele verschiedene Layouts können Sie steuern, 277 00:18:55,840 --> 00:18:57,970 und es ist genau wie CSS in Bezug auf die Stile. 278 00:18:57,970 --> 00:19:01,590 >> Es gibt eine Menge los nur in Bezug auf die Ästhetik hier 279 00:19:01,590 --> 00:19:08,930 und ja, es ist es wert Lernen, aber es ist die Art von Sache, die Sie nachschlagen sollte 280 00:19:08,930 --> 00:19:11,810 wie Sie gehen und fühlen Sie sich wie Sie etwas Neues brauchen. 281 00:19:11,810 --> 00:19:17,030 Ich kann den Vorteil von einigen der ADT Tools hier zumindest zum Auftakt mit zu nehmen. 282 00:19:17,030 --> 00:19:21,930 Ich mache ein Textfeld, und ich werde einen Knopf zu machen. 283 00:19:21,930 --> 00:19:24,100 Setzen Sie sie direkt neben einander. 284 00:19:24,100 --> 00:19:28,200 Sie haben bereits entsprechend ändern. 285 00:19:28,200 --> 00:19:31,320 Sorry, wieder, immer wieder auf den Unterschied zwischen linearen Anordnung und relative Layout, 286 00:19:31,320 --> 00:19:34,830 eine lineare Anordnung gibt ein wenig mehr Funktionalität 287 00:19:34,830 --> 00:19:38,720 in Bezug auf Füllraum und dafür sorgen, 288 00:19:38,720 --> 00:19:42,790 wir Position Dinge horizontal oder vertikal. 289 00:19:42,790 --> 00:19:46,130 Der große Unterschied zwischen einer linearen und einer relativen Layout Layout 290 00:19:46,130 --> 00:19:50,250 ist die relative Layoutpositionen alles relativ zu anderen Ansichten, 291 00:19:50,250 --> 00:19:52,630 und das Gute daran ist, dass es weniger Zeit braucht, um zu zeichnen 292 00:19:52,630 --> 00:19:56,120 da das Betriebssystem sieht überhaupt den Code und sagt, das geht 293 00:19:56,120 --> 00:19:58,270 relativ zu diesem hier, hier. 294 00:19:58,270 --> 00:20:03,170 Es bedeutet, es macht weniger Messungen als eine ganze Reihe von verschachtelten linearen Layouts 295 00:20:03,170 --> 00:20:06,840 was müsste ich tun, wenn ich Dinge, die hier vertikal gehen wollte. 296 00:20:06,840 --> 00:20:10,510 >> Ich habe bereits einige Dinge horizontal gehen, so würde ich brauchen eine andere lineare Layout 297 00:20:10,510 --> 00:20:14,560 zu nisten sie vertikal, aber wenn ich taten eine relative Layout, ich könnte sagen 298 00:20:14,560 --> 00:20:18,140 Halten Sie diese auf der linken Seite, das auf der rechten Seite und diese Dinge unter. 299 00:20:18,140 --> 00:20:21,850 Aber weil ich sie gerade jetzt füllen wollen, ich werde um eine lineare Layout verwenden, 300 00:20:21,850 --> 00:20:24,510 und Sie können sehen, es tut bereits eine Menge von diesen Dingen für uns. 301 00:20:24,510 --> 00:20:28,890 Alle Ansichten müssen, um eine Eigenschaft von Breite und Höhe haben, 302 00:20:28,890 --> 00:20:33,410 und in diesem Fall ein Gewicht von 1 haben, und das ein Gewicht von 1 303 00:20:33,410 --> 00:20:36,050 so dass es füllt den ganzen Raum. 304 00:20:36,050 --> 00:20:38,460 Aber die Breite und Höhe im Vordergrund. 305 00:20:38,460 --> 00:20:45,880 Diese ID-Feld hier ist nicht innerhalb des eigentlichen Layout wichtig 306 00:20:45,880 --> 00:20:49,060 es sei denn, wir verwenden eine relative Layout und sagen, wir können auf 307 00:20:49,060 --> 00:20:52,990 einen Blick Position in Bezug auf ein anderes. 308 00:20:52,990 --> 00:20:56,170 Wenn wir eine relative Layout hätten, könnten wir diese Position unterhalb von diesem sagen 309 00:20:56,170 --> 00:20:59,390 oder oberhalb dieser ID, aber diese ID wird wichtig sein, 310 00:20:59,390 --> 00:21:01,660 wenn wir mit ihm in unserem Code, weil wir verweisen können 311 00:21:01,660 --> 00:21:05,610 diese einzelnen Ansichten auf diese Weise. 312 00:21:05,610 --> 00:21:10,350 >> Und dann sieht man den tag requestFocus, die etwas, das Sie wahrscheinlich in pset 7 gesehen ist. 313 00:21:10,350 --> 00:21:15,370 Es war ein Autofokus-Tag oder etwas in diese Richtung für eines der Felder. 314 00:21:15,370 --> 00:21:22,100 Und eine Sache, natürlich können wir nur tun, wie in HTML, 315 00:21:22,100 --> 00:21:25,660 und Bekanntmachung eines der schönen Dinge über ADT ist, dass es hier autocompletes. 316 00:21:25,660 --> 00:21:29,930 Vielleicht nicht so schön wie es tat in XCode, aber es tut trotzdem 317 00:21:29,930 --> 00:21:32,860 und wir könnten sagen, Hinweis und dann geben wir es irgendeine Art von String 318 00:21:32,860 --> 00:21:37,070 gerne eine Nachricht schreiben, 319 00:21:37,070 --> 00:21:41,300 und wenn ich es einen Moment geben, merke auch, dass ich ein wenig Fehlermeldung erhalten hier 320 00:21:41,300 --> 00:21:44,610 sagen, dass wir eine String-Ressource für diesen Einsatz, 321 00:21:44,610 --> 00:21:48,820 wenn ich also lassen Sie es einige der harten Arbeit für mich 322 00:21:48,820 --> 00:21:57,320 Ich kann diese Zeichenfolge wählen, tun Refraktor Android und Android-Extrakt String. 323 00:21:57,320 --> 00:22:00,570 Ich kann ihm diesen Namen, schreiben Sie eine Nachricht, 324 00:22:00,570 --> 00:22:04,180 und was es hat jetzt ist es ersetzt das hart-codierten String 325 00:22:04,180 --> 00:22:07,980 mit einer Referenz auf den String in der Saite. xml-Datei, 326 00:22:07,980 --> 00:22:10,200 was bedeutet, das ist jetzt hier. 327 00:22:10,200 --> 00:22:15,560 >> Und ich weiß, das scheint ein wenig trivial und wie zusätzliche Arbeit an dieser Stelle, 328 00:22:15,560 --> 00:22:17,840 aber wenn man eine ganze Reihe von Dingen, eine ganze Reihe von Strings, 329 00:22:17,840 --> 00:22:20,750 das ist wirklich wichtig, und besonders für die Lokalisierung 330 00:22:20,750 --> 00:22:26,920 weil, wie ich bereits erwähnt habe, ist Android ein sehr global verwendetes Betriebssystem 331 00:22:26,920 --> 00:22:35,950 dass man einfach tun Werte oder Werte-en-sp 332 00:22:35,950 --> 00:22:44,320 oder etwas für Englisch oder Spanisch oder anderen Sprachen. 333 00:22:44,320 --> 00:22:50,210 Und dann haben Sie wahrscheinlich nicht diese Erfahrung noch 334 00:22:50,210 --> 00:22:53,030 da wir nicht viel tun JavaScript in Bezug auf die Web-Programmierung, 335 00:22:53,030 --> 00:22:56,850 aber wir können auch dieses Feld namens onClick für die Schaltfläche 336 00:22:56,850 --> 00:23:02,350 und dies ist ein Weg, der Referenzierung in unserem Layout 337 00:23:02,350 --> 00:23:06,570 dass wir eine bestimmte Funktion in unserem Quellcode genannt werden wollen. 338 00:23:06,570 --> 00:23:09,420 Ich werde dieses sendMessage nennen, 339 00:23:09,420 --> 00:23:13,390 und um diese Arbeit zu machen das heißt in der Haupttätigkeit hier 340 00:23:13,390 --> 00:23:19,180 Ich muss eine Funktion, die Öffentlichkeit zu erstellen 341 00:23:19,180 --> 00:23:22,250 so dass sie durch die Anordnung erreicht werden. 342 00:23:22,250 --> 00:23:25,930 Es ist nichtig, weil man einfach nicht wollen, dass er etwas zurückgeben. 343 00:23:25,930 --> 00:23:37,760 Wir nennen sie sendMessage, und es dauert eine Ansicht, 344 00:23:37,760 --> 00:23:43,690 Das ist eine Art Rahmen, dass wir dieses Verfahren verankern 345 00:23:43,690 --> 00:23:47,160 dieser individuelle Sicht, wenn wir es läuft. 346 00:23:47,160 --> 00:23:50,090 >> Und ich weiß nicht, ob Sie bemerkt-auch, Sie noch nicht bemerkt hätte, 347 00:23:50,090 --> 00:24:02,370 aber an diesem Punkt hier 348 00:24:02,370 --> 00:24:06,930 diese Ansicht ist eine Art, die noch nicht aufgenommen worden, 349 00:24:06,930 --> 00:24:10,630 und natürlich können Sie alle von CS50 wissen nicht einschließlich Arten. 350 00:24:10,630 --> 00:24:13,120 Die nette Sache über wie Eclipse IDE ist, dass 351 00:24:13,120 --> 00:24:17,520 wenn Sie eine Art umfassen vergessen wird es mit einem kleinen roten Wellenlinien unterstrichen 352 00:24:17,520 --> 00:24:19,680 und dann geben wir Ihnen die Möglichkeit, um die Ansicht zu importieren. 353 00:24:19,680 --> 00:24:23,130 Ein schneller Weg, das zu tun, ist die Kontrolle Verschiebung O, und es wird zu importieren 354 00:24:23,130 --> 00:24:27,070 Alle Dateien, die es braucht, um. 355 00:24:27,070 --> 00:24:33,670 Jetzt, da wir diese Funktion sendMessage haben, 356 00:24:33,670 --> 00:24:46,560 was wird aus der Nachricht MainActivity senden zu einer neuen Tätigkeit, 357 00:24:46,560 --> 00:24:55,230 wir gehen zu müssen, eine Absicht, die neue Tätigkeit aus diesem einen Start zu verwenden, 358 00:24:55,230 --> 00:25:02,240 so werden wir wahrscheinlich eine globale Konstante oder auch besonders eine öffentliche Konstante erstellen 359 00:25:02,240 --> 00:25:06,240 das hilft uns wissen, wie wir gehen, um die Zeichenfolge verweisen 360 00:25:06,240 --> 00:25:09,090 denn wenn wir eine Absicht schaffen wir nicht nur den Aufruf einer neuen Tätigkeit, 361 00:25:09,090 --> 00:25:11,520 aber wir können auch ihm ein Bündel von Informationen. 362 00:25:11,520 --> 00:25:14,720 Ein Bündel ist eigentlich der Begriff, dass Android verwendet, 363 00:25:14,720 --> 00:25:21,470 und es ist eine Art zu sagen, geben ihm zusätzliche Daten, die nicht von einem sehr anspruchsvollen Datentyp kann, 364 00:25:21,470 --> 00:25:24,510 aber wir können auf jeden Fall auch booleans oder Strings oder ints. 365 00:25:24,510 --> 00:25:29,750 Diese Art der Sache. 366 00:25:29,750 --> 00:25:34,230 >> Fühlen Sie sich frei, um über eines dieser Qualifikationsturniere hier fragen, 367 00:25:34,230 --> 00:25:36,900 Öffentlichkeit, final, statisch. 368 00:25:36,900 --> 00:25:38,610 Öffentlichkeit ist das wichtigste. 369 00:25:38,610 --> 00:25:47,090 Es bedeutet, dass wir diese Variable von anderen Quellcode-Dateien zugreifen 370 00:25:47,090 --> 00:25:49,590 wie wenn wir eine neue Aktivität zu erstellen. 371 00:25:49,590 --> 00:25:52,190 Wir können auf die Zeichenfolge in dieser Datei. 372 00:25:52,190 --> 00:25:57,160 Wenn es privat ist, bedeutet dies, es ist beschränkt auf diese einzelne Datei hier. 373 00:25:57,160 --> 00:26:02,430 Aber wir nennen das so etwas wie zusätzliche Nachricht. 374 00:26:16,260 --> 00:26:23,300 Jetzt haben wir diese Funktion aus, und wenn wir auf die Schaltfläche klicken, wird diese Funktion aufgerufen werden. 375 00:26:23,300 --> 00:26:27,970 Aber wir haben nichts getan, natürlich, mit der Funktion. 376 00:26:27,970 --> 00:26:33,130 Was wollen wir jetzt tun müssen, ist eine neue Aktivität, 377 00:26:33,130 --> 00:26:35,350 die Aktivität, die auch tatsächlich gestartet werden. 378 00:26:35,350 --> 00:26:44,330 In Eclipse können wir sagen, neuen, Android Tätigkeit blank Aktivität. 379 00:26:44,330 --> 00:26:46,530 Wir können ihm einen Namen geben. 380 00:26:46,530 --> 00:26:57,050 Nennen wir es unser Ergebnis Aktivität. 381 00:26:57,050 --> 00:27:04,430 Und dann diese hierarchische übergeordnete Feld ist ein Weg der Angabe 382 00:27:04,430 --> 00:27:08,180 wie die Aktivitäten miteinander verbunden. 383 00:27:08,180 --> 00:27:11,020 Denn dieser wird von der anderen Tätigkeit gestartet werden 384 00:27:11,020 --> 00:27:27,520 sollten wir festlegen, dass es das übergeordnete Haupttätigkeit hat. 385 00:27:27,520 --> 00:27:31,220 >> Und ich konnte auf das nächste Feld geklickt haben es, das würde uns gesagt haben 386 00:27:31,220 --> 00:27:33,830 einige optionale Felder, es war auch darunter, 387 00:27:33,830 --> 00:27:38,800 aber das schöne an ADT wiederum ist, dass wenn ich nach unten scrollen hier 388 00:27:38,800 --> 00:27:45,740 im Manifest erinnern, dass all dies wirklich war standardmäßig enthalten 389 00:27:45,740 --> 00:27:48,930 wenn wir ursprünglich geschaffen, das Projekt, 390 00:27:48,930 --> 00:27:53,090 und jetzt, da wir diese verwendet eine neue Tätigkeit nicht nur 391 00:27:53,090 --> 00:27:58,610 Hinzufügen unserer eigenen Klasse Datei, weil wir durch ihre GUI ging, dies zu tun 392 00:27:58,610 --> 00:28:01,930 es bereits hinzugefügt all dies zum Manifest für uns, 393 00:28:01,930 --> 00:28:06,020 das bedeutet nur, dass jetzt das Betriebssystem nicht beschweren 394 00:28:06,020 --> 00:28:09,400 wenn wir diese Aktivität zu starten versuchen. 395 00:28:09,400 --> 00:28:14,620 Und es natürlich auch, gab es ein Label, das zeigt sich auch in Strings. 396 00:28:14,620 --> 00:28:17,340 Es macht eine Menge Dinge auf dem Back-End für uns. 397 00:28:17,340 --> 00:28:20,140 Wie auch immer, jetzt, dass wir dieses Ergebnis Aktivität haben sowie, 398 00:28:20,140 --> 00:28:23,810 der eigentliche Quellcode-Datei im Quell-Ordner, 399 00:28:23,810 --> 00:28:33,540 und Sie können sehen zu kurz auf dieser-berühren 400 00:28:33,540 --> 00:28:37,790 weil wir gesagt, dass es über dieses hierarchische Eltern 401 00:28:37,790 --> 00:28:46,640 es gab dieses Feld android.r.ide.home in diesem onOption ausgewählten Sache. 402 00:28:46,640 --> 00:28:49,020 >> Was dies ist im Grunde sagen will ist, es gibt eine Menü-Taste jetzt 403 00:28:49,020 --> 00:28:53,110 dass in der oberen linken Ecke des Bildschirms 404 00:28:53,110 --> 00:29:02,220 wenn ich zurück in die PowerPoint wo wir sprachen zuerst über Aktionsleiste 405 00:29:02,220 --> 00:29:05,380 wegen der hierarchischen Eltern jetzt gibt es einen kleinen Pfeil wieder hier 406 00:29:05,380 --> 00:29:10,610 und dies ist anklickbar, so dass wir in der Lage sein sollten zu-nachdem wir eigentlich führen Sie dieses app- 407 00:29:10,610 --> 00:29:15,360 zurück, und es ist eine Möglichkeit, um uns ein wenig Code gibt. 408 00:29:26,220 --> 00:29:40,180 Jetzt in diesem-well, so scheint es, darüber zu beschweren, für einen Moment. 409 00:29:40,180 --> 00:29:43,910 Lassen Sie uns, dass Sie zu kommentieren. 410 00:29:43,910 --> 00:29:48,260 Jetzt, um tatsächlich mit diesen 2 Aktivitäten interagieren, 411 00:29:48,260 --> 00:29:55,020 müssen wir eine Absicht, die alle diese Daten enthält erstellen. 412 00:29:55,020 --> 00:29:58,950 In sendMessage jetzt bin ich auf Kreuzfahrt gehen durch einige Teile des Codes 413 00:29:58,950 --> 00:30:00,700 und erklären, dass, wie ich gehen. 414 00:30:00,700 --> 00:30:06,280 Eine Absicht, wie ich schon sagte, ist ein Weg, um eine Tätigkeit von der anderen zu starten. 415 00:30:06,280 --> 00:30:10,000 Intent ist der Typ. Wir schaffen eine variable myIntent. 416 00:30:10,000 --> 00:30:13,980 >> Und das ist eigentlich eine Aufgabe, weshalb wir zu nennen haben, ist neu. 417 00:30:13,980 --> 00:30:18,500 Es ist üblich, Java-Nutzung gibt, die vielleicht ein wenig gewöhnungsbedürftig nehmen. 418 00:30:18,500 --> 00:30:23,900 Dies bedeutet, dass wir mit der Aktivität oder die Klasse MainActivity, 419 00:30:23,900 --> 00:30:28,630 und die Absicht auf diese Weise nimmt die Aktivität aus los ist 420 00:30:28,630 --> 00:30:36,060 und die Aktivität es ist zu gehen, die wir ResultActivity nennen, 421 00:30:36,060 --> 00:30:38,170 und das ist eine eigene Klasse. 422 00:30:38,170 --> 00:30:41,720 Fügen Sie, dass. 423 00:30:41,720 --> 00:30:47,370 Und dann, als ich schon erwähnt, gaben wir diese ID in den Bearbeitungsmodus Textfeld 424 00:30:47,370 --> 00:30:53,710 und die Text-Ansicht, so um programmatisch zu erfassen 425 00:30:53,710 --> 00:31:01,860 der Text, der in der editText existiert 426 00:31:01,860 --> 00:31:06,710 nutzen wir diese Funktion aufgerufen findViewByID, 427 00:31:06,710 --> 00:31:13,660 Das ist ähnlich wie etwas, das Sie verwenden, wenn Sie versuchen, Felder aus der DOM bekommen werde. 428 00:31:13,660 --> 00:31:17,560 Vielleicht David spricht über das in der Vorlesung. 429 00:31:17,560 --> 00:31:26,600 Aber es ist nur ein Weg, um die-das ist, warum wir diese Dinge zu markieren, mit diesen Bereichen. 430 00:31:26,600 --> 00:31:31,110 Id.editText1. 431 00:31:31,110 --> 00:31:35,220 Es ist schon Autovervollständigungsfeld für mich gibt. 432 00:31:35,220 --> 00:31:42,010 >> Und dann werden wir auch dieses editText-jetzt, dass wir das Feld haben 433 00:31:42,010 --> 00:31:47,640 in unserem Programm, hat alles, was findViewByID war im Grunde 434 00:31:47,640 --> 00:31:50,870 Sie könnte daran denken, wie uns eine Referenz auf dieses editText. 435 00:31:50,870 --> 00:31:54,570 Jetzt wollen wir den String oder die Meldung 436 00:31:54,570 --> 00:32:00,670 innerhalb dieser editText, die wir mithilfe der-tun können 437 00:32:00,670 --> 00:32:03,360 Sie konnte von editText als denken struct- 438 00:32:03,360 --> 00:32:07,600 nennen wir es eine Aufgabe in Java-mit einer ganzen Reihe von verschiedenen Methoden 439 00:32:07,600 --> 00:32:10,650 oder Feldern und Attributen damit verbunden. 440 00:32:10,650 --> 00:32:15,510 Als ich editText sagen. es gibt mir die Chance, Zugang zu 441 00:32:15,510 --> 00:32:19,770 eine Methode, wie getText, die den aktuellen Text erhalten 442 00:32:19,770 --> 00:32:23,990 in diesem editText und dann, dass explizit konvertieren 443 00:32:23,990 --> 00:32:26,520 auf einen String, und wir haben die Nachricht gespeichert. 444 00:32:26,520 --> 00:32:32,730 Jetzt sind wir wirklich wollen, etwas mit dieser Absicht haben wir vor wenigen Augenblicken zu tun. 445 00:32:32,730 --> 00:32:40,250 Ich setze extra es in der Absicht genannt wird, 446 00:32:40,250 --> 00:32:43,330 was wiederum wie ich schon sagte, ist dies eine Möglichkeit zu schaffen, das Bündel 447 00:32:43,330 --> 00:32:45,980 mit einem ganzen Bündel von Daten. 448 00:32:45,980 --> 00:32:50,920 Zusätzliche Nachricht ist unser Tag, damit wir wissen, was wir sparen diese unter, 449 00:32:50,920 --> 00:32:56,700 und dann bin ich mit der Nachricht. 450 00:32:56,700 --> 00:33:04,870 >> Und dann können wir tatsächlich beginnen die Aktivität, indem es den Parameter myIntent. 451 00:33:04,870 --> 00:33:10,630 Und das wird tatsächlich in Gang bringen, die Aktivität, so dass nun, da ich Windows 8 Upgrade 452 00:33:10,630 --> 00:33:15,870 könnte es einige Fehler, die zeigen, kurz sein, aber versuchen, sie zu ignorieren. 453 00:33:28,010 --> 00:33:30,310 Und dies ist der Android-Emulator. 454 00:33:30,310 --> 00:33:33,540 Hoffentlich wird der Code eigentlich Pop-up in einem Augenblick. 455 00:33:33,540 --> 00:33:36,680 Wieder ignorierte all diese kleinen Dinge. 456 00:33:36,680 --> 00:33:42,290 Aber die Android Emulator emulieren kann eine beliebige Version des Betriebssystems 457 00:33:42,290 --> 00:33:45,180 von den frühesten, Donut, Lebkuchen. 458 00:33:45,180 --> 00:33:49,640 Dies ist Jelly Bean 4.1. 459 00:33:49,640 --> 00:33:53,150 Aber Sie können jetzt sehen, ist dies etwas, was wir gemacht. 460 00:33:53,150 --> 00:33:55,780 Dies hat den MainActivity die editText, die Taste. 461 00:33:55,780 --> 00:34:01,550 Ich kann hier etwas geben, aber was fehlt uns an dieser Stelle? 462 00:34:01,550 --> 00:34:05,190 Wir haben das Feld in der MainActivity die gehen, um die Nachricht zu senden ist 463 00:34:05,190 --> 00:34:08,570 zum anderen Aktivität, aber an diesem Punkt 464 00:34:08,570 --> 00:34:12,330 wir haben nichts in die andere Tätigkeit getan, so ist es nicht, etwas zu empfangen. 465 00:34:12,330 --> 00:34:18,800 Lassen Sie uns beenden, dass ein Teil, bevor wir weitermachen. 466 00:34:18,800 --> 00:34:25,760 >> Dieses Ergebnis Aktivität, was wir tun müssen, ist, dass wir tun müssen, ist, dass wir brauchen, um- 467 00:34:25,760 --> 00:34:30,070 wir können auch auf die Absicht innerhalb dieser Aktivität 468 00:34:30,070 --> 00:34:33,580 so haben wir die Absicht, die wirklich einfach ist festzuhalten. 469 00:34:33,580 --> 00:34:40,780 Es ist eine Funktion in der Tätigkeit Klasse enthalten, 470 00:34:40,780 --> 00:34:47,610 so können wir nur sagen: "Holen Sie sich die Nachricht von der Absicht." 471 00:34:47,610 --> 00:34:56,260 "Intent myIntent = getIntent." 472 00:34:56,260 --> 00:35:00,030 Und das wird uns-jetzt geben myIntent ein Objekt ist, 473 00:35:00,030 --> 00:35:05,380 Das ist ein Hinweis auf die Absicht, die uns zu dieser Aktivität führte. 474 00:35:05,380 --> 00:35:10,130 MainActivity ruft und gibt zusätzliche Informationen zur Aktivität. 475 00:35:10,130 --> 00:35:14,070 Ergebnis Aktivität sieht nun in der Absicht, die sie hierher geführt, 476 00:35:14,070 --> 00:35:23,540 und wir können auf die Nachricht, dass wir in dem anderen erstellt, 477 00:35:23,540 --> 00:35:26,370 getStringExtra, und dies wird autocomplete für mich. 478 00:35:26,370 --> 00:35:31,190 Und dann denken Sie daran, die Art, wie wir verschlagwortet dass Datenbit 479 00:35:31,190 --> 00:35:38,400 war, indem es dieses Feld hier, diese public string, 480 00:35:38,400 --> 00:35:42,080 Das ist der Tag nach der Zeichenfolge wir tatsächlich enthalten. 481 00:35:42,080 --> 00:35:48,450 >> Wenn ich sage MainActivity.Extra_Message 482 00:35:48,450 --> 00:35:52,200 es ist genau dort, und das ist ein bisschen wie dem Namen des Parameters 483 00:35:52,200 --> 00:35:55,330 Als wir nun von der Steuerung aus der Vorlage, 484 00:35:55,330 --> 00:35:57,680 wenn wir würden title arrow etwas zu sagen. 485 00:35:57,680 --> 00:36:01,140 Es ist die gleiche Art von Idee gibt. 486 00:36:01,140 --> 00:36:07,130 Nun, denken Sie daran. 487 00:36:07,130 --> 00:36:12,230 Wir hatten auch dieses Auto erstellt oder automatisch generierten Code 488 00:36:12,230 --> 00:36:16,410 Ergebnis für Aktivitäten umfasst, die die Text-Ansicht in der Mitte 489 00:36:16,410 --> 00:36:19,690 Das sagt hallo Welt. 490 00:36:19,690 --> 00:36:27,510 Wir könnten machen, dass größer. 491 00:36:27,510 --> 00:36:33,980 Lassen Sie uns, dass zuerst. 492 00:36:33,980 --> 00:36:39,550 Wir könnten es 40 Dichte unabhängige Pixel. 493 00:36:39,550 --> 00:36:42,670 Mal sehen, das ist super riesig. Das wird in Ordnung sein. 494 00:36:42,670 --> 00:36:48,180 Und dann, um diese individuelle Text-Ansicht in unserem Code verweisen 495 00:36:48,180 --> 00:36:53,890 wir brauchen, um ihm eine ID, 496 00:36:53,890 --> 00:36:58,350 und um das zu tun, was wir sagen @ + id, die wir zuordnen ID zugewiesen wird. 497 00:36:58,350 --> 00:37:02,480 Wenn wir gerade gesagt @ id es annehmen würde, verweisen wir eine ID, die bereits vorhanden ist, 498 00:37:02,480 --> 00:37:07,760 und nennen wir diese unsere resultTextView. 499 00:37:07,760 --> 00:37:10,570 Und feststellen, dass in XML gibt es keine Notwendigkeit für ein Semikolon oder nichts. 500 00:37:10,570 --> 00:37:12,380 Alles ist innerhalb dieser Tags. 501 00:37:12,380 --> 00:37:15,530 Es ist sehr ähnlich wie HTML in eine Menge von Sinnen. 502 00:37:15,530 --> 00:37:22,760 >> Es dauert ein wenig gewöhnungsbedürftig, aber schließlich werden Sie fühlen sich ziemlich wohl damit. 503 00:37:22,760 --> 00:37:31,320 Lassen Sie aktualisieren den Text für unser Ergebnis Textansicht 504 00:37:31,320 --> 00:37:35,650 und wie wir, wenn wir immer waren, dass die Text-Feld in unseren anderen Aktivitäten 505 00:37:35,650 --> 00:37:46,630 in MainActivity Hier werden wir auch ebenso- 506 00:37:46,630 --> 00:37:54,890 finden wir den Blick über die ID. 507 00:37:54,890 --> 00:37:59,640 Und R, falls ich nicht erwähne dies vor, ist der Hinweis auf unsere Ressourcen Ordner 508 00:37:59,640 --> 00:38:05,350 und dann-ID ist eine Referenz, um alles in der Ressourcen-Ordner, alle IDs, 509 00:38:05,350 --> 00:38:10,060 und resultTextView. 510 00:38:10,060 --> 00:38:13,010 Und nach wie vor ist resultTextView ein Objekt, 511 00:38:13,010 --> 00:38:15,780 das heißt, sie hat all diese Eigenschaften zugeordnet. 512 00:38:15,780 --> 00:38:20,610 Wenn wir getText für den Text für dieses Textfeld oder Text-Ansicht 513 00:38:20,610 --> 00:38:23,980 können wir tatsächlich nutzen setText, 514 00:38:23,980 --> 00:38:26,960 und dann haben wir bereits festgestellt, die Nachricht von der Absicht, 515 00:38:26,960 --> 00:38:35,760 so kann ich sagen, Nachricht, und dies wird tatsächlich die Nachricht gesetzt. 516 00:38:35,760 --> 00:38:41,820 >> Es dauert einen Moment, um zu starten, und dann können wir sehen, ob es abstürzt, 517 00:38:41,820 --> 00:38:48,670 aber alle Fragen zu diesem Verfahren genau dort, diese Art der Interaktion? 518 00:38:48,670 --> 00:38:51,490 In vielerlei Hinsicht ist es unkompliziert. 519 00:38:51,490 --> 00:38:53,960 Der Grund warum ich über etwas relativ einfach gehe 520 00:38:53,960 --> 00:38:57,330 ist, wieder, denn man muss die Interaktion zwischen dem Layout zu sehen bekommen, 521 00:38:57,330 --> 00:38:59,520 der Quellcode, wie Sie anhand Dinge 522 00:38:59,520 --> 00:39:07,680 und vielleicht ein wenig Exposition, wie Java arbeitet dort. 523 00:39:07,680 --> 00:39:16,500 Wenn ich schreibe tatsächlich etwas in hier, wie ohai, und dann habe ich Sie auf die Schaltfläche 524 00:39:16,500 --> 00:39:22,260 es startet eine neue Aktivität, und das Text-Ansicht sagt ohai. 525 00:39:22,260 --> 00:39:27,640 Das ist sehr einfach, aber hoffentlich nach diesem Beispiel 526 00:39:27,640 --> 00:39:32,310 Sie Art sehen, wie das Zusammenspiel funktioniert, und jetzt, Durcheinander von Dateien 527 00:39:32,310 --> 00:39:36,870 auf der linken Seite für all diese Projektordner, hoffentlich wissen, wo sie jetzt aussehen. 528 00:39:36,870 --> 00:39:38,700 Dies ist Ihr Quellcode Bereich. 529 00:39:38,700 --> 00:39:41,760 >> Das Layout ist wirklich die einzige Sache, die Sie behandeln werde, bis Sie Bilder gehören 530 00:39:41,760 --> 00:39:46,370 und die zeichenbare oder was auch immer, und Werte, das wird gehören Strings, 531 00:39:46,370 --> 00:39:51,960 Wie bereits erwähnt, und dann Arten ist etwas, das irgendwie ist wie CSS. 532 00:39:51,960 --> 00:39:56,410 Adresse, wenn Sie wollen, aber bis Sie sich wohl fühlen mit dem Hinzufügen von zusätzlichen Flair 533 00:39:56,410 --> 00:40:02,520 Ihre Anwendung gibt es keine Notwendigkeit, darüber allzu viele Sorgen. 534 00:40:02,520 --> 00:40:07,410 Nur zu wickeln eine andere Sache, werden Sie möchte auf jeden Fall gehören- 535 00:40:07,410 --> 00:40:13,010 vorausgesetzt, Sie wollen coole Features zu integrieren und sparen Sie sich einige zusätzliche Codierung- 536 00:40:13,010 --> 00:40:16,460 wäre zu 3rd-Party-Bibliotheken enthalten. 537 00:40:16,460 --> 00:40:19,840 Hier ist der kleine Kerl mit dem Android Sherlock Holmes Hut. 538 00:40:19,840 --> 00:40:23,040 Dies ist ein Action Bar Sherlock Bibliothek, 539 00:40:23,040 --> 00:40:25,390 was im Grunde bedeutet, dass die Aktionsleiste Sie gesehen haben, 540 00:40:25,390 --> 00:40:29,590 Das ist heute Standard in Ice Cream Sandwich und Jelly Bean, 541 00:40:29,590 --> 00:40:33,100 wenn Sie diese Art von User Experience zu bringen Anwender mit älteren Versionen 542 00:40:33,100 --> 00:40:39,290 und sparen Sie sich von Sorgen darüber, wie der Benutzer wird zu navigieren 543 00:40:39,290 --> 00:40:42,490 auf älteren Versionen, wenn das Ding nicht da ist Sie können diese Bibliothek 544 00:40:42,490 --> 00:40:46,770 und dann müssen Sie nur noch Referenz-anstatt der Standard-Android 545 00:40:46,770 --> 00:40:50,250 Bibliotheken für die Aktionsleiste, verweisen Sie dieses Support-Bibliothek. 546 00:40:50,250 --> 00:40:53,090 >> Dinge wie Scoreloop, es ist toll, wenn Sie sich zu einem Spiel gehören sind. 547 00:40:53,090 --> 00:40:57,280 Es ermöglicht das Hinzufügen von Ranglisten und Erfolge Spiele. 548 00:40:57,280 --> 00:41:00,900 AdMob ist eine Weise des Setzens Anzeigen in Ihre Anwendungen 549 00:41:00,900 --> 00:41:02,900 in Fall, dass Sie ein wenig Geld aus der es machen. 550 00:41:02,900 --> 00:41:05,730 Natürlich gibt es Facebook und Twitter für die Integration gibt 551 00:41:05,730 --> 00:41:08,170 wenn Sie die Dinge einfach zu teilen, et cetera wollen. 552 00:41:08,170 --> 00:41:15,120 Dropbox, ebenfalls, und Google Analytics ist, dass es ein Diagramm betrachten. 553 00:41:15,120 --> 00:41:19,070 Das wird sehr wichtig sein, wenn Sie wirklich wollen, um zu sehen, wer die Interaktion 554 00:41:19,070 --> 00:41:25,800 mit Ihrer Anwendung oder, wer es ist, wie sie interagieren, et cetera. 555 00:41:25,800 --> 00:41:30,650 Google, die standardmäßig erfahren Sie eine Menge Statistiken über die App installiert wurde 556 00:41:30,650 --> 00:41:35,020 und was Handys haben sie, was Betriebssystemversionen sie haben. 557 00:41:35,020 --> 00:41:38,080 Aber wenn Sie wollen, um zu sehen, wer mit ihm auf einer täglichen Basis, und wie sie es verwenden 558 00:41:38,080 --> 00:41:42,860 dann werden Sie wollen, um irgendeine Art von Tracking-System wie das umfassen. 559 00:41:42,860 --> 00:41:44,990 >> Wenn Sie bereit sind, Ihre Anwendung verteilen 560 00:41:44,990 --> 00:41:46,930 Ich brauche nicht in die in die Tiefe gehen zu viel. 561 00:41:46,930 --> 00:41:49,090 Klicken Sie auf den Link hier, Wiedergabe Google. 562 00:41:49,090 --> 00:41:51,080 Es verwendet, um die Android-Markt. 563 00:41:51,080 --> 00:41:53,470 Sie firmiert alles mit Google Play, 564 00:41:53,470 --> 00:41:55,230 so jetzt, dass Sie einreichen. 565 00:41:55,230 --> 00:41:57,140 Es ist sehr einfach. 566 00:41:57,140 --> 00:42:01,070 Sie müssen eine Beschreibung, ein paar Screenshots gehören. 567 00:42:01,070 --> 00:42:05,660 Wie ich schon sagte, gibt es keine Genehmigungsverfahren wie iOS. 568 00:42:05,660 --> 00:42:07,270 Und wo geht es weiter? 569 00:42:07,270 --> 00:42:09,450 Ich zeigte Ihnen ein wirklich einfaches Beispiel. 570 00:42:09,450 --> 00:42:13,270 Hoffentlich, wenn es scheint furchtbar einfach 571 00:42:13,270 --> 00:42:15,740 dann ist das wohl ein gutes Zeichen. 572 00:42:15,740 --> 00:42:20,080 Wenn Sie überhaupt fühlte mich ein wenig verwirrt oder unsicher über genau das, was ich eingeben 573 00:42:20,080 --> 00:42:26,160 das ist auch in Ordnung, aber von hier aus zu Google Guides gehen. 574 00:42:26,160 --> 00:42:28,330 Dies ist ein großartiger Ort zu starten. 575 00:42:28,330 --> 00:42:31,460 Es wird Sie durch das, was sie erwarten, sprechen in Bezug auf die Anwendung Design, 576 00:42:31,460 --> 00:42:33,380 wie die Benutzer normalerweise mit ihm interagieren. 577 00:42:33,380 --> 00:42:36,450 Es ist viel freier Form als iOS, würde ich sagen, 578 00:42:36,450 --> 00:42:41,330 welche es wie Tisch-Ansichten werden ich nicht zu kennen scheint, das ist ihr Brot und Butter. 579 00:42:41,330 --> 00:42:44,690 Alles ist eine Tabelle, Sicht auf und ab gleitet. 580 00:42:44,690 --> 00:42:48,160 Mit Android sie auf jeden Fall Menschen zu ermutigen, es aus aussehen 581 00:42:48,160 --> 00:42:51,720 eine ganze Reihe von unterschiedlichen Perspektiven. 582 00:42:51,720 --> 00:42:56,000 >> Wenn Sie auch die Software-Development-Kit in diesem ADT 583 00:42:56,000 --> 00:43:03,010 Standardmäßig haben Sie eine ganze Reihe von Beispiel-Projekte in Android. 584 00:43:03,010 --> 00:43:05,470 Genau hier, Android, Android Sample Project. 585 00:43:05,470 --> 00:43:11,870 Wenn ich auf das, dann kann ich die Version auswählen, für die der Probe Projekten anzuwenden. 586 00:43:11,870 --> 00:43:13,300 Es gibt eine ganze Reihe von verschiedenen Dingen hier. 587 00:43:13,300 --> 00:43:16,690 Es beginnt mit der Aktion bar Kompatibilität, 588 00:43:16,690 --> 00:43:24,610 Beschleunigungsmesser spielen, Backup und Restore, Bluetooth, Geste Builder. 589 00:43:24,610 --> 00:43:28,930 JetBoy ist ein Probe-Spiel geben sie Ihnen, wie LunarLander. 590 00:43:28,930 --> 00:43:31,250 Es gibt eine ganze Reihe von Beispielanwendungen hier 591 00:43:31,250 --> 00:43:35,290 und sie sind alle auf verschiedene Aspekte der Android API gezielte, 592 00:43:35,290 --> 00:43:41,520 und die Idee ist, dass, wie Sie Ihren Antrag stellen 593 00:43:41,520 --> 00:43:44,110 Sie müssen nicht alles über Android lernen, eine Android App zu machen. 594 00:43:44,110 --> 00:43:47,300 Sie müssen nur über die Teile, die Sie tatsächlich verwenden wollen lernen. 595 00:43:47,300 --> 00:43:49,340 Schauen Sie sich diese Sample-Libraries. 596 00:43:49,340 --> 00:43:51,510 Fühlen Sie sich frei zu kopieren und fügen Sie den Code und wenden Sie es erneut. 597 00:43:51,510 --> 00:43:53,850 Es ist eine tolle Sache, um bei schwieriger Code aussehen 598 00:43:53,850 --> 00:43:57,060 und versuchen, sie zu verstehen, ist das natürlich, warum in CS50 599 00:43:57,060 --> 00:44:01,510 wir oft geben Ihnen große Mengen von Quellcode. 600 00:44:01,510 --> 00:44:04,620 Schauen Sie sich einige von ihnen, wenn Sie sich auf ähnliche Bibliotheken verwenden wollen 601 00:44:04,620 --> 00:44:08,630 und dann gilt es zu Ihrem eigenen Code. 602 00:44:08,630 --> 00:44:10,430 Und natürlich gibt es Tutorials. 603 00:44:10,430 --> 00:44:12,690 Suche nach Tutorials. 604 00:44:12,690 --> 00:44:17,020 Ich fand eine Menge von guten online, die können Sie auf Trab bringen 605 00:44:17,020 --> 00:44:20,080 mit dem, was Fragmente wirklich sind und wie Sie sie nutzen können. 606 00:44:20,080 --> 00:44:22,240 >> Einige dieser neuen Design-Dinge, wie Fragmente, 607 00:44:22,240 --> 00:44:26,840 Sie haben wirklich nicht zu befürchten, es sei denn du bist ein so 608 00:44:26,840 --> 00:44:30,560 ziemlich groß in Umfang Projekts. 609 00:44:30,560 --> 00:44:32,510 Es sind Dinge, dass Google versucht den Ausstieg in. 610 00:44:32,510 --> 00:44:35,570 Stackoverflow ist natürlich dein Freund. 611 00:44:35,570 --> 00:44:37,930 Hoffentlich habe ich verkauft man ein bisschen auf Android, 612 00:44:37,930 --> 00:44:41,640 Realisierung ist es viel einfacher, in Bezug auf die nur die Codierung Sprache zu nähern. 613 00:44:41,640 --> 00:44:45,970 Java ist würde ich sagen, viel einfacher zu verstehen als Objective-C. 614 00:44:45,970 --> 00:44:50,780 Android wächst Ich denke, viel mehr als iOS. 615 00:44:50,780 --> 00:44:54,890 Ich meine, sind die Daten auch dort, abgesehen von dem, was ich denke. 616 00:44:54,890 --> 00:44:56,920 Es wird um für eine Weile, 617 00:44:56,920 --> 00:45:00,880 und sie sind ein paar Jahre hinter in Bezug auf ihre Design-Zyklen, 618 00:45:00,880 --> 00:45:04,690 so ist es irgendwie verständlich, dass sie arbeiten immer noch durch einige dieser 619 00:45:04,690 --> 00:45:09,080 Konsistenz Fragen, wie diese Aktion bar ist eine neue Sache für sie noch, 620 00:45:09,080 --> 00:45:16,010 Art, ähnliche Benutzererfahrung über alle apps. 621 00:45:16,010 --> 00:45:20,650 Ich hoffe, Sie können sich jetzt gehen und eröffnen Eclipse- 622 00:45:20,650 --> 00:45:22,870 und machen Sie Ihren eigenen Android Apps. 623 00:45:22,870 --> 00:45:30,240 >> Hat jemand irgendwelche Fragen, bevor wir wickeln alles? 624 00:45:30,240 --> 00:45:34,410 Ich kann Ihnen sagen, die Antwort ist 42. 625 00:45:34,410 --> 00:45:41,990 Nun, jeder glücklich Codierung, und viel Glück. 626 00:45:41,990 --> 00:45:44,990 [CS50.TV]