Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[Android] Parse een decimal met JSoup

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

  • thedjdoorn
  • Registratie: december 2012
  • Laatst online: 11-09 12:21
(Pas op, dummie! ;p)

Hoi,

Ik werk (of ga werken, ik zit in de voorbereidingsfase) aan een app voor Android die automatisch je eind- en centraal examencijfers berekent op het moment dat de N-term uitkomt (11 juni, 8 uur 's ochtends). Hiervoor wil ik Eclipse of Xamarin gebruiken (Wat raden jullie aan? Xamarin lijkt me makkelijker maar Eclipse heeft meer tutorals). Ik had het als volgt in gedachten:

Klik voor minder klein.
  • Voor de URL's gebruik ik die van vorig jaar en verander ik 2014 in 2015
  • Leerlingen krijgen (bij ons op school iig wel) de scores te horen voordat de N-Term bekend is gemaakt
  • Roodomrande blokken zijn dingen waarvan ik verwacht dat ik erover ga struikelen.
  • Geelomrande blokken zijn dingen die ik moeilijk vind
  • Groenomrande blokken zijn dingen waarvan ik verwacht dat ze makkelijk zijn
  • Ik heb geen idee hoe ik normering toe zou moeten passen, ik zal uit een lijst met variables moeten detecteren hoeveel daarvan onder de 6 zijn, daarnaast moet ik het gemiddelde van alle eindcijfers kunnen berekenen, maar hierin alleen de cijfers in het pakket meenemen...
Tot zover de algemene boel...

Het grootste probleem is het ophalen van de N-term. De webpagina zier er als volgt uit (Natuurkunde tijdvak I 2014):

HTML:
465
<i>N-term</i>: 0,4<br />


Deze zit op regel 465, net als bij scheikunde (heb ik gechekt) maar ik ga er denk ik niet op rekenen dat dat voor dit jaar ook het geval zal zijn en dat ik er dus vanuit kan gaan dat de parser mag gaan zoeken op regel 465.

Het grootste probleem is dat ik geen idee heb hoe ik die parser dan wél zou moeten instellen (ik heb nog nooit met een parser gewerkt). Hebben jullie misschien een voorbeeld/hint hoe ik de decimal van de pagina kan plukken met behulp van JSoup? (Of een andere parser)

Thanks in advance!

"We have nothing to fear but running out of beer"


Acties:
  • 0Henk 'm!

  • Qzar
  • Registratie: december 2009
  • Laatst online: 20-09 17:53
In de documentatie van JSoup is te vinden hoe je selectors kan gebruiken om elementen te vinden op basis van hun inhoud (http://jsoup.org/apidocs/org/jsoup/select/Selector.html). Ik denk dat je het beste kan zoeken op "N-term", door middel van :contains(text) of :matches(regex) i.c.m reguliere expressie.

Vervolgens kijk je binnen de gevonden elementen of er ook een getal tussen de 0.0 en 2.0 bevindt en haal je deze eruit.

Veel succes!

edit: typo

  • JJ93
  • Registratie: maart 2013
  • Laatst online: 16-09 14:42

JJ93

Error 418

Hoezo lijkt Xamarin makkelijker? Is in principe gewoon een wrapper om de Android SDK heen in C#.

Je kan beter gewoon Eclipse gebruiken of Android Studio. Dan schrijf je gewoon Java code. Ik heb JSoup ook een paar keer gebruikt, als je de API eenmaal doorhebt is het een krachtige tool.

Het ophalen van de N-term lijkt mij juist erg simpel. Je kan de String "N-term" opzoeken en vervolgens een getal tussen 0,0 en 2,0 opzoeken in de buurt.

Let wel op de komma want in andere landen wordt een punt gebruikt. Kan problemen opleveren bij het parsen naar een double.

Van idee naar app? abra.nl



Apple iPhone SE (2020) Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True