У меня есть эта проблема, которую я просто не могу найти.Операции сотовой сети Android
Я работаю над Android-приложением для сотовых планшетов, и ему необходимо подключиться к Интернету, загрузить некоторые данные и затем обновить интерфейс после его завершения. Дело в том, что мне нужно делать это любое количество раз подряд. Моя проблема прямо сейчас заключается в том, что я использую Runnable в новом потоке с обработчиком, который обновляет пользовательский интерфейс при выполнении сетевых вызовов.
Моя большая проблема заключается в том, что я не могу быть уверен, что данные действительно были загружены на устройство. Все, что я знаю, это то, что сетевые вызовы сделаны, и все. Я не могу быть уверен, что что-то было загружено.
Большая проблема в моем случае заключается в том, что вы не можете использовать основной поток для своих сетевых операций в Honeycomb. Если бы я использовал основную нить,
Мне очень понравилась бы помощь по этому вопросу. Благодарю.
UPDATE: Я попытаюсь объяснить все немного лучше:
Я создал класс, который делает сетевые вызовы в отдельном потоке, и этот класс также содержит несколько методов, которые возвращают различные данные от этих сетевых вызовов. Тем не менее, сетевые вызовы могут различаться по длине - в зависимости от скорости сети пользователя - поэтому, если я вызову один из методов, то есть getTitle(), я не могу быть уверен, что сетевой вызов еще не завершен.
мне нужно сделать что-то вдоль линий этого: «- Создать новый экземпляр класса (это существа загрузки в новом потоке) - Убедитесь, что загрузка завершена, так что я могу использовать данные от него - Обновление контрольной панели '
Это в основном то, что мне нужно. Надеюсь, это помогло. Спасибо
Я пытался объяснить это немного лучше в первом после. Благодаря! –
Спасибо! Я все еще думаю, что вы должны использовать AsyncTask, вы изучили его? Если да, то что он не делает, что вам нужно? –
Ну, когда я создаю новый экземпляр моего класса, он запускает загрузку в новом потоке, и моя проблема в том, что я не могу вернуть данные из Runnable. Мне бы очень хотелось, чтобы я мог создать новый экземпляр моего класса и заставить его возвращать данные, однако это кажется невозможным при выполнении Runnable в новом потоке. Могу ли я использовать AsyncTask в классе вместо Runnable? –