Zajišťujeme na míru kurzy a školení kybernetické bezpečnosti a informační bezpečnosti a to jak pro běžné uživatele, tak i pro IT odborníky a manažery.
Přesuňte starost o všechno IT na cloud pro podnikání od české společnosti Algotech s non-stop zákaznickou podporou.
Appmethod - Vývoj pro více platforem mobilních i stolních zařízení - III.Sponzorované odkazy: Dnes si v prostředí Appmethod vytvoříme jednoduchou mobilní aplikaci, která bude pracovat s relační databází InterBase a využijeme i GPS a vestavěný fotoaparát. Aplikace bude umět pořídit fotografii, přidá k ní informace o tom, kdy a kde byla pořízena a spolu s případnou poznámkou uživatele ji uloží do databáze. Uživateli také umožníme nasbíraná data procházet. Protože naše aplikace má především demonstrovat způsob, jakým se v prostředí Appmethod pracuje, omluvte prosím některá zjednodušení a případné prohřešky proti profesionálnímu návrhu. Prostředí Appmethod Nejdříve se pojďme seznámit s vývojovým prostředím, které se skládá z několika oken.
Teď již jen zbývá aplikaci „oživit“. Nejdříve zprovozníme připojení k databázovému stroji InterBase. Klikneme na komponentu „FDConnection“ , v inspektoru objektů vyhledáme vlastnost „DriverName“ a z výběrového boxu zvolíme hodnotu „IB“. Dále pro vlastnost „LoginPrompt“ zrušíme zatržení. Při přihlášení k databázi tak uživatel nebude muset zadávat uživatelské jméno a heslo. V sekci „Params“ zadáme hodnoty pro připojení k databázi. Cestu k datovému souboru, uživatelské jméno (sysdba) a heslo (masterkey). Nakonec nastavíme parametr „Active“ na hodnotu „True“. Po těchto úpravách vybereme základní formulář, který se aktuálně jmenuje „HeaderFooterwithNavigation“. V inspektoru objektů se přepneme na záložku „Events“ a vyhledáme událost „OnCreate“. Příkazy, které zde uvedeme, se provedou hned při startu aplikace. Událost již obsahuje řetězec „FormCreate“. Dvojklikem nás prostředí přenese do editoru kódu, do těla příslušné procedury. Zde je třeba doplnit následující kód: FDConnection1.Connected := False; {$IF DEFINED(IOS) or DEFINED(ANDROID)} FDConnection1.Params.Values['Database'] := TPath.Combine (TPath.GetDocumentsPath, 'IBDB.IB'); {$ENDIF} FDConnection1.Connected := True; První příkaz zajistí, abychom byli odpojeni od databáze a mohli tak měnit nastavení připojení. Následně nastavíme cestu k databázovému souboru. Protože je navigace v systému souboru rozdílná, použijeme podmíněnou kompilaci. Jiné nastavení tak bude platit pro Windows a jiné pro Android nebo iOS. Poslední příkaz provede připojení k databázovému stroji. V reálné aplikaci by bylo vhodné ošetřit připojení pomocí bloku „Try-Catch“. Protože jsme kód vložili do události „OnCreate“ hlavního formuláře, dojde k připojení k databázi hned po startu aplikace. Nyní klikneme PTM na komponentu „FDQuery1“ a z kontextové nabídky vybereme volbu „Query editor“. Zde zapíšeme dotaz pro získání dat z databázového stroje („select * from info;“), který bude vracet všechny záznamy z tabulky „info“ naší testovací DB a klikneme na tlačítko „Execute“. Ve spodní části dialogu je možné si zobrazit získaná data, strukturu tabulky nebo případná hlášení zaslaná databázovým strojem. Potvrdíme tlačítkem „OK“ a v inspektoru objektů nastavíme komponentě „FDQuery1“ parametr „Active“ na hodnotu „True“. Od této chvíle jsou data dostupná pro zobrazení v aplikaci. Pro zobrazení dat získaných z databázového stroje použijeme dříve vloženou komponentu „ListView“. V inspektoru objektů ji nastavíme parametr „Align“ na hodnotu „Client“. Prvek tak se tak bude automaticky přizpůsobovat velikosti obrazovky a zaplní dostupný prostor mezi horní a spodní lištou aplikace. Pro parametr „ItemApperance“ vybereme z nabídky možnost „ImageListItemBottomDetail“. Každá položka „ListView“ tak bude umět zobrazit grafiku, dvě textová pole a bude opatřena tlačítkem pro zobrazení detailu. Na komponentě pak kliknutím na PTM zobrazíme kontextovou nabídku a klikneme na „Bind Visually“. Otevře se vizuální editor, kde myší propojíme položky dotazu s prvky „ListView“ (viz obrázek níže). LiveBindings zajistí propojení mezi datovým zdrojem (komponenta „Query1“) a prvkem, který data zobrazuje („ListView1“). Jedná se skutečně o „živou“ vazbu, takže například při výběru položky v seznamu se zároveň posune ukazatel v datové sadě zpravované komponentou „Query1“. Bez kódování tak lze vytvářet i poměrně složité databázové aplikace. Další funkcí, kterou je třeba „naprogramovat“ je načtení snímku z fotoaparátu. Ten nebudeme do databáze ukládat rovnou, ale umožníme uživateli, aby si jej nejdříve prohlédl a uložil až v případě, kdy bude s kvalitou pořízené fotografie spokojen. Snímek tak nejprve načteme do komponenty „Image“, která poskytne uživateli náhled. Příslušný kód bude spuštěn levým tlačítkem („Button1“) na spodní liště aplikace. Tlačítko si přejmenujeme („Text“ = Foto), ukotvíme jej k levému spodnímu rohu aplikace („Anchors“, „akLeft“=True, „akBottom“=True) a dvojklikem myši se přeneseme do editoru. Bez ohledu na velikost, nebo orientaci obrazovky koncového zařízení tak bude prvek na „správném“ místě. Zde doplníme následující kód: CameraComponent1.Kind := FMX.Media.TCameraKind.BackCamera; CameraComponent1.Active := True; CameraComponent1.SampleBufferToBitmap(Image1.Bitmap, True); Image1.Visible := True; První řádek kódu určuje, že bude použit zadní fotoaparát přístroje. Druhý příkaz fotoaparát aktivuje a třetí načte snímek do komponenty „Image“. Poslední řádek kódu získanou fotografii zobrazí. Získání GPS souřadnic Spolu s pořízeným snímkem bychom do databáze rádi uložili také informaci o tom, kde byl pořízen. Pro tento účel si vytvoříme proměnnou typu string. Do sekce „var“ v kódu přidáme zápis „lokace: String;“. Do události „FormCreate“ přidáme za připojení k databázi aktivaci GPS senzoru (LocationSensor1.Active := True;). Nakonec vybereme komponentu „LocationSensor“a v inspektoru objektů v záložce „Events“ dvakrát klikneme na událost „OnLocationChanged“. V editoru pak doplníme následující kód: lokace := NewLocation.Latitude.ToString + ', ' + NewLocation.Longitude.ToString; Při každé změně pozice zařízení tak bude do proměnné „lokace“ uložena aktuální zeměpisná šířka a délka. Uložení dat do databáze Pro uložení získaných dat nejdříve nastavíme komponentu „FDQuery2“. Za použití stejného postupu jako u „FDQuery1“ otevřeme „Query editor“ a vložíme SQL pro aktualizaci tabulky „INFO“: Insert into POZNAMKA(ID, DATUM, OBR) values(:id, :dt, :obr); Přepneme se do záložky „Parameters“, kde se automaticky načetly parametry vloženého dotazu. Pro každý z parametrů nastavíme typ „ptInput“ (jedná se o vstupní parametry) a odpovídající datový typ (pro „obr“ ftBlob, pro „meta“ a „pozn “ftString). s: TStream; begin s := TStream.Create; FDQuery2.Close; Image1.Bitmap.SaveToStream(s); FDQuery2.ParamByName('obr').LoadFromStream(s, ftBlob); FDQuery2.ParamByName('meta').AsString := lokace; FDQuery2.ParamByName('pozn').AsString := edit1.Text; FDQuery2.ExecSQL; FDQuery1.Refresh; LinkFillControlToField1.BindList.FillList; end; Jak je patrné, kód deaktivuje komponentu „FDQuery2“, aby bylo možné měnit její nastavení. Poté přiřadíme jednotlivým vstupním parametrům dotazu příslušné hodnoty. Obrázek načteme z komponenty „Image1“, GPS souřadnice z proměnné „lokace“ a uživatelem zadanou poznámku z komponenty „Edit1“. Za pomoci příkazu „ExecSQL“ spustíme dříve definovaný příkaz pro vložení záznamu. Aby se přidaný záznam ihned zobrazil i v komponentě „ListView“, aktualizujeme jeho datovou sadu a také LiveBindings propojení. Pro lepší vzhled aplikace ještě můžeme na první kartě upravit pozice komponent „Image1“ a „Edit1“ a provést jejich ukotvení k některé z hran obrazovky. Tím je naše aplikace hotova. I když syntaktické chyby hlídá editor již v průběhu zápisu kódu a navíc většinu příkazů i sám doplňuje, doporučuji aplikaci nejdříve spustit v prostředí Windows (klávesa „F9“). Bohužel tak zpravidla nelze ověřit funkce specifické pro mobilní zařízení jako je námi použitá komunikace s GPS modulem nebo práci s fotoaparátem. Nasazení aplikace na mobilní zařízení Nasazení mobilních aplikací se ve většině případů realizuje prostřednictvím aplikačního obchodu pro danou cílovou platformu. Společnosti Apple i Google na svých stránkách velmi podrobně popisují, jaké informace je třeba poskytnout a jaké jsou podmínky pro uveřejnění aplikace. Z pohledu Apmethod však stojí za zmínku, že aplikaci můžeme nasadit i přímo na připojené mobilní zařízení a ihned ji otestovat. Spolu s aplikací je často třeba distribuovat mnoho dalších souborů. V našem případě to je například databázový server InterBase, licenční informace a pochopitelně vlastní data. Pro tyto účely nabízí Appmethod pomocnou ruku ve formě nástroje „Deployment Manager“ (hlavní nabídka „Project/Deployment“).
Sponzorované odkazy: Copyright © Palmserver.cz Všechna práva vyhrazena.
Publikováno: 23.12, 2014 Autor: Josef Tkáč Téma: PR články
|
Související odkazy· Další články od autora Josef Tkáč Nejčtenější článek na téma PR články: Nový vzhled Palmserveru Hodnocení článkuÚčastníků: 1 Možnosti |
"Appmethod - Vývoj pro více platforem mobilních i stolních zařízení - III." | Přihlásit/Registrovat | 5 komentářů | Vyhledávání v diskusi |
Komentáře vlastní jejich autoři. Neodpovídáme za jejich obsah. |
yezi20160620@163.com (Hodnocení: 0) Od: Anonym - Čtvrtek, 16.11. 2017 - 10:00:09 |
fitflops [www.fitflops.cc] golden goose sneakers [www.goldengoose.us.com] michael kors factory outlet [www.michaelkors-factoryoutlet.com.co] longchamp bags [www.longchamp-bags.us.org] yeezy boost [www.yeezyboost.com.co] yeezy b Přečíst zbytek komentáře... |
grooving inserts manufacturers (Hodnocení: 0) Od: Anonym - Středa, 22.03. 2023 - 09:27:30 |
Welcome to our website! You can have a good selection of many different brands on our site, such as products. Even though they are cheap, they carbide grooving inserts had made by carbide drilling inserts the best materials and the best quality. You can insert wnmg have a strong sale-support here! It is fly cutter inserts free order worldwide! More turning inserts price buy more discounts! Just come and buy them!Every website of us built its reputation not only on the best quality of product For Sale, but also on its outstanding service. |
Hair Jewelry (Hodnocení: 0) Od: Anonym - Neděle, 23.04. 2023 - 07:34:45 |
Replica Clothing Replica T-shirts replica louis vuitton sandals replica givenchy sneakers replica fendi sneakers replica gucci sandals replica gucci wallets replica t-shirt |
Milling Cutter Cnc (Hodnocení: 0) Od: Anonym - Pondělí, 06.11. 2023 - 05:36:56 |
Those days of purchasing WNMG Inserts costly Wholesale Carbide Inserts genuine carbide WCMT Insert inserts have faded TPMT Inserts within the wind and that is why SNMM Inserts our high-end CNMG Inserts products best carbide BTA Deep Hole Inserts inserts become more popular.You PVD Coating Inserts Drilling Deep Hole Inserts Přečíst zbytek komentáře... |
replica christian louboutin sneakers (Hodnocení: 0) Od: Anonym - Pátek, 22.12. 2023 - 09:29:35 |
We replica louis vuitton womens bag offer our clients an Replica Longines Watches extensive Replica Armani Shoes selection of styles. Chopard Replica Watches Our replica Replica Ferragamo shoes Replica Richard Mille Watches replica Tag Heuer Replica Watches products will make you True Religion Women Jeans Replica Miskeen Shoes feel Přečíst zbytek komentáře... |