У меня есть долго работающий код, который анализирует XML и обновляет некоторые TextView на моем пользовательском интерфейсе, код работает хорошо, но мне нужно поместить его в AsyncTask, я довольно новичок в Android, и я пытался это сделатьно это не сработало.Может кто-нибудь, пожалуйста, скажите мне, что я сделал неправильно.
class UpdaterThread extends AsyncTask<Void, String, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
URL url = new URL(
"http://www.google.com/ig/api?weather=Cardiff");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
WeatherHandler myWeatherHandler = new WeatherHandler();
xr.setContentHandler(myWeatherHandler);
xr.parse(new InputSource(url.openStream()));
}
catch (Exception e) {
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
SetWeather mySetWeather = new SetWeather();
temp.setText(mySetWeather.getTemp());
wind.setText(mySetWeather.getWind());
humidity.setText(mySetWeather.getHumidity());
}
}
Я также использую метод .execute () в своем основном классе, чтобы запустить его.