Тема. Firemonkey Mobile Application. Разработка мобильных приложений.




Цели и задачи

 

В Delphi, начиная с версии XE5, библиотека Firemonkey (FMX) и ее компоненты дают разработчикам настольных и мобильных приложений большое количество возможностей, реализация которых выполняется все чаще без кода и углубления в специализированные языки программирования для мобильных устройств или библиотеку OpenGL для разработки трехмерных игр и приложений. Несомненно, это ускоряет процесс разработки, дает возможность компилировать проект для мобильных операционных систем, но при этом получая более весомые проекты с точки зрения занимаемого пространства в файловой системе. Сегодня мы вместе разработаем наше мобильное приложение на языке Delphi, установим его на устройство и будем его тестировать. Так как мы будем разрабатывать мобильное приложение, исполняемое в виртуальной машине DalvikVM на стороне операционной системы Android, интерпретирующей байт-код, предварительно созданный и скомпилированный из исходного текста Java-программы (jar) утилитой Android SDK после написания кода в Eclipse, то процесс разработки apk в Delphi будет достаточно простым. Что для этого понадобится? Среда разработки, знания, умения, применение изученного ранее материала по программированию. Так почему же apk файл, собранный в Delphi, занимает так много места в файловой системе после разархивирования или установки? Дело в том, что FMX-библиотеки для работы мобильного приложения скомпилированного в Delphi (файл с расширением so) находятся внутри установочного файла-архива apk, в отличие от apk от Eclipse, где все библиотеки предоставляются операционной системой Android. Правда использование системных ресурсов файлом, скомпилированным в Delphi, с появлением все более мощных устройств можно не учитывать, при этом, не забывая о том, что абсолютно все возможности могут быть реализованы только на основе таких языков, как Java, Python, C и другие.

Пример 1. Разработка мобильного приложения «Калькулятор» - 10 мин

 

1. Создайте новый проект «File»-«New»-«Firemonkey Mobile Application»

 

2. Выберите пункт «Blank Application», т.е. новую пустую форму, и нажмите «ОК»

 

 

3. Будет создана форма мобильного устройства, форму и размер которой вы можете выбрать из списка в верхнем правом углу окна Design Time. В этом же части окна вы можете выбрать ориентацию экрана «Portrait» или «Landscape»

 

4. Форма готова и на ней можно размещать компоненты. Палитра компонентов размещена в правой нижней части окна среды программирования. Вспомните, какие компоненты нужны для разработки программы «Калькулятор»?

 

 

5. Аналогично разработке подобной программы перейдем к событию OnClick. Вспомните и расскажите алгоритм работы программы? Добавим переменные и напишем программу.

 

uses FMX.Platform.Android;

 

var

Form1: TForm1;

a,b,c:real;

x,y,z,i:integer;

d:char;

StatusKeyboard: boolean = false;

implementation

 

{$R *.fmx}

 

procedure TForm1.Button11Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

edit1.Text:=floattostr(sin(a)*(pi/180));

end;

 

procedure TForm1.Button12Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

edit1.Text:=floattostr(cos(a)*(pi/180));

end;

 

procedure TForm1.Button15Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

edit1.Text:=floattostr(sin(a)*(pi/180)/cos(a)*(pi/180));

end;

 

procedure TForm1.Button16Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

d:='e';

edit1.Text:='';

end;

 

procedure TForm1.Button19Click(Sender: TObject);

begin

x:=strtoint(edit2.Text);

d:='d';

edit2.Text:='';

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

d:='+';

edit1.Text:='';

end;

 

procedure TForm1.Button20Click(Sender: TObject);

begin

x:=strtoint(edit2.Text);

d:='f';

edit2.Text:='';

end;

 

procedure TForm1.Button21Click(Sender: TObject);

begin

x:=strtoint(edit2.Text);

for i:= 1 to x do z:=x*i;

edit2.Text:=inttostr (z);

end;

 

procedure TForm1.Button25Click(Sender: TObject);

begin

b:=strtofloat(edit1.Text);

case d of

'+':c:=a+b;

'-':c:=a-b;

'/':c:=a/b;

'*':c:=a*b;

'%':c:=(a*b)/100;

'e':c:=exp(ln(a)*b);

end;

edit1.Text:=floattostr (c);

end;

 

procedure TForm1.Button26Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

edit1.Text:=floattostr(cos(a)*(pi/180)/sin(a)*(pi/180));

end;

 

procedure TForm1.Button27Click(Sender: TObject);

begin

EDIT1.Text:='';

EDIT2.Text:='';

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

d:='-';

edit1.Text:='';

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

d:='/';

edit1.Text:='';

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

d:='*';

edit1.Text:='';

end;

 

procedure TForm1.Button5Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

edit1.Text:=floattostr(sqr(a));

end;

 

procedure TForm1.Button6Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

edit1.Text:=floattostr(sqrt(a));

end;

 

procedure TForm1.Button7Click(Sender: TObject);

begin

a:=strtofloat (edit1.Text);

d:='%';

edit1.Text:='';

end;

 

procedure TForm1.Button8Click(Sender: TObject);

begin

y:=strtoint(edit2.Text);

case d of

'd':z:=x div y;

'f':z:=x mod y;

end;

edit2.Text:=inttostr(z);

end;

 

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;

Shift: TShiftState);

begin

if Key = vkHardwareBack then

begin

if not StatusKeyboard then begin

MainActivity.finish;

end;

end;

end;

 

6. Скомпилируем и запустим проект. По адресу «…\Android\Debug\Project1\bin» внутри вашей папки с проектом вы найдете apk файл готовый к установке в операционной системе Android.

 

Вопросы для закрепления

- Что такое и для чего предназначена виртуальная машина?

- Объясните (проиллюстрируйте, расскажите) процесс разработки установочного файла apk?

- Какие возможности работы с ОС Android предоставляет FMX-библиотека?

- Вопросы по работе приложения



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: