Я создаю приложение, которое захватывает RSSFeed из одного места, анализирует его и отображает элементы в богатом ListView. У меня он работает синхронно, но он зависает при начальной загрузке. Я использовал ImageDownloader из блога Google для асинхронного захвата изображений, чтобы заполнить ListView, но как мне заняться потоковой загрузкой процесса, чтобы обновление дисплея дождалось, пока оно не будет выполнено до передачи RSS в адаптер, и отобразите диалог во время начального скачать? Я совершенно новый для потоков и обработки сообщений!Создание потока для асинхронной загрузки xml для использования в элементах пользовательского интерфейса
Вот код в моем OnCreate до сих пор:
feedWait = new Handler() {
public void handleMessage(Message msg) {
Log.d(TAG, "made it to handler");
UpdateDisplay();
}
};
netThread.start();
А вот нить:
private Thread netThread = new Thread() {
public void run() {
getFeed();
feedWait.handleMessage(new Message());
}
};
Это выдает ошибку, говоря, что я должен вызвать Looper.prepare(), прежде чем создавать обработчик, но если я сделаю Looper.prepare() в onCreate, это просто не удастся.
О, спасибо за ответ. Я думаю, что я собираюсь построить асинхронный класс для очереди и обработать эти http-запросы для моего проекта. Тем временем, однако, мне удалось заставить его работать через простой класс Thread и Handler. Я сейчас все читаю! Спасибо за ответ! – Brian