Блог Александра Божко
Архивы
Рубрики
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Сегодня, выдался свободный вечерок* и я решил набросать небольшое Андроид приложение. Забегая вперед скажу, что это оказалось совершенно несложно. Но, обо всем по порядку.

Недавно я стал обладателем замечательного устройства – Google Nexus 7. Хотя у меня уже имеется несколько устройств**, работающих под управлением Android, я приобрел этот аппарат специально для разработки приложений. В принципе, для того, что бы создавать приложения с помощью XE5, вам не обязательно покупать какой-то специальный планшет или смартфон. Скорее всего, приложение написанное на Delphi запустится и на том, что у вас есть в настоящий момент. Но сам факт того, что Nexus 7 выпускается под эгидой Google, практически гарантирует то, что его узнает любая среда разработки. К тому же качество исполнения и характеристики у планшета просто замечательные. По моему глубокому убеждению, лучшего планшета за $250 вы не купите.

Еще одним преимуществом явилось то, что сразу же после включения я, следуя настойчивой рекомендации производителя, обновил ОС до версии 4.3 (Jelly Bean) – последней из доступных на данный момент.

Действительно, процесс узнавания планшета прошел без малейших проблем. Очень порадовал в этом отношении Mobile Help Wizard (MHW), который буквально бросался мне на помощь на каждом шагу. Без его помощи я ни за что не догадался бы о том, что нужно семь раз нажать на серийном номере устройства, что бы стать Андроид разработчиком :). Я не стану здесь подробно описывать процесс создания и настройки Android приложения, а просто рекомендую воспользоваться советами MHW или прочесть статью Влада Баженова. Вместо этого просто приведу код простейшего таймера:

unit uMain;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, FMX.Objects;

type
  TForm1 = class(TForm)
    lblTime: TLabel;
    StyleBook1: TStyleBook;
    Panel1: TPanel;
    btnPlay: TCornerButton;
    btnPause: TCornerButton;
    btnStop: TCornerButton;
    Timer: TTimer;
    Image1: TImage;
    procedure btnPlayClick(Sender: TObject);
    procedure btnPauseClick(Sender: TObject);
    procedure btnStopClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TimerTimer(Sender: TObject);
  private
    { Private declarations }
    secCount: integer;

    function Sec2lblText(aSec: integer): string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.btnPauseClick(Sender: TObject);
begin

btnPlay.Enabled:= True;
btnStop.Enabled:= True;
btnPause.Enabled:= False;
Timer.Enabled:= False;
end;

procedure TForm1.btnPlayClick(Sender: TObject);
begin
Timer.Enabled:= True;
btnPlay.Enabled:= False;
btnStop.Enabled:= True;
btnPause.Enabled:= True;
end;

procedure TForm1.btnStopClick(Sender: TObject);
begin
Timer.Enabled:= False;
btnPlay.Enabled:= True;
btnStop.Enabled:= False;
btnPause.Enabled:= False;
secCount:= 0;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
secCount:= 0;
end;

function TForm1.Sec2lblText(aSec: integer): string;
begin
Result:= Format('%.2d', [aSec div 60])+':'+Format('%.2d', [aSec mod 60]);
end;

procedure TForm1.TimerTimer(Sender: TObject);
begin
Inc(secCount);
lblTime.Text:= Sec2lblText(secCount);
end;

end.

Форма приложения приведена на скриншоте:

timer

А что из этого получилось вы можете посмотреть в ролике. Обратите внимание на то, как органично смотрится FireMonkey стиль.

А вы уже написали свое первое приложение для Android.

* Спасибо Григорию Михайловичу Суркису, долгих лет ему жизни.

** На минуточку, он стал шестым в моей коллекции!

 

780_198_11


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

4 комментария: Delphi для Android. Мечта сбывается.

  • А какой размер приложения получился? Если собрать на eclipse то какая будет разница в размерах приложений?
    Спасибо.

    • Об этом я смогу сказать только после выхода релиза. :) Наберитесь терпения, уже не долго…

    • Eclipse штука мультиязычная. Какой язык имеется ввиду? Если Java, то конечно Delphi приложение будет значительно больше, т к содержит в себе свой собственный код отрисовки виджетов интерфейса (благодаря чему и является кросплатформенным). Если же имеется ввиду Qt + C++ то размер будет приблизительно тот же.

  • А что Суркис то?

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика