FRED Widjaja: Oké. Hallo iedereen. Dank u van harte welkom voor toetreding tot mij op dit seminar. Dus vandaag gaan we het hebben over hoe om apps te ontwikkelen voor Android, en vooral, we gaan worden met behulp van Android Studio in orde om onze apps te ontwikkelen. Dus als je alle mogen weten. Android maakt gebruik van Java, en dus zullen we gaan door een korte introductie op Java zelf. Dus ik weet dat velen van u maar ervaring programmeren in C. Dus dat is helemaal prima, en dat is omdat Java is zeer, zeer Soortgelijke C, met weinig verschillen. Dus de types in Java zijn het aantal bytes vastgesteld. Dus in C, hebben we een korte broek en verlangt, en ze verschillend aantal bits van machine tot machine. Op Java, het is al ingesteld als standaard. Dus bytes hebben acht bits, shorts hebben 16 bits, en zo verder en zo voort. We hebben ook chars, booleans, en ook de drijvers en tweepersoonskamers. Dus de manier waarop u het programma in Java, het is zeer vergelijkbaar. Dus bijvoorbeeld, hebben we voor loops en while loops, en indien en anders verklaringen zijn precies het zelfde als u zou doen in C. Oké, dus het bijzondere aan Java is dat het object georiënteerd. Nu, wat zijn objecten? Dus als je kijkt naar de dingen om je heen, dan heb je merken dat elke echte wereld object heeft twee gemeenschappelijke kenmerken. En dat is dat ze hebben state en ze hebben een soort van gedrag. Dus bijvoorbeeld, honden zouden staten hebben die zijn naam, kleur, ras, misschien als de hond honger heeft of niet. En sommige gedragingen die honden zou hebben zou blaffen, of kwispelende staart, of het ophalen van een bal. Dus we kunnen ook deze toepassing aan levenloze objecten. Dus bijvoorbeeld, auto, zij het model, jaar, maximum snelheid, en zo verder en zo voort. En ze hebben een aantal gedrag. Bijvoorbeeld versnellen of remmen, of gaat in omgekeerde volgorde. Dus Java-objecten poging tot model Dit doordat velden en methodes. Dus velden zijn de staten die de Java-object kunnen hebben, terwijl de methode zou vertegenwoordigen gedrag dat een Java-object zou hebben. Dus als ik zeg methoden en velden, ik echt alleen over variabelen en functies. Het zijn precies hetzelfde, behalve dat deze op een bepaald object. OK, dus over te gaan tot klassen. Java-klassen zijn als de blauwdrukken voor een object. Ze vertellen je welke methodes heeft, welke velden heeft, en zelfs hier, hebben we iets genaamd toegang modifiers die we zullen krijgen in een tijdje. Dus om een ​​Java-klasse te verklaren, het is zeer vergelijkbaar in syntax om een ​​C struct. Hier beginnen we af met een openbare klasse Car, en dan hebben we een open brace en dan sommige aantal velden die u het object wilt hebben. En dan hebben we hier een aantal methoden, en we hebben ook een object constructeur. Nu, wat dit object constructeur doet is het het voorwerp vertelt, OK, ik wil dit initialiseren object met een soort van velden. Dus hier, willen we elke auto een model en jaar. Dus we hebben een aannemer gewoon specifiek voor het model en het jaar, en dit zou het veld model stellen op een bepaalde waarde, en het veld jaar ook. Nu over de toegang modifiers ik het over had. Hier hebben we het publiek en eigen toegang modifiers. Zo kunt u denken aan dit als de RWX in uw mappen. Dus ze laten bepaalde mensen om te lezen, en hebben toegang aan deze velden en methoden. Dus als ik zeg dat het model en jaar en snelheid zijn privé, dat betekent dat andere materialen kunnen niet proberen om toegang te krijgen velden van dit object er zijn privé. Maar toen ik de toegang modifier openbaar te zijn, Nu betekent dat andere objecten zijn vrij toegankelijk en zelfs gebruikte methoden die hier zijn gedefinieerd. Dus dit is de basis Auto object dat ik heb. We hebben het te versnellen, breken, en getSpeed ​​methoden. Op dit punt, is iedereen duidelijk over Java-objecten en hoe ze te verklaren? Koele, oke. Dus als je wilt om het gebruik van Java object in een programma zelf, dan kunnen we dit gebruiken nieuwe auto constructeur. We dus even zeggen dat we willen verklaren een nieuw object, dat is van het type auto. En hier is het toepassen van het model en het jaar, die wij hebben gedefinieerd Dit object hier. Dus dit is ook een andere object, als u merkt. Het is een klasse voor de hoofdprogramma zelf. En we hebben dit PSVM, of openbaar static void main, functie, en zijn het uitgangspunt punt van je programma, vergelijkbaar met de belangrijkste functie in uw C-programma. Hier kunnen we toegang en gebruik maken van de functies van het object met behulp van de stip en dan de functienaam notatie. En we kunnen zelfs aangeven bepaalde argumenten of parameters voor die functie. OK, dus nu over te gaan tot de erfenis. Dus echte wereld objecten kan dezelfde kenmerken. Dus bijvoorbeeld, is er verschillende soorten fietsen. Bijvoorbeeld, mountainbike, stadsfietsen, of tandem fietsen. Dus ze hebben deze gemeenschappelijke karakteristiek dat een fiets. En dus fietsen kan twee wielen hebben en zij een stuur, misschien zelfs een achterlicht of iets dergelijks. Dus Java geeft ons dit kracht om objecten te vertegenwoordigen dat bepaalde gemeen hebben kenmerken door overerving. Nu, wat erfenis doet, is het passeert op velden en methoden van een object op een onderliggend object. Dus bijvoorbeeld, als ik een auto, en heeft het staat met vier wielen en een stuur, dan kunnen we dit doorgeven aan bepaalde soorten wagens. Zo hebben we de sedan, sportwagen en een SUV. Nu zijn deze drie soorten auto zou nog vier wielen en een stuur, maar dan zijn ze kunnen bepaalde hebben bijzondere kenmerken, zoals het hebben van vijf stoelen en een voor een sedan, bijvoorbeeld. Dus om het gebruik van deze erfenis te maken functie, gebruiken we deze verlengt trefwoord. Dus vergeet niet terug naar de auto tegenwerpen dat ik eerder gedefinieerd. Nu heb ik een Sedan object definiëren. Dus dit Sedan object zou het hebben dezelfde velden en functies, of methoden, dat de auto zou hebben. Maar dan, hier ben opgeven bepaalde extra functies, bijvoorbeeld de set aantal passagiers en het krijgen aantal passagiers. Hier kunt u ook merken dat wij methoden kunnen overschrijven, en dat betekent dat we gewoon het gedrag vervanging anders handelen in bepaalde gevallen. Dus, bijvoorbeeld, ik wil stel een maximum snelheid voor onze auto. En om dat te doen, controleer ik of dit snelheid zou gaan over de maximum snelheid. En als dat niet het geval, dan bel ik de super class 'te versnellen methode. Dus dit is de super.accelerate () gesprekken de super class 'te versnellen methode. Tot slot gaan we praten over interfaces. Dus interfaces zijn een manier om alleen bloot bepaalde methoden voor de buitenwereld. Dus ze zijn als een tafel van de inhoud, en je kan denken van hen als soortgelijke de C header bestanden, net achtige methoden met lege lichamen, en ze specificeren wat het object of de klasse moet hebben, en welke methodes het object of de klasse heeft om te hebben. Dus bijvoorbeeld, als ik hebben een Fiets-interface, en het heeft drie verschillende methoden, en hier als ik deze interface te implementeren, dan betekent dat dat deze fiets nodig zou hebben om hetzelfde te implementeren drie methoden die ik gedefinieerd in de interface. Tot op dit punt, nog andere vragen? Oké, cool. Dus dit was een zeer korte en snelle tutorial over Java. Er is veel meer functies en onderwerpen op Java, dat je eigenlijk kunt gaan door. Bijvoorbeeld, er is generieke geneesmiddelen, is er data types, er is zelfs opsommingen en dat soort dingen. Dus als je meer wilt weten erover, doe deze links, en ze zullen u meer over hen te leren. OK, dus, laten we verder gaan met de werkelijke vlees van het seminar, en dat eigenlijk Android programmeren. Dus voordat we eigenlijk krijgen om te programmeren, Ik wil praten over een aantal jargon. Dus een activiteit is Android's manier om te zeggen het is een enkel scherm binnen de applicatie. Dus, bijvoorbeeld, als je een Gmail app, we hebben het uitzicht van e-mails activiteit. En dan, als u klikt een zekere email, dat zal een andere activiteit waar laten het is een weergave e-mail activiteit. En dan hebben we ook het samenstellen activiteit, of het bewerken boodschap activiteit. En dus activiteiten zijn over het algemeen slechts een enkel scherm binnen de applicatie zelf. Nu, uitzichten zijn de componenten die deel uitmaken het scherm, of de activiteit zelf. Dus ze trekken een bepaald ding in je scherm. Dus bijvoorbeeld, zou het kunnen zijn van een tekstveld, kan het een label, het kan een doos controles uitvoert. Het is zo veel verschillende soorten van standpunten. Dus nu hebben we bedoelingen, en dat is een boodschap dat wordt doorgegeven aan een andere activiteit. En zij informatie te bevatten wat je wilt deze activiteit uit te voeren. Tot slot hebben we de manifest bestand, en dat is een XML-bestand dat uw telefoon geeft alle informatie over uw app. Dus dat is voorzien van de versie, en de activiteiten die je zal hebben. OK, dus laten we beginnen. Dus we gaan naar zijn met behulp van Android Studio. Dus als jullie hebben dit al geïnstalleerd, voel je vrij om mee te volgen. We zullen proberen en opnieuw te beginnen vanaf nul. En dus ik ga proberen en maak een nieuw project. En ik ga bellen mijn project Android 101. En hier hebben we de naam van de project in het veld naam van de toepassing. Bedrijf Domain, je dat niet doet echt zorgen te maken over dat. Dit is gewoon hoe Android identificatie van de toepassing. Dus je hebt een domeinnaam, kunt u typt in uw domeinnaam binnenkant van daar. Maar als je dat niet doet, kun je voelen gratis te typen in alles wat je wilt. Dus hier typ ik gewoon in frederickw.com. En dan, eindelijk, ik kiezen waar Ik wil mijn project in te slaan. En ik ga gewoon kiezen voor mijn desktop. Dus Gebruikers, Frederick Widjaja, en Desktop. OK. Klik daarna op Volgende. Hier ga ik het kiezen minimum API te ondersteunen. Dus in dit geval, ik ben ga API 15 kiezen. En het is prima als je eigenlijk alleen kiezen 4.4, de nieuwste API. Of 5, in feite. Maar dan moet je gewoon zorgen te maken over welke telefoons je echt ondersteunen, en welke telefoons waarop u zich richt. Klik op Volgende. OK, dus komen we tot deze scherm, en we zijn gewoon gaan gebruiken maak een activiteit door middel van deze. Dus ik ga klik leeg activiteit en vervolgens op Volgende. We gaan het belangrijkste noemen activiteit, ik denk dat dat is prima. Gewoon gaan om het te noemen, Druk op Voltooien hier. Wachten op het laden, en daar gaan we. Dus hier drie merken we verschillende mappen. We hebben het manifest map dat omvat ons manifest. Als u het opent, zullen we ons pakket te zien. Of hoe Android identificeert uw aanvraag en dan hebben we dit applicatie-tag, die bevat de titel van onze applicatie evenals het pictogram voor de toepassing. We kunnen dit daadwerkelijk gereden toepassing straight. Dus waarom niet proberen we en dat doen? Ik ga Genymotion gebruiken. Als u uw eigen telefoon gebracht, kunt u koppelen en voer het uit als je wilt. Maar ik ga gewoon een gebruiken emulator, en ik ga dit te starten. Ooh. Nou ik denk dat dat is gaat een tijdje duren, dus ik denk dat we gewoon rechtdoor te krijgen in het begrijpen meer over dit. Dus hier hebben we de Java-directory, of waar uw bronbestanden zijn opgenomen. Hier hebben we de belangrijkste activiteit zelf. Je kunt zien dat het breidt de activiteit klasse. Dus onze belangrijkste activiteit is een scherm die zullen worden in onze applicatie. En dan hier merken we dat een aantal van functies zijn automatisch gegenereerd voor ons. Wij hebben de onCreate functie, en die whenever-- heten STUDENT: Vind je het erg het maken van de tekst groter? FRED Widjaja: OK, zeker. Ik zal proberen en verhoging van de lettergrootte. Denk dat moet goed zijn. Zo goed? STUDENT: Gewoon een beetje hoger, zoals 20 of zoiets. FRED Widjaja: 20? OK. OK, goed. Hier hebben we dus onCreate methode die zou genoemd worden wanneer onze activiteiten wordt gemaakt in de [? laten zien?]. Wij hebben de onCreateOptionsMenu, en we zullen zien dat er eigenlijk een actie bar, en dan We kunnen bepaalde menu-items toe te voegen aan het. En dan hebben we hier de onOptionsItemSelected. Dus dit is als een event listener, zodat wanneer een optie in onze actiebalk wordt geklikt, dit functie zal worden genoemd, en het zal worden genomen bij een bepaald item dat werd geklikt. OK, ik ga see-- dat is niet goed. Laten we proberen en te starten. Jeetje. OK. Dit is zorgwekkend. OK, dus toch. Hier hebben we de lay-out voor onze activiteit zelf. Dit is onze hoofdactiviteit, en hier merken we dat er de actiebalk. En dan hebben we dit hallo wereld label, en we kunnen eigenlijk tekst te bewerken hier. Als je gaat en scroll naar beneden naar de Hello World, kunnen we veranderen aan wat we willen. Zo zou het kunnen zijn, Hi there. Welkom. En daar gaan we, het verandert. Jeetje. Deze stijl werkt niet. OK, dat is zorgwekkend. OK, hoe dan ook, we kunnen gaan zonder dat. Dus voor nu, laten we proberen en doe wat echt basic stuff. Dus hier zijn we gaan te hebben een label, en dan zijn we gaat om een ​​tekst hebben view-- sorry, geen tekstweergave, we gaan een bewerking tekst hebben. En dat is een component voor u om te typen en dat soort dingen. Dus we hebben een platte tekst, en dan voegen we het gewoon op onze interface. Hier wil ik ook enige marge toe te voegen naar de top, zodat het lijkt mooier. Dus we gaan om door te gaan naar de eigenschappen, en dan aan de top marge, we gaan voegen in 20 DP's. Dus nu, DP's zijn slechts een maateenheid in Android, en ze staan ​​voor de dichtheid onafhankelijke pixels. Dus, zoals u wellicht weet, Android, er is verschillende soorten schermen en dan hebben ze ander scherm dichtheden. Dus hier is het gewoon gaat worden een dichtheid onafhankelijk pixel, dus het gaat om hetzelfde te zijn in alle schermen. Ga deze bewerk tekst uit te breiden, en dan ga ik ook gaan om een ​​knop toe te voegen. En het gaat om te zeggen OK. 20 DP's. OK. Dus nu drie hebben we verschillende componenten. En de manier waarop we kunnen verwijzen naar deze in onze hoofdactiviteit klasse is via deze methode riep findViewByID. Dus ik ga wat velden te definiëren. Dus hebben we in TextView, dus laten we zeggen helloText. En dan als je met Android Studio, U kunt de snelkoppeling alternatieve gebruiken, voeren. En klik op Importeren Class om automatisch importeert de overeenkomstige klassen die we nodig hebben. En dan hier ga ik een ID toe te voegen aan Dit TextView en noemen het text_hello. Nu we hebben gedefinieerd een ID voor deze TextView, kunnen we dit gebruiken om te verwijzen naar de TextView dat we gewoon gedefinieerd. Dus helloText gelijk TextView findViewByID, en dan geven wij de ID die we willen, dat is r.ID.text_hello. Dus dit is zeer vergelijkbaar met JavaScript en jQuery, waar we kunnen eigenlijk alleen verwijzen naar bepaalde elementen in de lay-out net met de ID die we hebben opgegeven. Dus in het algemeen, om een bepaald object of een bepaald gebied in onze lay-out, je gaat te hebben deze findViewByID methode. En dan gaan we hetzelfde doen dingen voor de twee andere elementen. Hier ga ik voeg de ID text_name. Ja. Zowel voor deze. Button_ok. Nu wat ik wil dit doen is toen we op de OK-knop, en we hebben een soort ingevoerd van een naam in het tekstveld, dan is dat het gaat om deze te actualiseren etiket te zeggen, hi, naam, welkom. Dus, terug in onze activiteit klasse, we zijn ook gaan proberen en verwijzen naar die elementen die we moeten vinden. Dus hebben we de EditText nameText. Oops. Enter en afwisselend, import klasse. En dan ook nog de knop OK. Ook gaan we hetzelfde doen hier. nameText gelijk EditText findViewByID, r.ID.text_name. En vervolgens op de knop OK. findViewByID, r.ID, en dan button_ok. OK, dus nu hebben we alle drie elementen die we willen verwijzen naar. Dus nu ga ik een hechten on-klik luisteraar naar onze knop voor de gebruiker klikt om te luisteren. Om die we gebruiken alleen de setOnClickListener evenement. Nu, hier is het te zeggen dat we nodig hebben naar setOnClickListener specificeren, en je kunt dat doen door gewoon een nieuwe onClickListener, en druk op Enter. En dan heb je deze anonieme klasse, of anoniem object. En we hebben ook dit onClick methode, en dat is eigenlijk wat het gaat worden genoemd wanneer onze knop geklikt. Dus hier, ik wil de naam krijgen die was gegeven dat in een tekstveld eerste So String naam is gelijk aan nameText.getText (). Nogmaals, dit is als de Java syntax voor het verwijzen de functies binnen het object. Dus nameText.getText, en dan zijn we gaan om het te converteren naar een string. Nu hebben we de naam die werd ingevoerd door de gebruiker. En dan gaan we genereren nieuwe string, dus het gaat worden genoemd hallo. Ik ga zeggen, hi, naam, welkom. En tot slot, je wilt de helloText werken. Dus om dat te doen, we gewoon bellen helloText.setText (hallo). OK. Oops. Ik ga proberen en re-run Genymotion een laatste keer en kijk of het werkt. Als dit niet gebeurt, is het helemaal prima. OK. Dus ik denk dat het niet werkt. Eigenlijk, laat me proberen en doen dit. Zou kunnen zijn dit. Genymotion. OK. Prima. Ja, het werkt. OK. Dat was beangstigend. OK. Ik was niet mijn bedoeling om dat te doen. OK, dus we hebben deze Android-emulator. Laat ik dit uitschakelen. Dus hebben we onze Android-emulator. Dus we gaan om te proberen en uitvoeren van deze app die we maakten. Gewoon gaan klikt u op de knop Afspelen, en het gaat om te zeggen, wachtend op adb. Oh, man. Herstarten. OK, ik denk dat dit nog steeds niet werkt. OK, nevermind, dan. dit gaat jammer zijn. Maar dus laten we zeggen dat we willen een nieuwe activiteit te creëren, en we gaan naar een hebben foto in die activiteit. Om dat te doen, kunnen we gewoon klikken dit Bestand en vervolgens op Nieuw. En dan hier kunnen we kiezen Activiteit, en dan Blank Activity. Hier gaan we noemen het misschien CatActivity. OK, dus nu is het genereert twee andere bestanden. Een heet activity_cat, en de andere heet catActivity, wat een klasse. Dus laten we zeggen dat we willen toevoegen een foto van een kat hier. Dus als je dat doet, gaan we aan de Figuurweergave klasse te gebruiken. We gaan om het toe te voegen op hier. En vervolgens de marge te zijn 20 DP. En nu gaan we te vinden een afbeelding van een kat op internet. Dus laten we zien. Cat. OK. Ik denk dat dit is prima. OK. Dus nu hebben we ons imago. Dus we gaan voegen het in ons project. Kan dit doen door rechts klikken, en then-- wij daadwerkelijk kan deze gewoon open, ga downloads, sorry, desktop. Ga proberen en vinden het. Cat. Hier. Ik ga om het te kopiëren naar mijn map. Nu, het gaat me een paar opties te vragen. Nu, ik wil dit gewoon in de betekenbare map, en dat gaat worden voor alle verschillende schermresoluties. Als alternatief kunnen we eigenlijk selecteert u welke schermresolutie u wil het beeld om te vertoeven. Dus gaat het selecteren betekenbare map, klikt u op OK. Gewoon gaan om het te noemen cat.jpg. OK, dus, nu is toegevoegd in ons beeld weergave. we zullen moeten gebruiken deze bron hier, en dan kunnen we deze dot dot dot gebruiken knop, en selecteer afbeelding van de kat. OK. Dus nu wil ik het zo maken dat het gewoon de juiste maat. Dus ik ga kiezen deze aan te passen bekijken grenzen optierecht hier, en die automatisch zet hem op de juiste maat. OK. Nu, om daadwerkelijk dit lanceren activiteit van onze vorige activiteit, je gaat te hebben om te gebruiken iets genaamd de bedoeling. Dus laten we zeggen ik ga naar een ander toe te voegen knop die de activiteit start. Ik ga het hier toevoegen, exact hier. En dan dat het gaat om de tekst activeren. Oops. OK. Nu, hoe weten we eigenlijk open de nieuwe activiteit binnen deze activiteit? Dus dezelfde deal als voorheen. We moeten een ID toe te voegen aan deze knop, en noem het button_activate. En dan in onze hoofdactiviteit, gaan om deze nieuwe Button activateButton hebben. En dan ook gebruik maken van de findViewByID methode. activateButton gelijk Button findViewByID r.ID.button_activate. OK. En dan ook gaan we naar toe te voegen in een onClickListener. Nieuwe onClickListener. En dan gaan we gebruiken dit ding heet Intent. Intent is gelijk aan nieuwe Intent (dit). En dan de naam van de activiteit die we willen laten zien. Dus hier in dit, we gaan te catActivity.class hebben. Sorry. We gaan te hebben om specificeren @ MainActivity.this. Dus nu de .dit woning doelt om de huidige instantie van het object zelf. OK. Tot op dit punt, nog vragen? Alles is goed? Prima. En dan als je wilt beginnen de activiteit, het is vrij simpel. We noemen alleen de de startActivity methode. En dan komen we in de Intent object dat we net hebben gedefinieerd. Helaas, we kan dit niet echt zien. Ik hoopte dat we eigenlijk kunnen lopen dit en laat het langs aan het seminar, maar helaas niet. Oh, man. Ik snap het. Oh, we gaan om te proberen en te doden ATB.exe. OK. Herstarten. Is het gelukt? Oh ok. Dus nu is het eigenlijk samenstellen. Oh. Helaas, er is geen apparaten draaien. Laten we proberen en mijn emulator opnieuw op. Ah, daar gaan we. Het verscheen. OK. Dus ik ga lanceren mijn app op mijn Android-emulator. En we hebben de dingen dat we nu gedefinieerd gewoon. Dus we hebben het label, de tekstweergave, het tekstveld, en vervolgens op de knop. Dus ik ga om input mijn naam hier, en daar gaan we, het veranderde de tekst. Dus als we intypen Foo, het is gaat veranderen Foo. En als ik klik op de Activeren knop, die we hebben gekoppeld aan de daadwerkelijke lancering van een nieuwe activiteit, hopelijk dit zal werken, daar gaan we. Het lanceert de nieuwe activiteit. Om terug te gaan, kunnen we op de Back-knop hier. Of niet. Oh, daar gaan we. Oops. Dat was slecht. OK. Dus nu dat we hebben geïmplementeerd een aantal fundamentele dingen in Android, we kunnen proberen en doen wat meer ingewikkelde dingen. Dus laten we eerst eens proberen en boodschappen doorgeven van de ene activiteit naar de andere. Dus laten we zeggen dat we willen in passeren een naam uit de hoofdactiviteit de CAT-activiteit. En een naam zou zijn opgehaald uit deze nameText. OK, dus eerst, we gaan de naam op te halen hier. String naam is gelijk aan nameText.getText (). toString (). OK. En dan kunnen we dit ding te gebruiken genaamd intent.putExtra (naam), en dan is het eigenlijk ook wil een sleutel voor dit extra veld. Dus ik ga een nieuwe te definiëren sleutel, wij noemen het EXTRA_NAME. Dus ik ga dit gebruiken sleutel, CatActivity.EXTRA_NAME, en dan pas in de naam zelf. OK, dus nu kunnen we eigenlijk te halen dit binnen de nieuwe CatActivity. Om dat te doen, moeten we het gebruiken intentie gelijk getIntent methode. Dus nu het gaat om de intentie te halen die werd gebruikt om deze nieuwe activiteit noemen. Dus als je wilt om de string te halen dat we eigenlijk binnen de intentie te zetten, kunt u een intent.getStringExtra gebruiken en vervolgens doorgeven in dezelfde toonsoort, OK, dus nu laten we zeggen dat wij u dit veld wilt wijzigen. Wijzig dit gebied hier. En laten we het lettertype grootte van dit veld groter. Dus laten we zeggen dat ik wil dat dit zijn 20 DP. OK. En ik ga een toe te voegen ID voor deze TextView, en ik ga het text_cat noemen. Sorry. En terug in CatActivity, dezelfde deal als voorheen. We gaan een aantal velden te definiëren. Hier gaat worden een TextView catText. En dan catText gelijk TextView findViewByID, r.ID.text_cat. OK. En dan terug in hier, ik ben gaat om de tekst recht te zetten nadat wij zoeken voor het van de opzet. setText (naam). OK, dus laten we proberen dat uit. Klik op de knop Afspelen. Ik ga hetzelfde apparaat gebruiken. Terug in hier. Dus laten we zeggen dat ik niet input-- Als we geen naam opgeeft, laten we eens zien wat er gebeurt. Dus nu is er niets dat verschijnt. Dus gaan we terug en input onze naam, het is gewoon om Fred te zeggen. Dus we kunnen eigenlijk boodschappen doorgeven van de ene activiteit naar de andere. OK. Dus er is een heleboel andere standpunten die u kunt gebruiken in Android. Dus nu hebben we vooruitgang bars, we hebben uitzicht lijst, hebben wij toggle knoppen, en als je echt wilde om meer over dat te leren, u kunt bezichtigen deze webpagina's. Ze bevatten veel verschillende bronnen. Dus bijvoorbeeld, de API begeleiden hier eigenlijk geeft u een aantal voorbeelden van code voor bepaalde functies in de Android bibliotheek. En een paar tutorials ik nuttig gevonden wanneer leren over Android. Dat is het officiële leerprogramma zelf, en ook deze andere les hier. En tot slot, kun je eigenlijk gebruik maken van verschillende bibliotheken voor uw Android-applicatie. Nu, deze daadwerkelijk uit te breiden de functionaliteit van uw app zonder echt schrijven veel code. Het nadeel is, van Natuurlijk, dat je eigenlijk hebben de bibliotheken zelf te leren. Dus bijvoorbeeld, als je wilt maken gebruik van Dropbox cloud-technologie, dan kunt u de Dropbox-API gebruiken. Vergelijkbaar met de Facebook API. En dan is er eigenlijk een paar verschillende andere diverse bibliotheken die u kunt gebruiken. Als je probeert te krijgen, als, JSON van een bepaalde website, dan denk ik dat de Google JSON bibliotheek zou vrij nuttig zijn. Dus nu, dat zet een JSON opgemaakte tekst in een Java-object, en vice versa. En dan is er Retrofit en Picasso. En dat is als je wilt use-- dat is voor als je met behulp van een rust-API. En Picasso, als je gebruik maakt beelden voor uw Android-applicatie. Prima. Heel erg bedankt, en plezier hebben codering.