2011-01-08 3 views
1

В чем разница между циклами onCreate и onStart? Мне посчастливилось поставить правильный код для этих циклов. , например, в моем случае, у меня есть основной вид активности, чтобы отображать данные из базы данных и других действий для создания данных в базе данных. Деятельность по созданию данных вызывается функцией listactivity. После создания данных это будет возвращено в список. И данные в списке должны быть обновлены.Как правильно установить код для каждого жизненного цикла Android?

Когда я помещаю базу инициализации, курсор и адаптер в метод onCreate, listActivity не будет обновлять последние данные после создания данных. Но если я положу его onStart метод, он будет обновлен.

мой вопрос: правильно ли в этом случае положить всю инициализацию на метод OnStart? Поскольку я думаю, было бы дорого переинициализировать для каждой записи базы данных список, если есть одна обновленная информация.

ответ

2

В чем разница между циклами onCreate и onStart?

onCreate() вызывается, когда деятельность сначала создается. onStart() вызывается всякий раз, когда активность становится видимой, которая включает в себя, когда она сначала создается (после onCreate()), и после того, как она возвращается к экрану от остановки (например, другое действие заняло экран).

У меня есть список основных видов деятельности для отображения данных из базы данных и другой деятельности для создания данных в базе данных. Активность для создания данных вызывается функцией listactivity. После создания данных это будет возвращено в список. И данные в списке должны быть обновлены.

Используйте управляемый Cursor, и это произойдет автоматически. См. startManagingCursor() по телефону Activity.

+0

Спасибо. Теперь в моем случае я могу поместить инициализацию onCreate с помощью startManagingCursor(). всякий раз, когда есть данные обновления из другой активности, ее обновляется. – Faren

0

зависит от цели. Вы хотите, чтобы данные перезагружались каждый раз, когда пользователь возвращался к видимым операциям? Если да, вы должны добавить эти методы в onStart(). Если вы хотите загрузить значения в самом начале (больше как однократное задание) и не хотите перезагружаться, то onCreate - это правильное место.

См. Doco для объяснения onCreate и onStart. Эта диаграмма в ссылке полезна http://developer.android.com/guide/topics/fundamentals.html#actlife

+0

Спасибо за объяснение. – Faren