В настоящее время я разрабатываю приложение для Android, которое использует активность входа и как только пользователь вошел в систему, является основным видом деятельности. Пользователям приложения предоставляется фоновая служба (IntentService) для связи с сервером во время входа пользователя. Затем служба сохраняет загруженные данные пользователя в базе данных, так что пользователю не нужно входить в систему каждый раз, когда он запускает приложение.Перезагрузка данных на экране вращения
После того, как пользователь входит в основное действие, он извлекает некоторые данные через службу с сервера. Затем эти данные отображаются (программно) на экране. Я думаю, что это вполне сопоставимо с тем, как работает приложение (хорошо известное) Wordfeud. Сначала он регистрирует вас, затем он извлекает игры, которые вы играете с сервера, а затем отображает их.
Моя проблема в том, что если я поверну свой экран, основное действие будет уничтожено и перезапущено, что вызовет функцию oncreate(). В моем текущем проекте это означает, что данные снова извлекаются с сервера, что совершенно необязательно. Я хочу, чтобы данные снова были загружены, если пользователь закрыл приложение и снова начнет использовать его позже.
Мне интересно, что было бы лучше всего исправить это? Простым способом было бы запретить поворот экрана, но, на мой взгляд, это не очень удобно. Другим способом было бы получить все данные, пока приложение связывается с сервером для входа в систему пользователя, и добавьте кнопку перезагрузки/выборки на экран, чтобы пользователь мог получать данные вручную. Недостатком этого подхода было бы то, что если пользователь снова откроет приложение через несколько часов, данные будут/могут быть устаревшими. Это не так удобно.
Возможно, есть другие решения этой проблемы, о которых я не знаю, как о возможности обхода (частей) функции oncreate(), когда экран вращается или что-то в этом роде.
Мне очень любопытно, есть ли решение для этого, и если да, то каким бы оно было!
Возможный дубликат [Активность перезагрузки при ротации Android] (http://stackoverflow.com/questions/456211/activity-restart-on-rotation-android) –