Delphi(Firemonkey)/Intent[1](Намерения в Android)



Сегодня мы с вами будем изучать Intent, или как его еще назывют "намерения". Наш сегодняшний урок будет состоять из двух подразделов: Теория и Практика. Можете сразу перелистать на Практику, но я бы советовал прочитать сначала теорию, чтобы понять, какие приемущества дает вам изучение данной темы.

Теория:

Intent в Delphi - запуск какой-то другой активности в другом приложении. В ближайших уроках мы рассмотрим(как отправить SMS, позвонить, отправить сообщение в Twitter). Сегодня же мы рассмотрим простейший пример намерения, но об этом в практике.
Итак, Intent позволяет нам:

1.Выполнить какое-то действие
2.Запустить сервис
3.Отправить уведомление о каком-либо событии.

Есть два вида намерений:

Явные

Мы указываем, какую активность
нужно вызвать и запускаем необходимый
класс. Например мы можем отправить
сообщение в Twitter, если такое приложение
установлено. Вместе с этим мы можем передавать
необходимые данные в активность
(сообщения, музыку и т.д)

Неявные

Android сам выбирает перечень
активностей, необходимых
для обработки переданных
параметров.

Intent содержит в себе три параметра 1)действие 2)данные 3)категория

Практика:

Рассмотрим простейшее намерение - открытие ссылки, записанной в нашем приложении с помощью браузера, установленного на устройстве.

Вот как это будет выглядеть:

1)На форме нам понадобятся обычная кнопка и edit.



2)При нажатии на кнопку, Android сам опредилит приложения, которые способны работать с протоколом http, и предложит пользователю выбрать браузер для дальнейших действий.



3)После выбора браузера произойдет открытие ссылки.(Интернет на моем смартфоне отсутствует, так что...)



Перейдем к коду.

1)Во первых нам нужно добавить три новых модуля в раздел Uses:

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Edit,
  FMX.StdCtrls,
 
  Androidapi.JNI.GraphicsContentViewText, //вот эти
  Androidapi.JNI.JavaTypes, //три
  FMX.Helpers.Android; //модуля


2)Код кнопки:

procedure TForm1.Button1Click(Sender: TObject);
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;   // Создаем новое намерение (Intent)
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); // Указали действие — ACTION_VIEW (показать данные пользователю)
  Intent.setData(StrToJURI(edit1.text));   // передаем URI из edit1
  SharedActivity.startActivity(Intent);    // запускаем нашу активность
end;


В ближайшем уроке рассмотрим отправку SMS сообщений, набор номера и звонок из вашего приложения. Успехов!
Теги:
Firemonkey, Intent[1], Android
Добавлено: 23 Февраля 2015 08:14:50 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...