Wir haben als Erstes damit begonnen die Funktionalität fertigzustellen, die es ermöglicht, die gerade anwesenden Bewohner anzuzeigen. Ein erster Schritt dahin besteht darin, anhand einer Liste die momentan im Netzwerk verfügbaren Geräte zu ermitteln. Wir nehmen dabei eine simple XML-Datei zu hilfe, um nicht groß eine Datenbankinfrastruktur aufbauen zu müssen.
Diese sieht wie folgt aus und beinhaltet eine Liste der User mit Namen, Hostname des Smartphones und ein Statusinformation, die anzeigt, ob das Gerät im lokalen Netzwerk ist. Wir werden diese Information später durch unser Programm dynamisch ändern.
Wir werden die XML-Datei jetzt mithilfe von Java einlesen und dann die aktualisierten Daten in die Datei schreiben. Da wir vielleicht später noch einmal XML-Dateien lesen müssen, erstellen wir uns erstmal eine Hilfsklasse, die den Zugriff und Speicherung übernimmt.*Name* *Hostname oder IP* false
import java.io.File; import java.io.PrintStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; /** * @author Vengadivision * */ public class XmlIO { /** * @param FilePath * @return */ public static Document getXmlByFilePath(String FilePath) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; try { builder = factory.newDocumentBuilder(); Document document = builder.parse(new File(FilePath)); return document; } catch (Exception e) { return null; } } /** * @param FilePath * @param document */ public static void writeXmlByFilePath(String FilePath, Document document) { DOMSource source = new DOMSource(document); PrintStream ps; try { ps = new PrintStream(FilePath); StreamResult result = new StreamResult(ps); TransformerFactory transformerFactory = TransformerFactory .newInstance(); Transformer transformer; transformer = transformerFactory.newTransformer(); transformer.transform(source, result); } catch (Exception e) { e.printStackTrace(); } } }Die beiden statischen Methoden sind denke ich soweit selbst erklärend. Mehr dann im nächsten Teil ;-)
DIE TOTALE ÜBERWACHUNG....
AntwortenLöschenIch bin dafür das ihr auch nen nen Putzplanüberwacher einbaut. Zusätzlich bekommt jedoch noch nen Elektro Halsband und wenn einer nicht oder zu spät (oder nicht sauber genug aufräumt) dann bekommt er nen Schock. (Auch als Wecker denkbar)(Patent pending)
Why u no use JSON?
AntwortenLöschenDie Idee mit dem Elektrohalsband find ich super, am Besten noch einen NFC-Chip unter die Haut setzen zur totalen Überwachung.
AntwortenLöschenKeine Angst! JSON werden wir noch bei den AJAX-Requests nutzen ;-)