Ich möchte den HTML-Inhalt einer Website mit Asynctask herunterladen, und verwenden Sie Regex, um den Quellcode zu manipulieren, um zu bekommen, was ich brauche und schließlich ich möchte diese Ergebnisse in einer Listenansicht anzeigen. dies ist mein Code es Fehler zeigen tut, aber wenn ich es auf meinem Emulator laufen die App abstürzt bitte Jungs, ich brauche Assistent das ist wirklich wichtigIch möchte den HTML-Inhalt einer Website mit asynctask herunterladen und Ergebnis in einem Listenansicht
public class DownloadTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String result = "";
URL url;
HttpURLConnection urlConnection = null;
try {
url = new URL(urls[0]);
urlConnection = (HttpURLConnection)url.openConnection();
InputStream in = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
int data = reader.read();
while (data != -1) {
char current = (char) data;
result += current;
data = reader.read();
}
return result;
}
catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView myLV = (ListView)findViewById(R.id.teamLV);
ArrayList<String> clubName = new ArrayList<String>();
DownloadTask task = new DownloadTask();
String result = null;
try {
result = task.execute("https://www.premierleague.com/clubs").get();
//Log.i("Content of URL", result);
System.out.println(result);
Pattern p = Pattern.compile("class=\"clubName\">(.*?)<");
Matcher m = p.matcher(result);
while(m.find()){
System.out.println(m.group(1));
clubName.add(m.group(1));
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1, clubName);
myLV.setAdapter(arrayAdapter);
}
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
Ihre Antwort ist wahrscheinlich hier: http://stackoverflow.com/a/3506039 –
Hat es in den Absturz versuchen? Können Sie diskutieren und überprüfen, auf welche Linie es stürzt? Kannst du Catlog senden? –
Mögliches Duplikat von [using AsyncTask, um Daten in ListView anzuzeigen] (http://stackoverflow.com/questions/10335718/using-asynctask-to-display-data-in-listview) – Nico