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