Android Notepadv1 Tutorial - Постоянный номер mNoteNumber? - PullRequest
0 голосов
/ 22 мая 2010

Итак, я сделал учебник по Notepadv1. Это работало отлично. Нет проблем. Однако мне хотелось бы получить объяснение, почему mNoteNumber запоминает последний номер созданного мной элемента.

Итак, урок начинается следующим образом:

public class Notepadv1 extends ListActivity {
     private int mNoteNumber = 1;

Хорошо, я это понимаю. Единственное другое время, когда используется переменная mNoteNumber, - когда вы добавляете элемент, он создает заметку с этим номером, а затем увеличивает ее до следующего числа следующим образом:

private void createNote() {
 String noteName = "Note " + mNoteNumber++;

Это только две ссылки на переменную mNoteNumber. Когда я нажимаю кнопку «Домой» и затем снова открываю приложение, я добавляю новую заметку, но вместо добавления второй «Заметки 1» она запоминает, что последняя заметка, которую я добавил как «Заметка 3», поэтому она создает «Заметка 4». Так что я не понимаю. Java / Android помнит последнее состояние переменных?

Если бы кто-нибудь мог дать мне какое-то объяснение, это было бы СПАСИБО!

1 Ответ

3 голосов
/ 22 мая 2010

Нажатие кнопки домой не убивает ваше приложение. Это просто перемещает это в фон. При повторном нажатии на значок приложения оно перемещается назад на передний план. Подумайте об этом, как свернуть и снова открыть окно в приложении.

Однако вы не можете полагаться на то, что запомните состояние таким образом. Когда приложение находится в фоновом режиме, оно может быть убито, если Android решит, что ему нужно место.

Для получения дополнительной информации см. Документацию по жизненному циклу .

Если вы хотите гарантировать, что состояние запоминается, вы должны сохранить состояние, как описано в этом документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...