Smakołyki tworzenia aplikacji mobilnych w Delphi

Podobne dokumenty
Delphi podstawy programowania. Dialogi

Wydział: ZiMK Przedmiot: Programowanie - Delphi Semestr 5

Ćwiczenie 1 Proste aplikacje - podstawowe komponenty.

Programowanie RAD Delphi

Moto Z i Moto Z Force - nowe smartfony z dodatkowymi modułami

Technologia Bluetooth Low Energy w Delphi

Wykonaj tę czynność, jeśli masz co najmniej trzy awiza dostawy do przetworzenia.

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Wprowadzenie do systemu Delphi

Potwierdzenie zamówienia za pomocą metody przesyłania plików PL

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

GSMONLINE.PL dla zainteresowanych nowymi technologiami

GSMONLINE.PL dla zainteresowanych nowymi technologiami

Aktualne portfolio smartfonów Samsung Galaxy w naszym kraju - od 499 do 4899 zł. Samsung Galaxy J Samsung Galaxy J4+ Samsung Galaxy Xcover 4

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Microsoft Lumia 550 Nokia Lumia 640 iphone 6s Plus iphone 6s iphone 6 Plus iphone 6 iphone 5s. ios 9 ios 9 ios 8 ios 8 ios 7

ŻYJE SIĘ RAZ. Żyje się tylko raz, więc zadbaj o stylowe życie. Strona 2 z 7

Layouty. Kilka layoutów

GSMONLINE.PL dla zainteresowanych nowymi technologiami

GSMONLINE.PL. Wiko PULP 4G, Wiko PULP FAB 4G w Polsce Wiko

DLoG AIM-35. Terminal mpos 8"

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Klawiatura sprzętowa SIEĆ GSM 850, 900, 1800, 1900 WCDMA 850, 900, 1800, 1900, 2100 WYŚWIETLACZ kolorowy, SUPERAMOLED Wyświetlacz

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

Nawigacja lokalizator gps kamera w lusterku wifi bluetooth Orllo LX-400GT

Przesyłanie planowanych odbiorów dostawcy do monitora prognozy zlecenia PL

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

Informatyka 1. Przetwarzanie tekstów

Android poradnik programisty

GSMONLINE.PL. Nokia 8 za 2599 zł - nowy flagowiec zaprezentowany w Londynie HMD Global

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach.

ejestr systemu Windows jest bazą danych, w której system i aplikacje mogą przechowywać swoje dane, w szczególności parametry konfiguracyjne.

Język programowania PASCAL

GOCLEVER TABLET ELIPSO 72 7"

Standard SIM Micro SIM Nano SIM

Moto G, Moto G Plus i Moto G Play - oficjalne specyfikacje nowej edycji rodziny Moto G

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Standard SIM. Micro SIM Nano SIM

GSMONLINE.PL old. Urządzenia kosztują odpowiednio 499 zł i 649 zł. GS100 i GS180 - nowe smartfony Gigaset w Polsce (ceny)

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart?

Nadchooooodzi FireMooooooooonkey!

Android tworzenie aplikacji mobilnych

HTC TOUCH DIAMOND nowa komórka

OPERACJE NA PLIKACH. Podstawowe pojęcia:

16) Wprowadzenie do raportowania Rave

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Po otwarciu pudełka, proszę sprawdzić czy znajdują się w nim następujące rzeczy:

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Windows Phone 7. Zacznij, Twórz, Zarabiaj. Paweł Żochowski. Action Centrum Edukacji

PODSTAWY PROGRAMOWANIA

Aplikacje Mobilne W systemie Domu Inteligentnego dostępne są aplikacje dla urządzeń mobilnych z systemami zarówno Android jak i ios.

SMARTWATCH ZGPAX S8. Instrukcja obsługi. Online World tel: BEZPIECZEŃSTWO:

Delphi podstawy programowania. Pliki INI

Pliki wchodzące w skład projektu Rozmiar formatki, okna. Wyświetlanie okien komunikatów Rzutowanie Konwersja Tworzenie standardowych przycisków

Laboratorium Systemów Mobilnych. Wykład 1

Księgarnia PWN: Wojciech Sterna Delphi od podstaw

Wstęp do programowania. Różne różności

GSMONLINE.PL dla zainteresowanych nowymi technologiami

Przykład połączenie z bazą danych

259,00 PLN brutto 210,57 PLN netto

Opis przedmiotu zamówienia

Nowe smartfony Goclever: Dual SIM, duży ekran, KitKat i niska cena

GSMONLINE.PL. Nokia Lumia pierwszy tablet Nokii Nokia zaprezentowała dziś pierwszy tablet - Nokia Lumia 2520.

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Delphi Laboratorium 3

Instrukcja instalacji oprogramowania dla środowiska Windows

GSMONLINE.PL. Samsung Gear S2 nasze pierwsze wrażenia z Berlina

Zapytanie ofertowe 4/2014

Instrukcja obsługi No.1 D5

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

1. Opis okna podstawowego programu TPrezenter.

1) Naciśnij i przytrzymaj przez 2 sekundy ikonę z menu głównego, następnie naciśnij Potwierdź.

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

GSMONLINE.PL dla zainteresowanych nowymi technologiami

Dlaczego Android? Uczę się Javy więc piszę.. w Androidzie. Nie mam telefonu z Androidem!

GSMONLINE.PL dla zainteresowanych nowymi technologiami

Delphi podstawy programowania. Rejestr systemowy

ROG Phone jest zasilany procesorem Qualcomm Snapdragon 845 z Adreno 630. Urządzenie ma 8 GB pamięci RAM i maksymalnie 512 GB pamięci.

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Wykorzystanie protokołu Bluetooth LE do komunikacji w sieciach mobilnych. Andrzej Sikora, Mateusz Krzysztoń NASK, Warszawa 2017

Poczuj każde brzmienie

watermark TABLET LARK FreeMe GPS

Wialon mobilna aplikacja

GSMONLINE.PL. Warszawska premiera nowej serii LG K LG niecały

GSMONLINE.PL dla zainteresowanych nowymi technologiami

Programowanie aplikacji na urządzenia mobilne

GSMONLINE.PL dla zainteresowanych nowymi technologiami

Tablet LENOVO Yoga 3 X50L LTE

O bsługa aparatu z funkcją AR. O ptymalna konstrukcja. LG Swift 7 Konkurencja w zakresie parametrów technicznych. aksymalna wydajność akumulatora

Pakiety internetowe (od )

Samsung Galaxy J7 (2016) Czarnypromocja HAPPY DAYS do Kup smartfon, odbierz nawigację Navitel

RAPORT Z TESTÓW. Projekt: BAND Bank nasadzeń drzew. Strona domowa projektu:

VBA praca z makrami w Excelu

Transkrypt:

Smakołyki tworzenia aplikacji mobilnych w Delphi Zdzisław Sroczyński Caprisoft Politechnika Śląska Zakład Informatyki Zlot programistów Delphi 2017 Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 1 / 65

ios: https://developer.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 2 / 65

ios: bundle identifier opcje Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 3 / 65

ios: https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 4 / 65

https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 5 / 65

https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 6 / 65

https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 7 / 65

Połączenie z PAserver Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 8 / 65

Provisioning: developer.apple.com Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 9 / 65

https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 10 / 65

https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 11 / 65

https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 12 / 65

Application Loader (macos) Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 13 / 65

https://itunesconnect.apple.com/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 14 / 65

Recenzja maile Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 15 / 65

Android: https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 16 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 17 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 18 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 19 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 20 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 21 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 22 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 23 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 24 / 65

https://play.google.com/apps/ Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 25 / 65

Porady pliki w sekcji Deployment trzeba dodać dla każdej platformy, symulatora też bundle ID w opcjach Version Info generate ios universal binary file w opcjach Compiling Edit SDK nowsza wersja istotna dla Application Loader przy problemach z instalacją: usuń starą wersję programu z telefonu różne wersje Xcode na tym samym Macu (konto w opcjach, command line tools), pierwszy start zgoda Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 26 / 65

Symulator ios odśwież! Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 27 / 65

Symulator ios Xcode 8.2 Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 28 / 65

Symulator ios Xcode 8.3.3 Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 29 / 65

Thumbnail PhotoPuzzle TFMXBitmapHelper = class helper f o r TBitmap function CreateFitThumbnail ( const Width, Height : Integer ) : TBitmap end ; function TFMXBitmapHelper. CreateFitThumbnail ( const Width, Height : Integer ) : TBitmap ; var R : TRectF ; begin Result := TBitmap. Create ( Width, Height ) ; Result. Canvas. BeginScene ; i f width<=self. Width then begin R := RectF ( 0, 0, Self. Width, Self. Height ) ; R. Fit ( RectF ( 0, 0, Width, Height ) ) ; end e l s e R := RectF ( 0, 0, Width, Height ) ; Result. Canvas. DrawBitmap ( Self, RectF ( 0, 0, Self. Width, Self. Height ), R, 1. 0 ) ; Result. Canvas. EndScene ; Zdzisław end ; Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 30 / 65

PhotoPuzzle Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 31 / 65

Android vkhardwareback (IFDEF) procedure TFormPuzzle. FormKeyUp ( Sender : TObject ; v ar Key : Word ; v ar KeyChar : Char ; Shift : TShiftState ) ; begin i f Key = vkhardwareback then begin key :=0; { $IFDEF ANDROID} MessageDlg ( Koniec?, TMsgDlgType. mtconfirmation, [ TMsgDlgBtn. mbyes, TMsgDlgBtn. mbcancel ], 0, procedure ( const AResult : TModalResult ) begin i f end ) ; {$ENDIF} end ; end ; AResult=mrYes then MainActivity. finish ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 32 / 65

PL FMX.Platform.Metrics.iOS.pas f u n c t i o n TCocoaTouchMetricsServices. GetCurrentLangID : string ; var lngs : NSArray ; CurrentLocale : NSLocale ; LanguageISO : NSString ; begin lngs := TNSLocale. OCClass. preferredlanguages ; LanguageISO:= TNSString. Wrap ( lngs. objectatindex ( 0 ) ) ; // CurrentLocale := TNSLocale. Wrap ( TNSLocale. OCClass. currentlocale ) ; // LanguageISO := TNSString. Wrap ( CurrentLocale. objectforkey ( ( NSLocaleLanguageCode as ILocalObject ). GetObjectID ) ) ; Result := UTF8ToString ( LanguageISO. UTF8String ) ; i f Length ( Result ) > 2 then Delete ( Result, 3, MaxInt ) ; end ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 33 / 65

PL FMX.Dialogs.iOS.pas (1) function ZSTranslate ( co : String ) : String ; var LocaleSvc : IFMXLocaleService ; begin LocaleSvc := TPlatformServices. Current. GetPlatformService ( IFMXLocaleService ) as IFMXLocaleService ; i f LocaleSvc. GetCurrentLangID = p l then begin i f co = Yes then result := Tak e l s e i f co = No then result := Nie e l s e result := co ; end ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 34 / 65

PL FMX.Dialogs.iOS.pas (2) function TCocoaDialogsService. MessageDialog ( const AMessage : string ; const ADialogType : TMsgDlgType ;... AlertView := TUIAlertView. Wrap ( AlertView. initwithtitle ( StrToNSStr ( ZSTranslate ( MsgTitles [ ADialogType ] ) ), StrToNSStr ( AMessage ), Delegate. GetObjectID, nil, nil ) ) ; f o r B := Low ( TMsgDlgBtn ) to High ( TMsgDlgBtn ) do i f B i n AButtons then AlertView. addbuttonwithtitle ( StrToNSStr ( ZSTranslate ( ButtonCaptions [ B ] ) ) ) ; AlertView. Show ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 35 / 65

PL FMX.Platform.Metrics.Android.pas function TAndroidMetricsServices. GetCurrentLangID : string ; var Locale : JLocale ; begin Locale := TJLocale. JavaClass. getdefault ; // Result := JStringToString ( Locale. getiso3language ) ; Result := JStringToString ( Locale. getlanguage ) ; i f Length ( Result ) > 2 then Delete ( Result, 3, MaxInt ) ; end ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 36 / 65

PL FMX.Dialogs.Android.pas procedure TFMXDialogService. MessageDialogAsync ( const AMessage : string ; const ADialogType : TMsgDlgType ; const AButtons : TMsgDlgButtons ; const ADefaultButton : TMsgDlgBtn ; const AHelpCtx : THelpContext ; const ACloseDialogProc : TInputCloseDialogProc ) ;... f o r B i n AButtons do begin i f ButtonIndex < ButtonsCount then begin LCaptions. Items [ ButtonIndex ] := StringToJString ( ZSTranslate ( ButtonCaptions [ B ] ) ) ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 37 / 65

Warsztaty1 TDialogServiceAsync TDialogServiceAsync. MessageDialog ( Komunikat, TMsgDlgType. mtconfirmation, [ TMsgDlgBtn. mbyes, TMsgDlgBtn. mbno ], TMsgDlgBtn. mbyes, 0, procedure ( const AResult : TModalResult ) begin i f AResult = mryes then FWarsztaty1. label1. Text:= k l i k n i e t o TAK! e l s e FWarsztaty1. label1. Text:= k l i k n i e t o NIE! ; end ) ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 38 / 65

Warsztaty1 IFMXPhoneDialerService var PhoneDialerService : IFMXPhoneDialerService ; begin i f TPlatformServices. Current. SupportsPlatformService ( IFMXPhoneDialerService, IInterface ( PhoneDialerService ) ) then begin PhoneDialerService. Call ( Edit1. Text ) end e l s e ShowMessage ( To u r z a d z e n i e n i e p o t r a f i dzwonic! ) ;... Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 39 / 65

Warsztaty1 kontakty i f ( Source. SourceName = Phone c o n t a c t s ) // Android or ( Source. SourceName = Card ) //ios then Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 40 / 65

TMapView problem Z-Order MapView1. Snapshot ( SnapshotHandler ) ;... procedure TForm1. SnapshotHandler ( const ABitmap : TBitmap ) ; begin Rectangle1. Fill. Bitmap. Bitmap. Assign ( ABitmap ) ; end ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 41 / 65

Lokalizacje Swift ;) Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 42 / 65

ios dodawanie frameworka Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 43 / 65

AudioToolbox przykład (1) { $IFDEF IOS} Const libaudiotoolbox = / System / L i b r a r y / Frameworks / AudioToolbox. framework / AudioToolbox ; ksystemsoundid_vibrate = $FFF ; Procedure AudioServicesPlaySystemSound ( insystemsoundid : i n t e g e r ) ; Cdecl ; External libaudiotoolbox Name _PU + A u dioservicesplaysystemsound ; Procedure AudioServicesCreateSystemSoundID ( soundfileurlref : CFURLRef ; v ar insystemsoundid : I n t e g e r ) ; Cdecl ; External libaudiotoolbox Name _PU + A udioservicescreatesystemsoundid ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 44 / 65

AudioToolbox przykład (2) var lasersoundid, explsoundid : Integer ; soundfileurlref : CFURLRef ; Path : CFStringRef ; URL : CFURLRef ;... AFilename:= TPath. GetDocumentsPath + PathDelim + l a s e r. mp3 ; Path := CFStringCreateWithCharacters ( nil, PChar ( AFileName ), Length ( AFileName ) ) ; URL := CFURLCreateWithFileSystemPath ( nil, Path, kcfurlposixpathstyle, False ) ; AudioServicesCreateSystemSoundID ( URL, lasersoundid ) ; AudioServicesPlaySystemSound ( lasersoundid ) ; {$ENDIF} Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 45 / 65

Pauza w animacjach TAnimatorHelper = class helper f o r TAnimator class procedure PauseAnimations ( const Target : TFmxObject ; vpause : Boolean ) ; end ; class procedure TAnimatorHelper. PauseAnimations ( const Target : TFmxObject ; vpause : Boolean ) ; var I : Integer ; begin f o r I := Target. ChildrenCount 1 downto 0 do begin i f ( Target. Children [ I ] is TCustomPropertyAnimation ) then TFloatAnimation ( Target. Children [ I ] ). Pause:=vpause ; i f ( Target. Children [ I ] is TPathAnimation ) then TPathAnimation ( Target. Children [ I ] ). Pause:=vpause ; end ; Zdzisław end ; Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 46 / 65

Zatrzymanie animacji TFMXObjectAniStopper = class helper f o r TFMXObject procedure StopAnimations ; end ; procedure TFMXObjectAniStopper. StopAnimations ; var iani : i n t e g e r ; begin f o r iani := ( ChildrenCount 1) downto 0 do begin i f ( Children [ iani ] is TCustomPropertyAnimation ) then TFloatAnimation ( Children [ iani ] ). DisposeOf e l s e i f ( Children [ iani ] is TPathAnimation ) then TPathAnimation ( Children [ iani ] ). DisposeOf ; end ; end ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 47 / 65

Przykład MathGalaxy Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 48 / 65

FMX.WebBrowser.Android.pas procedure TAndroidWebBrowserService. InitUIThread ; begin FJWebBrowser := TJWebBrowser. JavaClass. init ( TAndroidHelper. Activity ) ; FJWebBrowser. getsettings. setjavascriptenabled ( True ) ;... FJWebBrowser. getsettings. setsupportzoom ( f a l s e ) ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 49 / 65

FMX.WebBrowser.Delegate.iOS.pas procedure TWebViewDelegate. webviewdidfinishload ( webview : UIWebView ) ; var LRequest : NSURLRequest ; begin... i f webview <> nil then begin webview. scrollview. setminimumzoomscale ( 1. 0 ) ; webview. scrollview. setmaximumzoomscale ( 1. 0 ) ; webview. scrollview. setzoomscale ( 1. 0 ) ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 50 / 65

Przykład WebbrowserFMX Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 51 / 65

Smartwatche Android Wear Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 52 / 65

Huawei Watch specyfikacja Android Wear 2.0 (Android 7.1.1) ekran okrągły 1.4 cala 400x400 (ok. 286ppi) CPU: Qualcomm MSM8926 Snapdragon 400 Quad-core 1.2 GHz Cortex-A7 GPU: Adreno 305 pamięć 4GB, p. operacyjna 512MB RAM komunikacja: Wi-Fi 802.11 b/g, Bluetooth 4.1, LE sensory: akcelerometr, żyroskop, czujnik tętna Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 53 / 65

Wersja Android/wersja Android Wear Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 54 / 65

LG Watch, LG Watch R specyfikacja LG Watch: ˆ Android Wear 1.5 (Android 6.0.1) ˆ ekran prostokątny 1.65 cala 280x280 (ok. 240ppi) ˆ brak Wi-Fi, kompas ˆ brak przycisku fizycznego (reset w kopercie) LG Watch R: ˆ Android Wear 2.0 (Android 7.1.1) ˆ ekran okrągły 1.3 cala 320x320 (ok. 245ppi) ˆ barometr nowsze modele: własny moduł łączności komórkowej, zwiększona pamięć, GPS Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 55 / 65

Smartwatch projektowanie UI/UX wskaźnik postępu/pracy powolne łącze internetowe dostosowanie do kształtu i rozdzielczości ekranu uwzględnienie małych rozmiarów ekranu powiększanie widoku sterowanie za pomocą gestów powiększanie, przesuwanie, odświeżanie gest przesunięcia w prawo zarezerwowany dla systemu operacyjnego zakończenie aplikacji Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 56 / 65

Aplikacja Pogoda Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 57 / 65

Aplikacja Pogoda Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 58 / 65

Aplikacja Pogoda gesty ruch palca w górę, dół, w lewo przesuwanie wykresu gest mniejsze powrót wykresu do pozycji wyjściowej w poziomie gest koło odświeżenie wykresu gest długie przyciśnięcie (long tap) powiększenie/pomniejszenie wykresu Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 59 / 65

Progress indicator v FMX arc1. StartAngle :=0; arc1. EndAngle :=30; arc1. RotationAngle :=0; TAnimator. AnimateFloat ( arc1, EndAngle, arc1. EndAngle +180,10) ; TAnimator. AnimateFloat ( arc1, R o t a t i o n A n g l e,360*55,55) ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 60 / 65

Aplikacja Kalendarz Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 61 / 65

Aplikacja Kalendarz Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 62 / 65

Aplikacja Kalendarz gesty i nawigacja dostosowanie położenia i rozmiaru kontrolki kalendarza na podstawie nazwy modelu urządzenia (Build.MODEL) ruch palca w górę, dół zmiana miesiąca pola z lewej/prawej zmiana miesiąca listy wyboru miesięcy i lat częściowo przesłonięte analogiczny problem występuje w niektórych dialogach w systemie operacyjnym Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 63 / 65

FMX.Calendar.Style.pas procedure FillDaysOfPreviousMonth ; // FillDaysOfCurrentMonth, FillDaysOfNextMonth... i f DateToStr ( Item. Date ) = DateToStr ( System. DateUtils. Today ( ) ) then begin Item. TextSettings. Font. Style:= [ TFontStyle. fsbold ] ; Item. FontColor:=claGreen ; end e l s e begin Item. TextSettings. Font. Style:= [ ] ; Item. FontColor:= clapurple ; end ; i f DayOfWeek ( Item. Date ) = 1 then begin Item. StyledSettings:=Item. StyledSettings [ TStyledSetting. FontColor ] ; Item. FontColor:=claRed ; end ; Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 64 / 65

Dziękuję za uwagę pytania: zdzislaw@sroczynski.pl Zdzisław Sroczyński Smakołyki tworzenia aplikacji mobilnych w Delphi 65 / 65