Я ищу несколько советов о наилучшем способе выполнения задачи ниже (мой текущий метод довольно наивен и вызывает у меня проблемы)
Вот краткий обзор того, что должно произойти, когда мое приложениезапущен:
Сначала пользователю предлагается войти в Facebook.Я использую Facebooks DialogListener для прослушивания, когда он завершается.
По завершении вышеуказанного задания я использую AsyncFacebookRunner для сбора некоторой информации о пользователе.Я использую AsyncFacebookRunner.RequestListener () для прослушивания, когда это завершится.
По завершении задачи 2 я храню некоторую информацию в SharedPreferences
Это все работает великолепно.Вот в чем проблема ... Мне нужно использовать часть указанной информации в HTTP POST для получения данных на сервере.Данные используются для заполнения сетки.Для этого я использую Asynctask.Моя проблема заключается в том, что я не знаю, когда есть данные в SharedPreferences.
На данный момент в doInBackground у меня есть такой цикл:
while (true)
{
if (not a valid value of something in SharedPreferences)
Thread.sleep(500);
else
break
}
Что невероятно уродливо, наивно,и дает мне некоторые проблемы.На этом этапе я чувствую, что должен переписать все это, так что, надеюсь, кто-нибудь может предложить лучший метод!