Что означает использование контекста приложения?

Я новичок в этом, и мне очень жаль, если это очень глупый вопрос. Я просто пытаюсь прояснить ситуацию. В моей книге говорится, что я могу получить контекст приложения для процесса с помощью метода getApplicationContext(). Я просто не знаю, где набрать это или что с ним делать. Я могу пойти в иерархию, но что мне делать со всем script там. Также, где бы я написал Activity Callbacks, в main.xml? Упражнение требует, чтобы я добавил тег регистрации в свой проект, но я не уверен, как это сделать. В точном тексте говорится:

"В методе обратного вызова onCreate() добавьте информационное сообщение о регистрации, используя метод Log.i()."

и другое упражнение говорит:

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

Как кажется, основные вопросы, может кто-то, пожалуйста, помогите мне.

Я использую Android SDK и Eclipse. Я сделал приложение Hello World, но я понятия не имею, что делать с контекстом или извлечения ресурсов. Пожалуйста, помогите!

Ответ 1

Первое правило, которое я бы вам дал: если вы не знаете, зачем вам это нужно, вам, вероятно, это не понадобится. Используйте объект активности в качестве контекста, когда вам нужен контекст.

Обратные вызовы, о которых вы говорите, относятся к классу Activity. Основы применения описывают, что такое Activity: http://developer.android.com/guide/topics/fundamentals.html#Components

Единственный раз, когда вы хотите использовать getApplicationContext(), - это когда вам нужен контекст, который существует вне жизненного цикла класса Activity (или другого компонента). Вы захотите найти документацию по конкретным случаям, когда это необходимо, вокруг много плавает. Например, эта часть является частью документации для Android: http://android-developers.blogspot.de/2009/01/avoiding-memory-leaks.html

Ответ 2

Для задач, с которыми вы работаете здесь, вы будете использовать код Java, определяющий поведение приложения, а не файлы XML, определяющие ресурсы и макеты, или файл AndroidManifest.xml, который объявляет основные свойства приложения.

Если вы работаете с Часом 3 книги Sam Teach Yourself..., тогда вам нужно открыть файл src\com.androidbook.droid1\DroidActivity.java. В общем, вам понадобится src\<package-name>\<class-name>.java. Когда вы откроете этот файл, вы увидите класс (в данном случае DroidActivity), который расширяет Activity и уже имеет метод обратного вызова onCreate(). Все, что вы хотите сделать во время onCreate(), входит в этот метод. Другие методы обратного вызова могут быть добавлены внутри класса активности. Чтобы увидеть пример, который содержит все обратные вызовы жизненного цикла (но ничего не делает в них), посмотрите здесь.

Тег регистрации является просто строкой. Вы можете объявить его, например, как private static final String внутри класса активности.

Если есть путаница в том, где находятся методы, где и как определять переменные или константы, как вызывать методы, как использовать классы и т.д., тогда лучше всего пройти вводный текст Java перед тем, как начать с Android, Для этого доступно множество свободных ресурсов.