1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. gweir, 08.05.2012 #1
    gweir

    gweir Threadstarter Neuer Benutzer

    Hallo,

    ich möchte ein SVG welches ja nichts anders als eine XML Datei ist darstellen. Da die WebView für mich das Zoomen übernimmt nehme ich diese. Das funktioniert auch soweit.

    Mein XML enthält nun intern jedoch links auf Bilder die neben der Datei liegen.
    Diese Bilder werden in der WebView korrekt dargestellt wenn ich folgenden Aufruf nutze.

    Code:
    mWebView.loadUrl(uri.toString());
    
    lade ich die Daten jedoch wie folgt. Wird das SVG weiterhin angezeigt die zusätzlichen Bilder jedoch nicht. Weiß jemand woran das liegen kann? Mache ich einen Fehler beim erstellen des XML Dokuments?

    Ich wäre für Hinweise oder Ideen dankbar.

    Code:
    mWebView.loadData(xmlReader.getmXmlContent(), "text/xml", "UTF-8");
    Der XML Konten wird so erstellt

    Code:
    try {
    		this.mUrl = new URL(mUri.toString());
    			
    		//get DOM from XML File
    		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    		DocumentBuilder db = dbf.newDocumentBuilder();
    		Document doc = db.parse(new InputSource(mUrl.openStream()));
    		doc.getDocumentElement().normalize();
    		//get IMG Links
    		NodeList nl = doc.getElementsByTagName("image");
    			
    		//get Content from XMLDoc
    		TransformerFactory tf = TransformerFactory.newInstance();
    		Transformer t = tf.newTransformer();
    		t.setOutputProperty(OutputKeys.INDENT, "yes");
    		StringWriter sw = new StringWriter();
    		t.transform(new DOMSource(doc), new StreamResult(sw));
    		mXmlContent = sw.toString();
    		mDoc = doc;
    			
    
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    
     
  2. swordi, 08.05.2012 #2
    swordi

    swordi Gewerbliches Mitglied

  3. gweir, 08.05.2012 #3
    gweir

    gweir Threadstarter Neuer Benutzer

    Stimmt Android ansich unterstützt SVG nicht. Der WebView ist das allerdings egal da sie scheinbar auch XML interpretieren kann.

    Wie gesagt der Aufruf mit loadUrl(DateiPfad); führt dazu, dass das XML (SVG) korrekt dargestellt wird.
     
  4. Thyrion, 08.05.2012 #4
    Thyrion

    Thyrion Ehrenmitglied

    Sind die Pfadangaben zu den eingebetteten Bildern relative Pfade oder absolute Pfade?

    EDIT:
    Code:
    A) mWebView.loadUrl(uri.toString());
    B) mWebView.loadData(xmlReader.getmXmlContent(), "text/xml", "UTF-8");
    A) Hier ist der Basis-Pfad ja bekannt.
    B) Hier nicht.
     
  5. gweir, 08.05.2012 #5
    gweir

    gweir Threadstarter Neuer Benutzer

    Hallo Thyrion,

    ich bin mir nicht sicher ob ich dich richtig verstanden habe. Der Pfad zu dem Bild ist in der XML definiert.

    Das Verhalten welches ich beobachten konnte ist gleich egal ob ich den Pfad relativ setzte oder absolut wie unten.

    Code:
    <image x="1480" y="4770" width="400" height="141" xlink:href="file:///sdcard/InventoryListCreator/img0.jpg" />
    
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
WebView überprüfen, ob Cache existiert / Cache-Alter Android App Entwicklung Donnerstag um 14:17 Uhr
[OFFEN] WebView Loading Spinner Android App Entwicklung 08.11.2017
[OFFEN] Webview Cache funktioniert nicht Android App Entwicklung 31.10.2017
[OFFEN] Sind Notifications in einer Webview App möglich? Android App Entwicklung 10.09.2017
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[OFFEN] Appinventor WebViewer Handy Android App Entwicklung 08.07.2017
[ERLEDIGT] Doubletap auf den Screen Android App Entwicklung 24.06.2017
[ERLEDIGT] WebView Probleme Android App Entwicklung 19.05.2017
[ERLEDIGT] Instanzierung aus XML Android App Entwicklung 11.04.2017
[ERLEDIGT] GIF in WebView mehrmals abspielen Android App Entwicklung 02.04.2017
Du betrachtest das Thema "XML(SVG) in Webview" im Forum "Android App Entwicklung",