2012-04-13 8 views
0

Ich habe eine sehr große HTML-Zeichenfolge in meiner App.android: deklarieren riesige Zeichenfolge in strings.xml

Wenn ich es im Code verwende, ist alles in Ordnung, aber wenn ich versuche, es in strings.xml zu deklarieren, erhalte ich einige Fehler. Gibt es eine Möglichkeit, eine einfache Kopie der Zeichenfolge in strings.xml zu erstellen? Danke

+1

nennen "einige Fehler." Nicht sehr hilfreich. Ist es in einem CDATA? –

+0

Warum legen Sie die Zeichenfolge nicht in eine Datei im Ordner "Assets"? –

+0

@gabi, wie kann ich das tun? in der Textdatei, wie man es dann öffnet? –

Antwort

4

HTML und XML sind die gleiche Grundsprache, ich glaube nicht, dass Sie HTML in einer Zeichenkette speichern können, warum speichern Sie nicht die HTML-Seite und verpacken Sie sie mit der Anwendung?


Speichern Sie die Seite als HTML-Seite in res> roh und dann diese Methode

String html = Utils.readRawTextFile(ctx, R.raw.rawhtml); 

public static String readRawTextFile(Context ctx, int resId) 
    { 
      InputStream inputStream = ctx.getResources().openRawResource(resId); 

      ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 

      int i; 
       try { 
       i = inputStream.read(); 
       while (i != -1) 
        { 
        byteArrayOutputStream.write(i); 
        i = inputStream.read(); 
        } 
        inputStream.close(); 
       } catch (IOException e) { 
        return null; 
       } 
       return byteArrayOutputStream.toString(); 
    } 
+0

Danke @SmartLemon, wie kann ich Tun Sie dies –

+0

Das sollte funktionieren – FabianCook

+0

Great @SmartLemon, es funktioniert so ... –

1

Fehler bei Sonderzeichen kommen kann wie @double quotesingle quote usw. es es das Präfix \ zu überwinden und Ihre Fehler gelöst bekommen

, wenn Sie dieselbe Zeichenfolge programmatisch zuweisen dort auch finden Sie das gleiche Problem

String mString= "your huge string with @ error"; 

in diese auch haben Sie Backslash überwunden werden prefixing

String mString= "your huge string with \@ error"; 
+0

Danke, aber wie erklärt man, dass es keine Fehler gibt, wenn man es in einer lokalen Variablen verwendet? –

+0

gibt es keinen Fehler in der lokalen Variablen, wie in JAVA-Code .. Sie müssen nicht einfach Quote zu entkommen, aber Sie müssen es in XML tun. – amithgc

+0

Danke, ich werde versuchen, dies zu überprüfen .... –

Verwandte Themen