Ich habe Probleme beim Lesen von Text aus einer Datei im Android-Arbeitsbereich mit der URL-Klasse. Ich erhalte eine NetworkOnMainThreadException. Der gleiche Code funktioniert auch außerhalb des Android-Arbeitsbereichs, also muss es ein Netzwerk- oder Berechtigungsproblem sein. Ich habe eine einfache Textdatei aus dem angegebenen Link generiert. Es scheint, dass es bei url.openStream fehlschlägt. Unten ist mein Code, gefolgt von meiner Manifestdatei (wo ich die uses-permissions Zeile bereits hinzugefügt habe).
static public String[] barList()
{
ArrayList<String> bars = new ArrayList<String>();
try{
URL url = new URL("****");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String line = br.readLine();
while(line != null)
{
bars.add(line);
line = br.readLine();
}
br.close();
}
catch (IOException e) {
e.printStackTrace();
}
return (String[])bars.toArray();
}
Hier ist die Manifestdatei.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="aexp.explist">
<application>
<activity android:name=".ExpList" android:label="ExpList">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>