IT-Storm

Умный человек не тот кто много знает, а тот кто понимает, как много он не знает

Menu

Активности (activity)

Активности (activity)

Все активности должны быть объявлены в файле AndroidManifest.xml. Если активность не объявлена в файле, то система не будет знать о её существовании. А если система не знает об активности, то активность не будет выполняться.
Активности объявляются в манифесте включением элемента <activity> в элемент <application>. Собственно, каждая активность в приложении должна иметь соответствующий элемент <activity>.

Если информация об активности не включена в AndroidManifest.xml, то с точки зрения системы она не существует и никогда не будет выполняться


 Общий формат объявления выглядит так: activity в файле manifest
MyActivityClassName — имя класса. Оно снабжается префиксом «.», потому что Android строит полное имя класса, объединяя имя класса с именем пакета. В объявление активности также могут включаться и другие свойства — например, разрешения безопасности или возможность использования активностями других приложений.

Явный интент
Cоздать интент для запуска конкретной активности (Такие интенты называются явными):
Intent intent = new Intent(this, ReceiveMessageActivity.class);
startActivity(intent);
В интент также можно добавить дополнительную информацию:
intent.putExtra("сообщение", значение);
где сообщение — имя ресурса (переменной) для передаваемой информации, а значение — само значение.

Перегрузка метода putExtra() позволяет передавать значение многих возможных типов. Например, это может быть примитив (скажем, boolean или int), массив примитивов или String. Многократные вызовы putExtra() позволяют включить в интент несколько экземпляров дополнительных данных. Если вы решите действовать так, проследите за тем, чтобы каждому экземпляру было присвоено уникальное имя.
Добавить текст в интент под именем «message»:
intent.putExtra("message", messageText);
Получить дополнительную информацию, которая была отправлена системе Android в интенте:
getIntent();
getIntent() возвращает интент, запустивший активность; из полученного интента можно прочитать любую информацию, отправленную вместе с ним. Конкретный способ чтения зависит от типа отправленной информации. Например, если вы знаете, что интент включает строковое значение с именем «message», используйте следующий вызов:
Intent intent = getIntent();
String string = intent.getStringExtra("message");
Конечно, из интента можно читать не только строковые значения. Например, вызов:
int intNum = intent.getIntExtra("name", default_value);
может использоваться для получения значения name. Параметр default_value указывает, какое значение int должно использоваться по умолчанию.

Неявный интент
Для создания интента с указанием действия применяется следующий синтаксис:
Intent intent = new Intent(действие);
где действие — тип действия, выполняемого активностью.

Android предоставляет целый ряд стандартных вариантов действий.
Например, действие Intent.ACTION_DIAL используется для набора номера, Intent.ACTION_WEB_SEARCH — для выполнения веб-поиска, а Intent.ACTION_SEND — для отправки сообщений.

Итак, если вы хотите создать интент для отправки сообщений, используйте команду следующего вида:
Intent intent = new Intent(Intent.ACTION_SEND);
Добавление дополнительной информации
Допустим, вы хотите добавить текст, который образует тело отправляемого сообщения. Задача решается следующим фрагментом кода:
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, текст);
(Эти атрибуты актуальны для Intent.ACTION_SEND, а не для всех возможных действий.) где текст - отправляемый текст. Вызов сообщает Android, что активность должна уметь обрабатывать данные с типом данных MIME text/plain, а также передает сам текст. Если потребуется добавить несколько видов дополнительной информации, используйте многократные вызовы метода putExtra().
Например, если вы хотите также указать тему сообщения, используйте вызов вида:
intent.putExtra(Intent.EXTRA_SUBJECT, тема);

Android