ich, dass Netzwerk-Aufgaben verstehen in einem Async-Thread getan werden sollte, und ich denke, mein Code in einem ist, aber ich habe immer noch den FehlerMit Async für eine Netzwerkaktivität
.MainActivity}: android.os.NetworkOnMainThreadException
, die mich verwirrt, da so ziemlich alles in einer Async Aufgabe ist:
public void onStart() {
super.onStart();
new GetRssFeedTask().execute();
}
der Rest des Codes innerhalb der Async Aufgabe ist:
private class GetRssFeedTask extends AsyncTask<Void, Void, List<String>> {
private String getRssFeed() throws IOException {
InputStream in = null;
String rssFeed = null;
try {
URL url = new URL("http://stuffilikenet.wordpress.com/feed/main.xml");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
in = conn.getInputStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
for (int count; (count = in.read(buffer)) != -1;) {
out.write(buffer, 0, count);
}
byte[] response = out.toByteArray();
rssFeed = new String(response, "UTF-8");
} finally {
if (in != null) {
in.close();
}
}
return rssFeed;
}
...rest of code (seriously)...
}
Wo soll ich nach meinem Fehler suchen?
ausführen Post ' doInBackground() 'Methode. –
Ihr Code sollte in der DoInBackground() nicht nur eine Methode sein, die Sie erstellen – tyczj