2010-12-18 1 views
0

Der folgende Code funktioniert, um mir den Text "Brendan's Android" zu geben, wenn ich den Code in einer regulären .java mit Eclipse teste, aber wirft mir eine Fehler Ausnahme, wenn ich es in der Hauptaktivität für den Android-Emulator ausführen.Wie kommt Code, den ich verwendete, um Datei von der Website zu lesen, funktioniert in Java, aber nicht Android-Emulator?

Ich habe versucht, mit HttpURLConnection anstelle von URLConnection und das Problem nicht behoben.

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    try { 
     String urlStr = "http://www.brendan-weinstein.com/android.html"; 
     URL url = new URL(urlStr); 
     URLConnection conn = (URLConnection) url.openConnection(); 
     InputStreamReader inStream = new InputStreamReader(conn.getInputStream()); 
     BufferedReader rd = new BufferedReader(inStream); 
     String testline = rd.readLine(); 
     Toast.makeText(GenForm.this, testline, Toast.LENGTH_SHORT).show(); 
     rd.close(); 
    } 
    catch(IOException ex) { 
     Toast.makeText(GenForm.this, "reader did not work", Toast.LENGTH_LONG).show(); 
    } 
} 

Antwort

2

Können Sie die Ausnahme einfügen? Was für eine Ausnahme ist das?

Zufällige Vermutung: Haben Sie Ihrem Manifest Internet-Berechtigungen hinzugefügt? bearbeiten:

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

Ah! Das war's! Vielen Dank. Wie würde ich herausfinden, welche Art von Fehler es im Android-Emulator ist? In Java verwende ich normalerweise e.printStackTrace() –

+0

Sorry, verpasste Ihre Frage, aber Sie könnten die Informationen aus dem 'ex' Objekt erhalten: ex.getMessage() von der Spitze meines Kopfes, oder sonst ex.toString() sollte Arbeit. – Nanne

+0

und natürlich, Sie könnten die Antwort "akzeptiert" wählen, wenn Sie so geneigt sind;) – Nanne

Verwandte Themen