2013-10-14 4 views
0

Я один приложение, которое аутентификации пользователя для доступа к внутренней деятельности, App оказывает несколько деятельность, которая получает данные от предыдущей деятельностиБеспорядок на активность Lifecycle

Так что я немного запутался на деятельность жизненного цикла

Я прочитал Bundle данные в локальную переменную в активности OnCreate и чтение DB в async-задании на основе этих данных. эти данные БД отображаются в моем приложении.

Теперь, если я переключиться на другое приложение, будет мое приложения есть, что локальные переменные/Статические переменные данные (считываются из данных БД) с ними,

У меня есть класс SingleInstance который хранит информацию пользователя билета и т.д., Является ли это переменный хранит в памяти приложение, если мы получили телефонный звонок между ними.

Я немного смущен этой части.

В документе предлагается, что вам необходимо сохранить несохраненные данные в общих настройках.

Было бы хорошо, если кто-то выделить на что ..

+0

Данные о деятельности остаются с переменными активности, если он загружен даже в фоновом режиме ... onResume позволяет помещать некоторые контрольные выражения в ваш код для обнаружения из фона в forground –

+0

, поэтому, если я выполняю задачу Async в onCreate а задача Async «метод onPost» будет подталкивать уже прочитанные данные db к моему пользовательскому интерфейсу. Этот пользовательский интерфейс будет сохранять данные в случае сна или блокировки разблокировки или переключиться на другое приложение. – Kasma

ответ

2

Ну, в первую очередь, вы должны убедиться, что вы понимаете разницу между новым приложением и новый вид деятельности в соответствии с предложением:

Теперь, если я переключиться на другое приложение, будет мое приложение есть, что данные БД с ними после того, как перейти обратно на мое приложение

Если вы на самом деле означают различные приложения, то ответ «НЕТ в другое приложение (в случае, если это ваше приложение тоже) «у вас не может быть ac (по крайней мере, не напрямую), единственный способ заключается в том, что это приложение реализовало контент-провайдера для совместного использования своих данных с другим приложением, по умолчанию приложения для Android работают как песочница и не передают какую-либо информацию другим приложениям, если специально не объявлено , есть еще одно правило между двумя приложениями, подписанными с одним и тем же ключом, но это совсем другая история и огромная тема для обсуждения, не связанная с этим вопросом ...

В случае, если вы «хотите перейти в другое приложение (не мое), а затем попробуйте чтобы снова использовать его из MY app », ответ« YES », информация в базе данных доступна среди всех компонентов здания, таких как« активность, обслуживание », принадлежащих одному и тому же приложению, информация в базе данных сохраняется даже после полного закрытия приложение (и, следовательно, является общим предпочтением), но между общим предпочтением и базой данных существует огромное отличие, а также knowi ng, когда использовать тот или иной дифференциал между хорошими и отличными разработчиками, золотое правило (но не единственное или лучшее) состоит в том, что DB используется для сложных запросов и реляционных данных, которым требуется некоторая предварительная обработка или постпроцессинг для получения правильных значений , в то время как общие предпочтения - это всего лишь карта «ключ/ценность», которая сохраняется в контексте приложения.

Надеюсь, что это поможет.

С уважением!

+0

Я имею в виду, что данные БД означают локальную переменную Данные, считываемые из БД. поэтому, если я выполняю задачу Async в задаче onCreate и Async, метод onPost будет толкать уже прочитанные данные db в мой пользовательский интерфейс. Этот пользовательский интерфейс будет сохранять данные в случае сна или блокировки разблокировки или переключиться на другое приложение – Kasma

0

Дата остается неизменной во время работы в фоновом режиме. Тем не менее, данные придерживаются конкретных видов деятельности. Если действие в приложении выполняется или уничтожается, когда оно работает в фоновом режиме, данные попадают соответственно. Чтобы заботиться о действиях в фоновом режиме, вы должны эффективно использовать onResume(), onPause(), onDestroy() и такие методы.

Cheers!:)

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