Huis Persoonlijke financiën Java's Lambda-expressies gebruiken in uw Android-app - dummies

Java's Lambda-expressies gebruiken in uw Android-app - dummies

Video: C# - Lambda Expression 2024

Video: C# - Lambda Expression 2024
Anonim

Soms krijg je een interessante verrassing als je de code in de editor van Android Studio opent en met de muis over bepaalde woorden beweegt. Android Studio vertelt u dat u de anonieme innerlijke klasse kunt vervangen door een lambda-uitdrukking.

Je kunt een lambda-expressie maken.

Okay. Wat is een lambda-uitdrukking? Om te beginnen is lambda een letter in het Griekse alfabet, en de term lambda-uitdrukking komt uit artikelen die in de jaren 1930 geschreven zijn door wiskundige Alonzo Church.

In 2013 bracht Oracle Java 8 uit, met toevoeging van lambda-expressies aan de Java-taal. En in 2016 stelde Google de Java 8-functies beschikbaar voor Android-ontwikkelaars.

Wat is een lambda-uitdrukking precies? Een lambda-expressie is een beknopte manier om een ​​interface te declareren die slechts één methode bevat. Een anonieme OnClickListener kan bijvoorbeeld slechts één methode hebben, namelijk de onClick -methode. U kunt deze anonieme OnClickListener vervangen door een lambda-uitdrukking.

Als u reageert op het bericht door op Alt + Enter te drukken, biedt Android Studio u de optie Vervangen door Lambda. Als u deze optie accepteert, verandert Android Studio uw code in dit soort dingen.

pakket com. allmycode. a11_05;

importeer android. os. Bundel;

importeer android. ondersteuning. v7. app. AppCompatActivity;

importeer android. widget. Knop;

importeer android. widget. Tekstweergave;

openbare klasse MainActivity breidt AppCompatActivity uit {

Knop knop;

TextView-tekstView;

@Override

beschermde ongeldig onCreate (bundel savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView (r.lay-out.activiteit_hoofd);

knop = (Knop) findViewById (knop R id);

knop. setOnClickListener (weergave -> tekstView. setText (R. tekenreeks u_geklikt) );

textView = (TextView) findViewById (R. Id. TextView);

}

}

Deze code gebruikt een lambda-uitdrukking. De afbeelding illustreert de overgang van een klasse die een interface met één methode implementeert naar een lambda-uitdrukking.

Een interface omzetten in een lambda-uitdrukking.

Let op de lichtgewichtfunctie van het woord weergave . Wanneer u een onClick -methode declareert, geeft u de methode een parameter van het type View , zelfs als de instructies in de methode die parameter niet gebruiken. Op dezelfde manier, wanneer u een lambda-uitdrukking voor een onClick -methode maakt, geeft u het -> -symbool voor met een parameternaam, zelfs als u die parameternaam niet gebruikt om links van het -> -symbool.

Om lambda-expressies te gebruiken, moet u aan bepaalde vereisten voldoen. U moet bijvoorbeeld uw code compileren met Java 8 of hoger. Uw Android Studio-versie moet 2. 1 of hoger zijn. En de build van uw project. bestand moet de volgende code bevatten:

android {

defaultConfig {

jackOptions {

ingeschakeld true

}

}

}

Een lambda-uitdrukking kan meer dan één parameter links van het -> -symbool hebben. Als dit het geval is, moet u alle parameters tussen haakjes voegen en de parameters van elkaar scheiden met komma's. De uitdrukking

(prijs1, prijs2) -> prijs1 + prijs2

is een geldige lambda-uitdrukking.

Als u tevreden bent met lambda-expressies, kunt u uw code leesbaarder maken. Wat begon als ongeveer tien regels code kan gemakkelijk maar een deel van een regel worden.

Java's Lambda-expressies gebruiken in uw Android-app - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...