Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Java Class zum Abrufen des MPG Vertretungsplan

19.06.2018 (👁4921)
Für alle Schüler des MPG, welche gerne programmieren und Lust haben etwas mit dem Vertretungsplan zu machen, stelle ich hiermit eine Java Klasse bereit, welche den aktuellen Vertretungsplan abruft. 


Benötigt wird dafür lediglich die Jsoup Library (https://jsoup.org/), welche den HTML Code abrufen kann. 
Außerdem muss das Objekt Vertretung als gesonderte Klasse initialisiert werden: https://hastebin.com/otiqekejox.js

Um den Vertretungsplan nun mit dieser Klasse zu benutzen, muss folgendermaßen vorgegangen werden: 

VertretungsHandle.sortDays(VertretungsHandle.getSource("w00021", weekNumber));

Hierbei sollte "w00021" durch die passende Schulklasse ersetzt werden. Geordnet wird nach folgendem Format: 


"w00021" steht hierbei also für "9e".

Desweiteren sollte die Variable weekNumber durch die aktuelle Kalenderwoche ersetzt werden (VORSICHT: Als String und nicht als int)
Hierfür gibt es in Java eine simple Funktion: https://hastebin.com/gixugucuqo.vbs

Ab Freitag wird automatisch die jeweils nächste Woche ausgewählt, da die aktuelle Schulwoche sozusagen abgeschlossen ist.

Ausgegeben wird der Vertretungsplan anschließend als HashMap<> mit dem Namen Vertretung
Die Vertretungen sind hierbei mit Keys in folgendem Format eingetragen: 

dayhour, also beispielsweise monday1. 
Bei Vertretungen über mehrere Stunden, wie beispielsweise Stunde 1 und 2 trägt der Key den folgenden Namen:
monday12 

Die Value, also der Wert, welcher dem Key zugeordnet ist, ist hierbei immer das Vertretungsobjekt.

Es empfiehlt sich also eine Ausgabe der Vertretungen über eine for-Schleife, welche nach Keys die mit dem bestimmten Tag beginnen sucht.
d.h.:
 if(key.startsWith("monday")){ 
// hier die Ausgabe einfügen
}

Hiermit kann allesmögliche getan werden. Beispielsweise kann ein Chatbot erstellt werden, welcher täglich um 18 Uhr aktuelle Vertretungen zusendet. (Wie bereits Geschehen) 

*Übrigens:* Es ist bereits eine Android-App in Arbeit, mit der der VP mobil abgerufen werden kann. Für weitere Infos gerne Kontakt an dennis.schweizer27@gmail.com