2011-07-09 3 views
0

У меня есть эта проблема, которую я просто не могу найти.Операции сотовой сети Android

Я работаю над Android-приложением для сотовых планшетов, и ему необходимо подключиться к Интернету, загрузить некоторые данные и затем обновить интерфейс после его завершения. Дело в том, что мне нужно делать это любое количество раз подряд. Моя проблема прямо сейчас заключается в том, что я использую Runnable в новом потоке с обработчиком, который обновляет пользовательский интерфейс при выполнении сетевых вызовов.

Моя большая проблема заключается в том, что я не могу быть уверен, что данные действительно были загружены на устройство. Все, что я знаю, это то, что сетевые вызовы сделаны, и все. Я не могу быть уверен, что что-то было загружено.

Большая проблема в моем случае заключается в том, что вы не можете использовать основной поток для своих сетевых операций в Honeycomb. Если бы я использовал основную нить,

Мне очень понравилась бы помощь по этому вопросу. Благодарю.

UPDATE: Я попытаюсь объяснить все немного лучше:

Я создал класс, который делает сетевые вызовы в отдельном потоке, и этот класс также содержит несколько методов, которые возвращают различные данные от этих сетевых вызовов. Тем не менее, сетевые вызовы могут различаться по длине - в зависимости от скорости сети пользователя - поэтому, если я вызову один из методов, то есть getTitle(), я не могу быть уверен, что сетевой вызов еще не завершен.

мне нужно сделать что-то вдоль линий этого: «- Создать новый экземпляр класса (это существа загрузки в новом потоке) - Убедитесь, что загрузка завершена, так что я могу использовать данные от него - Обновление контрольной панели '

Это в основном то, что мне нужно. Надеюсь, это помогло. Спасибо

ответ

1

Все, что я знаю, это то, что сетевые вызовы сделаны, и все. Я не могу быть уверен, что что-то было загружено.

Это не имеет для меня никакого смысла. Итак, вы делаете сетевые звонки, получаете ли вы ответ? Вы храните данные?

На самом деле вы не должны использовать основной поток для сетевых подключений, хотите ли вы, чтобы пользователь был полностью парализован во время этих сетевых вызовов?

Если вы используете AsyncTask например, onPostExecute(Object object) вызывается, когда ваши звонки сделаны и вы можете Шлейфовые эти сетевые вызовы с помощью этого ...

+0

Я пытался объяснить это немного лучше в первом после. Благодаря! –

+0

Спасибо! Я все еще думаю, что вы должны использовать AsyncTask, вы изучили его? Если да, то что он не делает, что вам нужно? –

+0

Ну, когда я создаю новый экземпляр моего класса, он запускает загрузку в новом потоке, и моя проблема в том, что я не могу вернуть данные из Runnable. Мне бы очень хотелось, чтобы я мог создать новый экземпляр моего класса и заставить его возвращать данные, однако это кажется невозможным при выполнении Runnable в новом потоке. Могу ли я использовать AsyncTask в классе вместо Runnable? –

Смежные вопросы