Hjem Personlig finansiering Parsing XML-arrangementer med SAX-dummies

Parsing XML-arrangementer med SAX-dummies

Indholdsfortegnelse:

Video: Como usar Butter Knife en Eventos - Inyeccion de Dependencias 04 2025

Video: Como usar Butter Knife en Eventos - Inyeccion de Dependencias 04 2025
Anonim

Ordet begivenhed fremkalder alle slags billeder. For en nonprogrammer er en begivenhed bare "noget der sker. "Hvis du er vant til at håndtere vinduer og rammer i Java, så tænker du sandsynligvis på en begivenhed som en begivenhed, der vækker et stykke kode. For eksempel vågner en brugers museklik eller tastetryk den kode, der angiver en indstilling, og viser en OK-boks. Selve klik eller tastetryk kaldes en begivenhed , fordi det sker uafhængigt af det kørende program. Kun brugeren ved, hvornår han eller hun vil trykke på knappen. Og når knappen trykkes, vågner en del af Java-programmet lige op og håndterer situationen. Dette scenario kaldes hændelsesdrevet programmering .

Hændelsesdrevet programmering

SAX-programmer er hændelsesdrevne . For eksempel kommer du ind i sengen for en god nats søvn. Du kommer over for at indstille din vækkeur og derefter slå sig ned, lukke øjnene og blive bevidstløs i et antal timer. Så sker der en vigtig begivenhed: En bestemt tid på dagen ankommer. Når arrangementet finder sted, går vækkeuret i sin "wake up" -tilstand - og gør en forfærdelig dukke til at røre dig ud af din rolige søvn.

Her er et andet scenario. Du er en travl executive, og du vil være ude i flere timer, men du vil ikke gå glip af nogen vigtig forretning. Før du forlader kontoret, fortæller du din assistent: "Ring til mig, hvis noget vigtigt kommer op. "Udstedelse af denne ordre er beslægtet med at indstille vækkeuret. Du fortæller din assistent (dit vækkeur) for at vække dig op, hvis en begivenhed finder sted. Gør denne anmodning til din assistent (eller til din vækkeur) kaldes registrering . I begge scenarier registrerer du dig selv med en wakeup service. Når du har registreret, kan du forfølge din afslappede ikke-aktivitet, ignorere alle rigtige forretninger, indtil der sker en begivenhed. Så …

Ring, ring. Din mobiltelefon er hollering på dig. "Hej? ”

”Hej. Dette er din assistent. Jeg har salgstal for første kvartal. De er 1 million, 4 millioner og 2 millioner. "

" Lad os se. Det er i alt 7 millioner, "siger du. "Jeg noterer det på min PalmPilot. Tak. "Du hænger op.

Flere øjeblikke får du et andet opkald. "Præsidenten for Big Bucks, Inc., ønsker at lukke denne aftale. De taler 10 millioner dollars. ”

"Hmm," svarer du. "Det vil bringe vores årlige omsætning op til 17 megabukker. Jeg gemmer disse oplysninger i min regnearksapplikation. Tak for at kalde. "

Hver af disse interaktioner kaldes en tilbagekaldelse .Tidligere på dagen, da du registrerede dit ønske med assistenten, anmodede du om tilbagekald. Så når en begivenhed finder sted, gør assistenten en tilbagekald for at give dig besked om begivenheden. I Java-programmeringsbetingelser kalder assistenten en af ​​dine mange metoder (et af dine Java-underprogrammer).

Kernen i hændelsesdrevet programmering

Hændelsesdrevet programmering har tre dele:

  • Registrering: Du registrerer dit ønske om at blive underrettet, når en begivenhed opstår. Du registrerer dette ønske med et andet stykke kode - et andet objekt, normalt noget du har importeret (som et stykke kode, der er en del af en andens API). Dette objekt ser derefter bagfra scenerne for forekomsten af ​​den begivenhed, du har angivet.
  • Begivenhedshændelse: Der sker en specifik begivenhed.
  • Tilbagekald: Det andet stykke kode udfører en tilbagekaldelse. En af dine metoder bliver kaldt.

To typer af kode

At skelne mellem aktiv kode og passiv kode er nyttig:

  • Aktiv kode har en hovedmetode. Aktiv kode, når den begynder at køre, tager det centrale trin. Aktiv kode indeholder tråden af ​​eksekvering, der styrer hele boldspil.
  • Passiv kode sidder bare der og venter på at blive kaldt. En passiv terningsklasse gør ingenting før nogle andre kodeopkald terninger. rulle().

Nu tror du måske, at passiv kode er alt hvad du behøver for hændelsesdrevet programmering, men det er det ikke. For begivenhedshåndtering har du brug for dette registreringsstrin. Den passive kode begynder ved at blive registreret med et andet stykke kode.

Tænk på et eksempel fra mus, vinduer og knapper på skærmens verden for at fastslå denne forestillingsside. Du opretter et vindue eller en ramme. Du vil have din ramme til at reagere på museklik, så du udsteder følgende kommando:

-knappen. addMouseListener (dette);

Denne kommando registrerer din ramme med knappen. Kommandoen siger i virkeligheden Når en mushændelse sker, skal du ringe til en af ​​rammens mushåndteringsmetoder . Senere, når brugeren klikker på musen, får rammen et tilbagekald. Computeren kalder rammens mouseClicked metode.

SAX events

Visst, SAX er eventdrevet, men det betyder ikke, at et SAX-program venter på museklik. I stedet følger SAX-koden den register-event-callback-model, der er beskrevet i de sidste flere afsnit. Hvert SAX-program har to uundværlige stykker kode:

  • Et stykke kode, du skriver - kaldet handler . (Din håndterer kan udvide en forudskrevet DefaultHandler-klasse.)
  • Handleren er som million dollar-direktøren i det foregående afsnit.
  • Et stykke kode, som du normalt ikke skriver - parser . Parseren spiller en rolle som eksekutivets assistent. Java 1. 4 API har en indbygget parser. Du opretter et eksempel af denne parser, og derefter registrerer du din håndterer med den parser-forekomst. I virkeligheden fortæller du eksemplet at ringe til din handler, når en begivenhed finder sted.

Alt hvad der skal gøres med XML er nyt, og er stadig i en tilstand af flux. På grund af dette er terminologien patched sammen på nogle ejendommelige måder. Under udvikling af SAX version 2 havde nogle techies en make-up-new-names festival. Hvad der normalt kaldes en "parser" er indeholdt i en Java-grænseflade, der hedder XMLReader. Der plejede at være en klasse ved navn org. xml. sax. Parser, men klassen blev udskrevet (hvilket betyder at du skal skrabe det ud af bunden af ​​din sko). For at gøre tingene lidt mere komplicerede, er der stadig et andet parsningsværktøj, javax. xml. parsere. SAXParser. Du bruger denne SAXParser til at lave dig selv en XMLReader. Med held og lykke bliver du hurtigt vant til denne forfærdelige terminologi. For nu skal du huske at det, der kaldes en "parser", er normalt en forekomst af XMLReader.

Registret og tilbagekaldscenariot er det, der gør SAX event-driven. Nu er det sjovt, en SAX-begivenhed er ikke håndgribelig. En SAX-begivenhed minder dig ikke om et tastetryk eller en klik på knappen. I SAX scanner parseren et XML-dokument fra top til bund. Når parseren møder noget interessant, brænder parseren af ​​en begivenhed og kalder håndtereren. Så er det op til handleren at gøre noget ved dette interessante møde.

Parsing XML-arrangementer med SAX-dummies

Valg af editor

Hvordan man skriver en check for en fremragende bill i QuickBooks Online - dummies

Hvordan man skriver en check for en fremragende bill i QuickBooks Online - dummies

Du kan Brug QuickBooks Online (QBO) Check vinduet til at skrive en check for at betale et faktura, du tidligere indtastede - noget, du ikke kan gøre i QuickBooks desktop produkt. Brug ikke Check-transaktionen, hvis du planlægger at betale flere regninger. Hvis du vælger en betalingsmodtager, for hvem der foreligger en udestående faktura, QBO ...

Sådan afskrives fakturaer med QuickBooks Online Accountant - dummies

Sådan afskrives fakturaer med QuickBooks Online Accountant - dummies

Vælger skrivefakturaer fra revisionsværktøjerne menuen i QBOA viser siden Skriv ud fakturaer, som giver dig mulighed for at se fakturaer, du måske vil afskrive, og derefter skrive dem til en konto efter eget valg. Øverst på siden indstiller du filtre for at få vist de fakturaer, du vil have ...

Importrevisorens ændringer til QuickBooks 2012 Datafil - dummies

Importrevisorens ændringer til QuickBooks 2012 Datafil - dummies

Din klient importerer de ændringer, som du ' har lavet i revisorens kopi af QuickBooks 2012-datafilen i hendes arbejdskopi af datafilen. For at gøre dette vælger klienten filen Arkiv → Revisorens Kopi → Klientaktiviteter → Kommandoen Import Revisorens Ændringer. QuickBooks viser dialogboksen Importer regnskabsførerens ændringer. For at bruge importkontoens ændringer ...

Valg af editor

Brug Flash med Nature Photography - dummies

Brug Flash med Nature Photography - dummies

Som regel afhænger du af naturlig belysning til naturfotografering. Du kan dog bruge flash-flash eller en ekstra flash-enhed til at øge naturlig belysning. On-flash-kamera De fleste digitale kameraer leveres med en flash på kameraet. Blitzenheden springer op, når det er nødvendigt. Du kan også aktivere flash på kameraet, når du skal tilføje en ...

Brug tredjeparts rå software til HDR fotografi - dummies

Brug tredjeparts rå software til HDR fotografi - dummies

Du kan købe eller downloade et væld af Råredigerere og konvertere fra tredjepart, der hjælper dig med at lave billeder med høj dynamisk rækkevidde. Hvis du er utilfreds med din nuværende software og vil prøve noget nyt, skal du hænde på en eller flere af de programmer, der er angivet i tabellen. Rå redaktører fra tredjepart Navn URL Platform (er) Freeware? ...

Brug dekorative accenter i mad stil og madfotografi - dummies

Brug dekorative accenter i mad stil og madfotografi - dummies

Når fødevaren alene ikke skaber Det drama eller den intrigue, du vil have i din fotografering med dekorative accenter - af farve, form eller tekstur - kan give dine billeder den ekstra effekt, du leder efter. Accenter er forbedringer af fødevarematerialet, og selvom de tjener formålet med at ophæve maden, er de ...

Valg af editor

Sådan finder du formatering i Word 2007 - dummies

Sådan finder du formatering i Word 2007 - dummies

Du kan bruge kommandoen Find til at skure dit Word 2007-dokument til formatering af oplysninger. Hvis du f.eks. Kun vil finde de forekomster af ordet, der ligger i fed skrift, kan du gøre det. Dette eksempel søger efter teksten gåseæg med en skriftstørrelse på 24 point i en ...

Hvordan man finder tekst i Word 2016 - dummies

Hvordan man finder tekst i Word 2016 - dummies

Ikke gider med båndet! For at finde tekst i dit Word 2016-dokument, tryk Ctrl + F, den mindeværdige tastaturgenvej til kommandoen Find. Du ser navigationsruden, svarende til hvad der vises her. Navigationsruden. Skriv den tekst, du vil lokalisere, i feltet Søg dokument. Når du skriver forekomster af teksten ...

Hvordan man finder stilarter i Word 2016 - dummies

Hvordan man finder stilarter i Word 2016 - dummies

Stilarter bor på Word 2016 Home-fanen navngivet Styles-gruppe, som vist her. Hvad du ser på båndet er Style Gallery, som kan udvides til en fuld menu med stilvalg. Hvor Word-stilarter lurer. Klik på dialogboksen launcher i det nederste højre hjørne af Styles-gruppen ...