Нужно ли реализовывать методы onCreate (), onResume и т. Д. В каждой операции, которую я пишу? - PullRequest
4 голосов
/ 07 июля 2011

Я начал изучать мир андроида всего несколько дней назад, и я делаю это с помощью книги Марио Цехнера "Начало игр для Android".

У меня могло бы быть множество вопросов о платформе и нескольких вещах, которые я видел до сих пор, но я знаю, что это станет лучше. Все, что я хочу спросить в данный момент, о деятельности: я видел жизненный цикл деятельности. Я знаю, что действия - это что-то вроде экранов. Чего я не знаю, так это того, должен ли я указывать методы onCreate (), onResume () и т. Д. В каждом коде, который я кодирую.

Ответы [ 6 ]

4 голосов
/ 07 июля 2011

Насколько я знаю, onCreate() является обязательным, а другие методы зависят от того, как вы используете упражнение

.
1 голос
/ 07 июля 2011

Добро пожаловать в мир Android.

Как правило, рекомендуется выделить все методы, такие как onPause (), onResume (), но когда вы создаете программу для Android, как правило, вам нужно только , чтобы указать * onCreate () . метод деятельности.

Помимо onCreate и простите, если моя терминология неверна, другие методы следуют поведению «по умолчанию», если вы не переопределяете их. Поэтому, если вам нужно, чтобы приложение делало что-то конкретное, когда оно приостановлено, было бы неплохо добавить вашу версию onPause (), в противном случае вы можете не указывать ее.

1 голос
/ 07 июля 2011

Весь срок действия действия происходит между первым вызовом onCreate (Bundle) и одним последним вызовом onDestroy (). Действие выполнит всю настройку «глобального» состояния в onCreate () и освободит все оставшиеся ресурсы в onDestroy (). Так что onCreate (Bundle) должен быть там в действии. Использование onResume () зависит от требований вашего приложения. для более подробной информации перейдите на http://developer.android.com/reference/android/app/Activity.html

0 голосов
/ 17 января 2012

Вы должны написать onCreate() метод, переопределив его из базового класса Activity, чтобы установить представление.Вид должен быть сгенерирован здесь сам, используя метод setContentView() в методе onCreate().* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 * * * * * * * * * *Таблица 1 в этом документе, надеюсь, это поможет вам прояснить ваши понятия: http://developer.android.com/guide/topics/fundamentals/activities.html

0 голосов
/ 07 июля 2011

Короткий ответ будет НЕТ

Вам не нужно указывать код каждого Activity onCreate и так далее.В любом случае в родительском Activity будет onCreate

Но длинный ответ говорит: хорошая практика не полагаться на неявный / невидимый код, но иметь код под вашим контролем (даже еслиэто пустышка).Я использовал для кодирования всех onCreate / onDestroy и т. Д. Таким образом:

public static final boolean DEBUG=true;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    if(DEBUG)
        Log.d(TAG, "Creating "+this.toString());
}
0 голосов
/ 07 июля 2011

Не обязательно указывать все эти методы или любой из них. Это зависит от того, какой тип реализации вы хотите

Пример Я создал свой Activity (A), так как он расширяет Activity. Я не переопределяю ни один из методов, таких как onCreate (), но я создал несколько переменных и создал несколько методов. Давайте предположим, что я создал второе действие там. Я хочу получить представление, которое я использовал также для метода onCreate (). Если мне нужны переменные и методы, которые я определил в действии А, я могу получить эти переменные и методы. Если я напишу class B extends A

Так что не обязательно использовать все эти методы из деятельности. Если вы не напишите свою собственную реализацию, то будет работать реализация по умолчанию.

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