App tethering

vložil Radek Červinka 24. dubna 2014 00:01

App tethering je možná nejzajímavější novinkou v Delphi XE6 (v C++Builderu je to samozřejmě kompilace pro Android včetně ARC) - no možná ještě integrace cloud služeb (BaaS). Podpora tetheringu je implementována v RTL a je tím pádem dostupná jak pro VCL, tak FMX aplikace a jak pro desktop tak pro mobily. Podpora je ve všech edicích (pro mobilní vývoj je třeba podporu pro mobily).

Co je to tethering? Jedná se o komponenty, které umožňují propojení aplikací i napříč platformami v libovolné kombinaci, tj. VCL x VCL, VCL x FMX, VCL x iOS a Android, iOS x Android, OSX x Windows - prostě všechny kombinace všech platforem.

V této verzi je komunikace přes HTTP a REST, spojení není šifrované, ale např. pokud máte zabezpečené Wifi tak je to jedno, předpokládá se stejný subnet. Lze vytvořit alternativní providery, očekává se podpora Bluetooth.

Přenášet lze data (řetězce, datové typy, JSON), streamy nebo spouštět akce (TAction). Kromě toho je implementována možnost vyhledání komunikačních partnerů.

Použití je všestranné: např. čtení čárových kódu a jejich přenos do hlavní aplikace, ovládání mobilem nějaké služby, komunikace mezi dvěma VCL aplikacemi, případně instancemi mezi různými počítači atd.

Jádrem jsou dvě komponenty TTetheringManager a TTetheringAppProfile.

Jako programátor se můžete připojit programově nebo automaticky s tím, že specifikujete skupinu (v TTetheringAppProfile) a případně heslo což znemožní připojení nežádoucích aplikací. Pokud u instance TTetheringManager nastavíte AutoConnect na True (platí pro každou požadovanou aplikaci) tak se aplikace pokusí spojit. V případě manuálního připojení volejte TTetheringManager.DiscoverManagers a v OnEndManagersDiscovery si můžete přečíst seznam - více ms-help://embarcadero.rs_xe6/rad/Connecting_to_Remote_Applications_Using_App_Tethering.html.

Pokud máte propojen TetheringManager a nějaký TetheringAppProfile a bylo provedeno párování (tj. napsán ten jeden řádek kódu), můžete si začít povídat. Např. můžete sdílet nějaké

Resource

   TetheringAppProfile1.Resources.FindByName('Pokus').Value := 'něco';
a na druhé straně 
  ShowMessage(TetheringAppProfile1.GetRemoteResourceValue
    (TetheringManager1.RemoteProfiles[0], 'Pokus').ToJsonString);

Property ToJsonString je jen samozřejmě pro ilustraci.

Nebo spouštět

Akce

ms-help://embarcadero.rs_xe6/rad/Sharing_and_Running_Actions_on_Remote_Applications_Using_App_Tethering.html

Můžete sdílet akce nebo je jen spouštět podle jména. Mně se líbí spíše druhá varianta.

V TetheringAppProfile1 je seznam vašich akcí, které lze vzdáleně spouštět. Vlastní spuštění provede

  TetheringAppProfile1.RunRemoteAction(TetheringManager1.RemoteProfiles[0], 'actHello');

Data

Nebo prostě můžete posílat data:

 TetheringAppProfile1.SendString(TetheringManager1.RemoteProfiles[0],
                                 'editovaný text', Edit1.Text);

Na druhé straně jsou pak vyvolány události OnAcceptResource a OnResourceReceived.

Tohle je ale jen zlomek z toho co tethering umí.

Tagy:

Novinky v Delphi

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců