Geek tričko zdarma Python týden
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python

Diskuze: Lamw: Lazarus Android Module Wizard

Aktivity (1)
Avatar
Janusz Chmiel:26.3.2018 22:59

Tento projekt se neustále rozvíjí. Domnívám se, že pokud jeho vývoj nebude zastaven, může významnou měrou změnit Lazarus v plnohodnotný vývojářský produkt pro programování aplikací pro operační systém Google Android. Valnou měrou k tomu přispívá zkutečnost, že tým vývojářů tohoto instalovatelného balíčku pro Lazarus myslel na to, aby vývojář mohl používat Form designer pro návrh formulářů. Navíc odpadá dřívější nutnost psát ručně inicializační Java kód, který zajišťoval provázanost se spustitelným kódem v .so knihovnách, které jsou součástí .apk balíčku. Další výhodou je možnost používat opravdu nativní kód ve Vaši aplikaci. Kdo má rád velmi rychlá GUI, může zkusit i OPEN GL příklady, které jsou součástí .zip archivu. Ti, kteří by rádi využili toto prostředí k návrhu pro těžce zrakově znevýhodněné uživatele mohu toto prostředí směle doporučit. Pak ale není možné užívat OPEN GL, protože Talkback a jiné odečítače nevyčtou nic. V adresáři GUI je mnoho fungujících příkladů, jak ppsát GUI i bez Open GL. Projekt je dostupný zde:
https://github.com/…modulewizard
Přeji všem kteří se rozhodnou vyzkoušet tento projekt, aby si v něm nalezli něco pozitivního, co jejich práci programátora obohatí.

 
Odpovědět 26.3.2018 22:59
Avatar
Janusz Chmiel:16. března 19:21

Pěkný večer milí vývojáři,
Hlásím se opět po delším čase, obohacen o nové zkušenosti při práci s projektem LAMW. Stále častěji narážím na nesnáz danou tím, že Android opatruje velmi intenzivně uživatelovu baterii. To má bohužel neblahý dopad na všechny vývojáře, kteří z rozmanitých příčin potřebují, aby jejich programový kód vykonával činnost, která má být realizována v okamžiku, kdy je zařízení bočním vypínačem uspáno. Displej z hasne. A právě v okamžiku zhasnutí displeje se dějí věci. Začnou odpočítávat časovače. Platí, že pokud v okamžiku stisku bočního tlačítka na přístroji je okno aktivní aplikace v popředí, Android jeho proces nechává jakž takž v klidu. Ale běda, pokud před stisknutím tlačítka na přístroji aplikaci opustíte. Na pozadí pracuje, ale Vy třeba spustíte launcher a objeví se plocha. A právě s tímto mám zejména v Pascalu nesnáze. A tak přemýšlím, jak docílit toho, aby bylo možné nechat aplikaci pracovat na pozadí bez aktivního síťového adaptéru a se zhasnutým displejem. A to i v situaci, kdy zařízení v klidu leží na stole a senzory pro detekci pohybu nepracují.
Kdy se problém projeví nejbouřlivěji je situace, kdy Pascal využívá C++ nativní kód .so knihovny, která je používána díky skvělé programové jednotce Cthreads. Dávám proto přímý odkaz na .zip archiv s projektem jehož předností je to, že autor přehrávače umístil v .zip archivu podepsaný .apk balíček v nedebug ale v release formě.
https://github.com/…reamPlayback

Kdo z Vás by byl ochoten přemýšlet, na které místo programového kódu tohoto malého přehrávače by bylo zapotřebí vložit určité řádky programového kódu, které by zabránily tomu, aby po stisku jednoho ze dvou tlačítek pro přehrávání živého vysílání nedošlo k automatickému umlčení přehrávání vysílání v okamžiku, kdy zhasne buď automaticky nebo po uživatelově zásahu displej. A USB kabel s EL proudem není připojen k mini USB konektoru. Zařízení leží déle než 1 hodinu v klidu.
A Lamwstreamplayback je v pozadí TJ: Přehrávač hraje, ale před stiskem vypínače je aktivní třeba právě libovolný launcher.
Co s tím? Pomohl by nějaký nekonečný cyklus na bázi Loop příkazu na vhodném místě?
Ale kam takový řádek vložit? Přímo do programové jednotky bass.pas? Přímo do unit1.pas?
Nebo to chce přidat potřebný Java kód, jenž aktivuje Wakelock, aby nebylo jen přítomno oprávnění pro jeho používání v androidmanifes­t.xml, ale aby byl wakelock doopravdy využíván?
Nebo je problém zapříčiněn faktem, že výsledná aplikace kombinuje Java kód s C++ kódem a proto se k takovémuto kódu Dalwik nebo jiné části Androidu takto chovají?
Jak zajistit, aby případná modifikace byla kompatibilní s Androidem 4.1 až po verzi 9?
Budu se těšit na případné návrhy.

 
Nahoru Odpovědět 16. března 19:21
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.