2016-12-06 5 views
0

Ich versuche, die Quelle der Seite zu string zu speichern. Mein Code:Quelle herunterladen URL in Android

public static String saveSource(String link) throws IOException { 
    String source = ""; 
    URL akt = new URL(link); 
    BufferedReader in = new BufferedReader(new InputStreamReader(akt.openStream(), "utf-8")); 
    String linia; 
    while ((linia = in.readLine()) != null) { 
     source += linia + "\n"; 
    } 
    in.close(); 
    return source; 
} 

Debbuger hat mir gesagt, dass Problem ist hier:

BufferedReader in = new BufferedReader(new InputStreamReader(akt.openStream(), "utf-8")); 

Genauer gesagt:

akt.openStream() 

ich hinzugefügt AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

EDIT:

ich diesen Code in JAVA überprüfen (IntelliJ) und dort alles gut ist ...

+0

Welche Art von Problem erklärt der Debugger? – Bojje

Antwort

0

Ich löste mein Problem. Ich muss neu Thread verwenden. Otherside App ist Absturz.

0

Try this:

URL url = new URL(link);  
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
InputStream inputStream = urlConnection.getInputStream(); 
BufferedReader in = new BufferedReader(inputStream); 

Und von dort mit Ihrem Code fortzusetzen. Wahrscheinlich müssen Sie auch eine Ausnahmebehandlung hinzufügen.

+0

hm, 'BufferedReader' benötigt' java.io.Reader'. 'inputStream' ist' java.io.InputStream' – Dann

+0

Ich schätze, Sie können dies ein wenig optimieren. Ich habe nicht versucht, es zu kompilieren, aber ich denke, Sie können von diesem Punkt aus weitermachen. –

+0

ok, ich habe das geändert, aber danach merke ich, dass meine App in dieser Zeile abgestürzt ist. 'InputStream inputStream = urlConnection.getInputStream();' – Dann