‫Wat is er, iedereen, dus in deze video wil ik je laten zien hoe je de valuta-omzetter kunt gebruiken die
‫we in de laatste twee video's met API hebben gebouwd.
‫U hoeft dus niet de code te gebruiken die u in het databasevoorbeeld hebt gezien.
‫Je hoeft het databasevoorbeeld niet eens te hebben gezien, want we gaan de code gebruiken
‫die we in het statische voorbeeld hebben gemaakt.
‫Dus in de statische WP van valuta-omzetter, bijvoorbeeld, die we statische gegevens gebruiken en
‫we gaan dat uitbreiden zodat het gegevens van een API kan gebruiken, wat betekent dat we gegevens van internet
‫krijgen en we gebruiken die gegevens om om valutaconversie op zijn best te hebben met de nieuwste valutawaarden.
‫OK, de laatste conversieratio's en dat is eigenlijk het idee hierachter.
‫U kunt natuurlijk het artikel bekijken.
‫Hiervoor hebben we een compleet artikel gemaakt.
‫En ja, je kunt het in principe gewoon bekijken.
‫Je kunt alle code daarin vinden, een heleboel uitleg en dat alles.
‫API die we gaan gebruiken is van open wisselkoersen, en dit is best cool.
‫Deze website biedt wisselkoersen en we kunnen tot duizend oproepen per maand gratis gebruiken.
‫Dus dit is geweldig voor leerdoeleinden.
‫Maar zodra je het ook daadwerkelijk wilt gebruiken voor een dienst die je bijvoorbeeld wilt verkopen, zou je
‫moeten betalen.
‫Maar zoals ik al zei, het is gratis, om te testen.
‫En dat is precies wat we nodig hebben.
‫Je kunt dus elke keer naar de prijzen gaan als je zo'n pagina bent en gewoon kijken wat ze hier hebben.
‫En je kunt zien dat er een ontwikkelaarsplan, een ondernemingsplan, een onbeperkt abonnement is.
‫Maar dat is niet wat voor ons relevant is.
‫Waar we in geïnteresseerd zijn, is dit gratis abonnement, dus het biedt elk uur updates met USD in de basisvaluta en tot
‫1000 verzoeken per maand, wat geweldig is.
‫Ga dus hier naar gratis abonnement en dan moet je je eerst registreren om hiervan gebruik te kunnen maken.
‫OK, dus als je wilt volgen, kun je je gewoon hier registreren en als je je eenmaal hebt geregistreerd.
‫Je moet je I hebben. D. , dus je hebt deze ID hier nodig en,
‫nou ja, deze ID is wat we nodig hebben om API-aanroepen te doen, omdat we nu API-aanroepen kunnen doen en in feite gegevens terugkrijgen.
‫En hoe krijgen we de gegevens terug terwijl we deze in dit formaat krijgen?
‫Dus we krijgen het in het kuis formaat.
‫Dit is het Jason-formaat en Jason is een zeer handig formaat om gegevens en het leesbare formaat met alleen tekst weer
‫te geven.
‫OK, dus eigenlijk breekt het af.
‫Dit is dus geen gegevenstabel zoals je normaal gesproken in veel gevallen gegevens zou zien, maar dit is echt in een tekstformaat dat je
‫nog steeds vrij goed kunt lezen.
‫OK, dus eigenlijk zijn de gegevens die we gaan krijgen een basis voor een disclaimerlicentie en de tarieven
‫en de tarieven zelf zijn een heleboel verschillende tarieven en de basis zal Amerikaanse dollars zijn.
‫Dus voor een Amerikaanse dollar krijg je drie komma zes, waar de hoofdstand ook voor staat, ik weet het
‫niet, voor Australische dollars krijg je bijvoorbeeld 139.
‫OK, dus dit worden de waarden die we zullen krijgen.
‫En wat we kunnen doen, is dat we dat kunnen gebruiken om ons programma fundamenteel aan te passen, zodat we de nieuwste valuta's
‫of valutaverhoudingen kunnen krijgen, zodat we ze niet handmatig in onze code hoeven in te voeren en we
‫niet moeten een extra databasetabblad hebben, zoals we deden in de laatste video, waar we het handmatig
‫in het programma moeten invoeren.
‫Oke.
‫Dus laten we naar ons project gaan, en dit is dit statische project, en zoals ik al zei, als je de video niet hebt
‫bekeken, bekijk dan zeker de video waarin ik je laat zien hoe je dit, het bovenste deel en dat alles kunt bouwen,
‫want ik ga het bovenste gedeelte in deze video helemaal niet behandelen.
‫Ik ga me alleen concentreren op de API-kant van de dingen.
‫En om dit te laten werken, hebben we extra lessen nodig omdat we.
‫Verkrijg de informatie in een bepaald formaat, goed, en het formaat waarmee we het krijgen.
‫Nou, zoals ik al zei, is dit formaat hier.
‫U kunt dus altijd naar de documentatie gaan en vindt u hier wat leesbaarder.
‫U kunt zien dat dit het HTTP-verzoek is dat u moet doen om dit soort formaat of dit soort gegevens te
‫krijgen.
‫Zie je, we zullen een verzoek moeten doen aan deze webpagina met Yepp ID en dan is het eigenlijk het ID dat
‫je hier in je rug hebt.
‫En dus moet je je eigen app-ID gebruiken om dit te laten werken, omdat de mijne beperkt is tot duizend.
‫En als iemand het gaat gebruiken, zal het dat doen.
‫Welnu, als sommigen van jullie het gaan gebruiken, dan zal het zo vaak misbruikt worden dat het niet zal werken.
‫Je hebt er dus zelf een nodig.
‫Maar als je dat eenmaal hebt gedaan, kun je dit soort informatie en dit soort informatie krijgen.
‫Nou, ik ga dit een route noemen.
‫Dus ik ga een klasse maken die route wordt, wat in feite mijn type zal zijn, waardoor
‫ik alle gegevens kan krijgen.
‫En dan binnen de route heb ik eigenschappen die ook classis zelf kunnen zijn.
‫Zo zullen bijvoorbeeld tarieven een andere klasse zijn.
‫Dus ik ga een klasse maken met de naam tarieven, maar dan kan ik gewoon een lange tijdstempel van vier tijden maken,
‫omdat dit een lange waarde is.
‫Ik zou gewoon een string voor U kunnen maken. S. dollar enzovoort.
‫Oké, dus laten we het stap voor stap instellen.
‫Laten we beginnen met de rootklasse.
‫Dus ik ga gewoon een nieuwe klasse maken in mijn hoofdvensterklasse.
‫Dus hier, ik ga door en maak deze openbare lesroute, oké?
‫En daar heb ik een tarief genaamd tarieven en ik heb een lang genoemd tijdstempel.
‫En dan zou ik bijvoorbeeld de vergunning kunnen krijgen.
‫Oké, dus laten we ook de licentie halen.
‫Laten we hier naar binnen gaan.
‫En ik ga me gewoon concentreren op de gemakkelijke licentie.
‫Dus openbaar een licentie en dan moeten we nu de tarieven krijgen.
‫Maar zoals ik al zei, tarieven zijn iets complexer omdat er een heleboel verschillende tarieven zijn.
‫Nou, ik ga een extra klas maken, die ik tarief ga noemen.
‫En wat belangrijk is, is dat ik de namen hier heb, die precies dezelfde namen zijn als wij ze hier
‫hebben.
‫Dus ook de namen die ons ter beschikking worden gesteld, zijn niet de enige.
‫Er zijn meer.
‫U kunt meer details krijgen.
‫Met ondersteunde valuta's, dus je kunt hoger naar de documentatie gaan en valuta's ondersteunen, en hier
‫zie je alle valuta's die worden ondersteund en ik ga ze niet allemaal gebruiken.
‫Ik ga er gewoon een paar gebruiken.
‫Maar wat belangrijk is, is dat de namen die u in uw project gebruikt, daar ook beschikbaar moeten
‫zijn.
‫Dus Indiase roepie, Japanse yen, Amerikaanse dollars.
‫Ik weet niet wat dat is.
‫Euro, Canadese dollars, denk ik, enzovoort.
‫OK, Deense kroonkroon.
‫Nou, dat is gewoon een coole taal, ik denk een programmeertaal.
‫Maar in dit geval is het meer dan dat.
‫Het is eigenlijk ook een geweldige.
‫Oké, dus ik heb al deze eigenschappen met getters en setters in het geval van dit openbare klassetarief, dat
‫al deze setters en getters heeft.
‫En dat zie je al elke keer dat je bijvoorbeeld gegevens wilt krijgen, die in dit formaat zijn.
‫Dit is dus de rootklasse, die een heleboel eigenschappen heeft.
‫Maar dan is dit een eigenschap die zelf meerdere eigenschappen kan hebben, wat een klasse is.
‫Dus we creëren dit klassetarief, dat tarieven zal worden genoemd, wat precies hetzelfde is als hier.
‫Dat is belangrijk.
‫Dus je moet ervoor zorgen dat je dezelfde namen in je programma gebruikt met deze hier.
‫Dus ik ga nu alleen het tijdstempel en de licentie van de tarieven krijgen en de tarieven zullen deze eigenschappen hier
‫krijgen, wat betekent dat alleen deze valuta's of de waarden die online beschikbaar zijn voor deze valuta's.
‫Oke.
‫En nu we dat uit de weg hebben, kunnen we beginnen met het verkrijgen van waarden.
‫Oke?
‫We kunnen de gegevens van internet halen.
‫En ik ga gewoon een extra methode maken die die gegevens voor ons krijgt.
‫En laat me deze methode snel aan je voorstellen.
‫Ik ga hier plakken en eigenlijk en laten we het Afterman-venster doen en laten we eroverheen kijken.
‫Dus wat ik hier gebruik is een asynchrone taak.
‫Dus laat me dit oplossen door systeemthreading-taken te gebruiken.
‫OK, dus wat dit ons in staat stelt om te doen, is te doen.
‫Dingen parallel, er zijn meerdere threads die we kunnen activeren, dus met behulp van
‫taken kunnen we asynchrone bewerkingen uitvoeren.
‫En wanneer u gegevens van internet haalt, moet u dat asynchroon doen, omdat u anders,
‫terwijl u op het antwoord wacht, uw programma zou bevriezen, zodat het de hele hoofdbedreiging zou bevriezen en de toepassing zou
‫vastlopen en het zou niet correct werken .
‫Daarom gebruik je async-taken, zodat je dit sleutelwoord async kunt gebruiken en je gebruikt deze taakklasse en we willen
‫een resultaat krijgen, van het type root.
‫Dus als je meer wilt weten over taak, kun je altijd de documentatie bekijken.
‫U zult zien dat de taak ons een generieke zak van het type T-resultaat geeft.
‫Nou, T-resultaat.
‫Wat is het resultaat.
‫Welnu, het type resultaat dat door deze taak wordt geproduceerd en wat is het resultaat dat ik met deze taak
‫wil produceren wanneer ik de gegevens ontvang.
‫Nou, ik wil root krijgen, dus ik wil een resultaat krijgen dat van dit type is van deze klasse die we hebben gemaakt, wat route
‫is.
‫En dat resultaat kunnen we dan gebruiken, wat betekent dat we de data die we als resultaat krijgen kunnen gebruiken en ermee kunnen
‫doen wat we willen.
‫We kunnen het bijvoorbeeld gebruiken om het toe te wijzen aan ons programma dat vervolgens een valutakoers of de wisselkoers gebruikt.
‫OK, dus wat ik nu doe, is dat ik een nieuw root-object maak, omdat ik in principe hier een root-object met mijn
‫root wil kunnen retourneren.
‫En omdat wanneer je iets met internet doet, er iets mis kan gaan.
‫Je moet proberen en vangen te gebruiken.
‫OK, dus we gebruiken hiervoor try and catch om onze applicatie niet te breken.
‫Je zou hier ook een uitzonderingsoproep kunnen hebben, maar ik ga gewoon mijn root teruggeven.
‫Als dit niet werkt, gebruiken we hier het gebruikssleutelwoord met de VA-client, nieuwe HTP-client.
‫Dus we creëren een nieuwe client en we gebruiken dit systeem, die netto HTP, de HTP-client.
‫Dit wordt ons nu dus ter beschikking gesteld.
‫Deze klasse biedt dus een basisklasse voor het verzenden van ontvangende HTTP-verzoeken en antwoorden van een nieuwe URL.
‫OK, en voor de tijdspanne moeten we een systeem toevoegen aan onze naamruimten hierboven.
‫OK, dus we hebben draadtaken.
‫Dus nu hebben we data met HTP.
‫Je kon al het goede zien, oké?
‫En nu heeft de klant een time-out nodig.
‫Dus ik ga het een tijdspanne geven om maximaal een minuut te wachten.
‫Het heeft dus voldoende tijd om de gegevens op te halen.
‫Je zou hier natuurlijk ook seconden kunnen gebruiken, maar ik ga gewoon zeggen geef
‫het een hele minuut en dan het antwoordbericht dat ik ga krijgen, dat zal zijn dat de klant je asynchroon zal krijgen, Earl.
‫Dus laten we eens kijken naar get async at async is deze methode die een verzoek nodig heeft, jij of ik.
‫Dus eigenlijk sturen we het een link of geven we het een link.
‫Dus jij bent ik die ons dan geeft.
‫Iets terug, dus het geeft ons de gegevens op een asynchrone manier, dus het doet het gewoon parallel, om zo te zeggen,
‫met onze Mainfreight zodat onze applicatie niet crasht.
‫En omdat dit iets is, is Tibble een manier.
‫Dus je kunt hier het trefwoord equatable zien.
‫Deze taak doet iets asynchroon.
‫We zullen dit moeten toevoegen, een wait-sleutelwoord hier, omdat we wachten op het resultaat en als het daar
‫is, gaan we het als reactie opslaan.
‫Dus eigenlijk zal dit het antwoord zijn dat we krijgen.
‫En het antwoord zal zijn in een formaat dat we nog niet kunnen lezen, dus het zal dit soort antwoord zijn,
‫maar in een formaat dat we nog niet kunnen lezen.
‫We moeten het dus converteren naar een formaat dat ons programma kan lezen, wat betekent dat we er eerst een
‫string van moeten maken, wat we hier doen.
‫Dit zijn dus enkele gegevens in een bijtformaat, om zo te zeggen.
‫Nu zetten we het om in een.
‫String, zodat u de HTP-inhoud kunt serialiseren naar een tekenreeks als asynchrone bewerking.
‫Dus we hebben deze gegevens en we serialiseren ze, dus we brengen ze in een stringformaat.
‫Dus we gebruiken ons antwoord, namelijk het http-antwoordbericht.
‫We krijgen de inhoud ervan, dus krijgt of stelt de inhoud van een HTP-antwoordbericht in.
‫Dus eigenlijk halen we er de gegevens uit en dan lezen we het als een string en doen we dat asynchroon weer
‫weg.
‫En dit is weer een dateable.
‫We moeten hier dus een gewicht toevoegen.
‫Dit geeft ons de antwoordreeks.
‫Het punt is dat we het nodig hebben in het Jason-formaat.
‫Dus daarom hebben we hier Jason convertor gebruikt.
‫Dus laat me Jason convert hier en eigenlijk gebruiken.
‫Het biedt het hier niet eens aan, dus ik zal het handmatig moeten doen.
‫Wat betekent dat ik hier naar boven ga en zeg met een nieuwe wending, zachte gedachte, Jason.
‫Om dit te laten werken, moeten we ervoor zorgen dat dit pakket is geïnstalleerd, dus een nieuw pakket ophalen.
‫En hier moeten we deze Newton-software installeren, Jason.
‫Oké, laten we het installeren.
‫Blader en zoek er ook naar, in mijn geval was het direct beschikbaar omdat, nou ja, ik was al binnengekomen om hun
‫een naam te geven.
‫OK, en als het eenmaal is geladen en geïnstalleerd, kunnen we dit pakket nu gebruiken, zodat je kunt zien dat Newton zacht Jason nu de
‫pijl is verdwenen en dat werkt prima.
‫OK, wat je nu kunt doen is hier naar beneden gaan en je kunt zien dat Jason convert werkt en Jason convert
‫komt van deze Newton zachte Jason.
‫Dus wat het in feite doet, is dat hij de objectroute realiseert die we hebben.
‫Met de responsreeks moeten we deze dus de responsreeks geven, die op zijn beurt al de gegevens die we kregen, wat
‫een HTTP-antwoord was, converteerde naar een tekenreeks, en nu hebben we die tekenreeks geconverteerd naar een
‫aangrenzend object.
‫Het punt is dat we met dit responsobject, dat een aangrenzend object is, er nu mee kunnen werken zoals
‫met een C-scherp object.
‫En dat is echt de kracht ervan, omdat we nu heel gemakkelijk toegang hebben tot zijn eigenschappen.
‫Ik kan bijvoorbeeld gewoon doorgaan en tijdstempelantwoord, objecttijdstempel zeggen, zodat ik het nu gewoon in een berichtvenster kan laten zien, omdat ik
‫denk dat dit de gemakkelijkste manier is om het weer te geven.
‫En op deze manier kan ik nu laten zien dat we daadwerkelijk gegevens van internet halen en laten we het zo meteen
‫testen.
‫Maar voordat we dat kunnen doen, laten we deze methode hier afmaken.
‫Dus nu zal ik dat antwoordobject retourneren.
‫Dus elke keer dat we bellen, krijgen we gegevens.
‫Nu, deze methode zal een taakroute-responsobject retourneren.
‫Welnu, het geeft ons in principe toegang tot alle basiselementen, zoals tijdstempels en, nou ja, de verschillende
‫valutakoersen die we wilden hebben.
‫En voor het geval dat niet werkte, dus voor het geval het antwoord echode, was deze statuscode niet OK.
‫En laten we nu eens kijken naar de statuscodes die er zijn.
‫Er is de statuscode, OK, dat is de 200-statuscode en waarschijnlijk de meest bekende is voor alle
‫vier.
‫De statuscode is niet gevonden.
‫Dus dit is een bruikbare statuscode om het waarschijnlijk te weten voor of voor vriendin niet gevonden of website niet
‫gevonden, zoiets.
‫Dit zijn dus de verschillende responscodes die er zijn.
‫En elke keer dat u in feite probeert toegang te krijgen tot een HTTP-pagina of een webpagina of een ander HTTP-verzoek, u er een
‫verzendt, krijgt u eerst een statuscode.
‫En op basis van de statuscode kun je vervolgens beslissen of je iets met de data doet of niet.
‫Omdat, bijvoorbeeld, als de status quo niet in orde was, dus we kregen bijvoorbeeld niet dat de gegevens niet werden gevonden, nou,
‫dan kunnen we niet met de gegevens werken.
‫Dus dan zouden we kunnen zeggen: oké, laten we het dan maar overslaan of iets anders proberen.
‫OK, maar als het tweehonderd is, dus als het OK is, wat in feite betekent dat
‫het een tweehonderd code is, dan weten we dat we ermee kunnen werken en alleen dan willen we het antwoord omzetten in een JSON-object dat we dan
‫kunnen gebruiken bij ons project.
‫Anders ga ik gewoon een leeg root-object retourneren.
‫Dus ik ga gewoon mijn root teruggeven.
‫En in het geval dat het programma crasht of deze taak datacrashes krijgt, zal ik hier ook gewoon mijn root retourneren.
‫OK, nu hebben we deze bindende valuta en laten we eens kijken waar we BINDE-valuta gebruiken terwijl we deze
‫in het hoofdvenster gebruiken.
‫Laten we nu een nieuwe methode maken die waarde krijgt, of we kunnen hier een extra methode voor maken.
‫Nou, ik denk dat dat logisch is omdat het een asynchrone methode is.
‫Dus we hebben deze privé async void waarde krijgen.
‫En wat we willen, is dat we ons pas aan valuta's willen binden als we de waarden hebben.
‫Dus ik heb een waarde nodig, een variabele voor Val hier.
‫Val zal van het type root zijn.
‫Dus laat ik dat hier toevoegen.
‫Eigenlijk kan ik.
‫Ja, ik zei het helemaal bovenaan, dus ik ga een nieuw root-object maken, dat ik VUL ga noemen,
‫wat de waarden zullen zijn, wat op dat moment een leeg root-object zal zijn.
‫OK, dus het zal een object van deze klasse zijn.
‫En dan kan ik verder gaan en zeggen.
‫Goed instellen, dus deze route waarde gebaseerd op wat je uit de data haalt.
‫Is dit nu een manier om aan gegevens te komen?
‫Nou, in feite deze asynchrone methode genoemd, die we zojuist hebben gemaakt.
‫En die zal terugkeren als niet alles een antwoordobject vindt, van het type Jason, OK, dat
‫in feite een leesbaar object zal zijn met dit formaat.
‫OK, dit is een aangrenzend object dat we krijgen en dat is wat we willen, want dat is goed, daarmee
‫kunnen we heel gemakkelijk werken omdat we dan heel gemakkelijk toegang hebben tot de eigenschappen ervan door bijvoorbeeld alleen de tijdstempel van
‫het antwoordobject te zeggen.
‫Nu krijgen we die gegevens door te zeggen, hé, wacht, haal gegevens en hier moeten we een u-URL doorgeven, dus we moeten het
‫doorgeven.
‫De String You URL, die op zijn beurt in feite gewoon dit verzoek is dat we van de website krijgen.
‫Dus deze link hier, dus eigenlijk is dit deze link, maar je neemt deze aflevering die je hier hebt en vervangt dit
‫deel hier.
‫Dus je app-idee, je vervangt het en dan kom je uit bij wat je hier ziet.
‫Dus ik ga het gewoon vervangen door mijn eigen ID.
‫Dus als u de code downloadt, kunt u dit onderdeel hier gewoon vervangen.
‫Alles na ID is gelijk aan teken, je kunt het vervangen door je eigen ID en dan maak je nu je eigen
‫verzoek aan.
‫En trouwens, je kunt het zelfs in de browser testen.
‫Dus laat me dat hier heel snel doen.
‫Ik ga het gewoon in een browser testen en dit is wat ik krijg.
‫Dit is dus het resultaat dat ik krijg met alle verschillende valuta's en de valutakoersen.
‫Dus je ziet, we krijgen de disclaimer, we krijgen de licentie, de tijdstempelbasis en de tarieven en de
‫tarieven zijn al die verschillende tarieven, die dan op hun beurt deze float-waarde hebben of eigenlijk een dubbele waarde
‫kunnen zijn.
‫Ik ga het gewoon gebruiken als een dubbele waarde.
‫OKE.
‫En ja, dat is het.
‫Dus dat is wat we nu gaan ontvangen als we de code gebruiken die je net hebt gezien.
‫OK, dus eigenlijk de code die we hier hebben, deze.
‫Hij gaat ons precies geven wat je net zag, deze VUL zal nu een onbeleefd object zijn, dat is de wortel,
‫die de tarieven bevat en in ons geval de tijdstempel en de licentie.
‫Dat doe ik er tenminste mee.
‫Dit zijn de eigenschappen die ik zal gebruiken en je kunt ook andere gebruiken.
‫Welnu, alle die hier beschikbaar zijn in dit geval, licentie en basis missen onze disclaimer en zijn gebaseerd op ontbreken, maar moeten
‫in principe voorzichtig zijn omdat, nou ja, gebaseerd als een sleutelwoord in C
‫sharp.
‫Oke dus.
‫Op dit punt krijgen we de waarde of kunnen we waarden krijgen.
‫OK, laten we nu get value hier noemen in onze hoofdvenstermethode en in feite in onze hoofdvensterconstructor.
‫En nu komen we bij waarden en binden we de valuta.
‫Laten we nu eens kijken naar het kopen van valuta, want dit was de methode die we eerder ontwikkelden.
‫Nu moeten we natuurlijk de binde-valuta aanpassen, omdat we het niet kunnen doen zoals we eerder deden, waar we
‫de gegevens vandaan haalden en we hebben de gegevens handmatig ingevoerd.
‫Dat hebben we hier gedaan.
‫OK, dus wat we zullen doen, is dat we de gegevens deze keer van internet halen.
‫Dus in plaats van de verschillende waarden handmatig te gebruiken, ga ik dat doen.
‫Plak het hier gewoon, ik ga het simpel houden.
‫En tussen haakjes, ik herinner me dit of hernoem dit naar DETI om het een beetje gemakkelijker te maken om te schrijven.
‫OK, dus nu wordt deze gegevenstabel DETI genoemd en hebben we gegevenstabelrijen.
‫We voegen select toe aan de eerste positie, maar dan hebben we op de tweede
‫positie bijvoorbeeld Indiase roepies, die ons alleen de waardekoersen, Indiase roepies, zullen geven.
‫Dus wat is waarde ook alweer?
‫Welnu, waarde was dit root-object dat we hebben gemaakt, dat natuurlijk van het type root is, dat tarieven
‫bevat.
‫Dat is van het type tarief, dat is alles wat al deze tarieven die we hier hebben.
‫Dus nu.
‫We moeten ervoor zorgen dat de namen die we hier gebruiken ook de namen zijn die we hier gebruiken, omdat we er
‫anders geen toegang toe hebben.
‫OK, dus ik krijg alle verschillende tarieven en ik wijs ze toe aan de namen van die tarieven of van die valuta's,
‫om precies te zijn.
‫Het leuke is dat de rest vrijwel hetzelfde kan blijven, omdat al die keuzelijsten van
‫valuta-items, bronnen, enzovoort, hetzelfde blijven.
‫We hoeven hierin geen wijzigingen aan te brengen, want het enige dat we hebben gewijzigd,
‫is dat de gegevens nu niet afkomstig zijn van de handmatig toegevoegde elementen, maar alleen van internet.
‫Maar dit is eigenlijk maar een getal, toch.
‫Voor ons programma maakt het dus niet zoveel uit.
‫Het maakt niet uit waar de gegevens vandaan komen, omdat we het gegevensformaat niet hebben gewijzigd.
‫Het is nog steeds hetzelfde gegevensformaat, alleen komt dit jaar van het web, wat erg cool is.
‫Als u deze toepassing nu uitvoert, kunnen we zien dat dit de tijdstempel is die we krijgen.
‫Dit is dus de huidige tijdstempel op het moment dat ik dit doe.
‫En waarom is dit raam naar boven gekomen?
‫Nou, omdat ik dit berichtvenster hier heb toegevoegd.
‫Oké, laat me dat een beetje veranderen.
‫Dus in plaats van de tijdstempel weer te geven, wat hebben we nog meer?
‫We hadden een licentie, dus laat me de licentie krijgen.
‫Oké, dus hier ga ik dit maar een licentie noemen.
‫Laten we dit nog een keer uitvoeren.
‫En zie nu.
‫Zie je, licentie is en dat is de licentie van open wisselkoersen, Doug.
‫Laten we nu de tarieven krijgen.
‫Dus alle tarieven die we hebben.
‫schrijft.
‫En deze.
‫Laten we het proberen, ook al is tarieven een ander formaat.
‫Laten we eens kijken of het goed crasht, het is gewoon een statische valutakoers, dus het toont ons de gegevens niet
‫in dit specifieke formaat.
‫Laten we in plaats daarvan deze antwoordreeks gebruiken.
‫Dus we zouden dit hele ding als één string moeten zien, zie je?
‫Daar zijn we.
‫Dit is dus eigenlijk het tekenreeksformaat van alle gegevens die we hebben gekregen.
‫OK, dus de tarieven disclaimer licentie tijdstempel.
‫U kunt dus zien dat we de gegevens van internet voor de stroom halen.
‫Wisselkoersen Nu is het coole dat we die wisselkoersen kunnen selecteren die we daar hebben gedefinieerd en
‫laten we zeggen dat ik duizend euro wil omrekenen naar.
‫Goed in Amerikaanse dollars en.
‫Het lijkt erop dat onze berekening niet klopt, want het zou andersom
‫moeten zijn, dus het zou voor 1000 dollar moeten zijn, je krijgt achthonderddrieënveertig euro.
‫En nu, omdat we verschillende waarden gebruiken of we verschillende waarden krijgen, terwijl ons programma in
‫feite is gebaseerd op de gegevens die we krijgen, is het gebaseerd op Amerikaanse dollars als basis, zoals je op hun pagina kunt zien.
‫Dus ze zeggen dat U. S. dollars zijn hier de basis.
‫We moeten ervoor zorgen dat we opnieuw één wijziging in onze software aanbrengen.
‫En dat is hier het belangrijkste voorbeeldbestand in onze convert-klikfunctie.
‫We moeten de formule een beetje aanpassen omdat de formule nu niet van valuta zou moeten gaan.
‫Dus hier zou het CNBC moeten zeggen tegen de geselecteerde valutawaarde en dan verder naar beneden of verder aan de rechterkant, deze
‫zou nu moeten zeggen van omdat we in feite de richting van de twee valuta's moeten omwisselen omdat
‫we anders de verkeerde waarden krijgen.
‫OK, en als ik dat nu nog eens doe.
‫En eigenlijk moeten we van deze doos af, want dat is het echt.
‫Vervelend, we kunnen het hier gewoon becommentariëren, deze.
‫Laten we het nu opnieuw uitvoeren.
‫En daar zijn we dan.
‫Dus laten we zeggen 1000 dollar en laten we dat omrekenen naar euro's.
‫Dus hoeveel euro krijgen we voor 1000 U. S. dollar op het moment van de opname?
‫Het is achthonderd en 43.
‫OK, dus, ja, dat is het zo'n beetje.
‫Dus nu heb je gezien hoe je in principe data van internet kunt halen, hoe je een API gebruikt, hoe je die
‫API-informatie omzet in een gigantisch object en het vervolgens gebruikt, want dan kun je het gewoon gebruiken als een scherp object, dat
‫is echt de kracht van JSON-objecten en de conversie naar iets dat we kunnen lezen.
‫Het belangrijkste was dus in de eerste plaats dat we asynchrone taken gebruiken omdat we gegevens
‫asynchroon ontvangen.
‫En dit kan even duren.
‫Dit kan fout gaan en zo.
‫Daarom proberen we hier dan dat we onze cliënt hier gebruiken waar we een time-out hebben.
‫Dan hebben we een antwoord, dat van een bepaald type is van het type HTTP-antwoordbericht.
‫En dat moeten we dan.
‫Allereerst, verkrijg de status van dat antwoord en dan kunnen we de inhoud krijgen en we kunnen het
‫bijvoorbeeld lezen als een tekenreeks die we vervolgens opslaan in een tekenreeks, en dan nemen we die tekenreeks en maken een JSON-object
‫van het.
‫Dus we gebruiken traceren en converteren deze geserialiseerde objecten via D. C. , het vrijgeven in het
‫formaat root, wat nogmaals de klasse is die we zelf hebben gemaakt, die in feite de verschillende eigenschappen
‫heeft die we zojuist uit het JSON-formaat hebben gehaald.
‫Dus nu kun je naar elke API gaan die er is en je kunt in principe dezelfde principes toepassen die je in deze video
‫hebt geleerd en de gegevens daar vandaan halen en ermee werken in je programma.
‫Dus ik hoop dat je genoten hebt van deze video.
‫Dit was slechts een kleine toevoeging aan de cursus waar ik besloot het toe te voegen, omdat ik het gewoon leuk vind om
‫over dit soort dingen te weten en het is erg nuttig en nuttig als ontwikkelaar in het algemeen.