Rady a tipy pro vyvoj[návod] Naprogramujte si android aplikaci bez znalosti Javy

Moderátor: mArtinko5MB

Odpovědět

Autor tohoto vlákna
Pablo74
Stálý androiďák
Příspěvky: 52
Registrován: sob 09. srp 2014 21:04:12
Reputace: 11
Typ mobilu / ROM: GT-N7000

[návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od Pablo74 » ned 22. bře 2015 16:49:30

Návod není tutoriálem krok-za-krokem, ukazuje cestu po které se lze vydat. Nepokrývá úplně vše s čím se lze při tomto postupu setkat.

Nativní a hybridní aplikace
Všeobecně známým jazykem pro Android je Java; ovšem android aplikace lze úspěšně vyvíjet jen se znalostí HTML + CSS + Javascript.

Android aplikace lze rozdělit na nativní (napsány v Javě) a hybridní (HTML, CSS, Javascript + převod do jako-nativní podoby). Hybridní aplikace sice nemají takový výpočetní výkon jako ty nativní, v praxi to ale nijak vadit nemusí.

Koncepce
Nejdříve vytvoříme aplikaci ve formě webové stránky, použijeme HTML a CSS. Styly lze použít vlastní nebo využít některou z existujících knihoven, např. Bootstrap, Onsen UI, Ionic. Logiku (chování aplikace) zajistíme pomocí Javascriptu. Dá se použít "klasický, holý" Javascript nebo některou z knihoven, např. React, Angular a další.

Naše budoucí aplikace bude (pro zjednodušení) ve třech souborech, např. index.htm, style.css, app.js

Po odladění aplikace v prohlížeči na PC (IE, FF, Opera, Chrome) pak aplikaci převedeme do apk balíčku, aby ji bylo možné nainstalovat na telefon či tablet s Androidem.

Vývojové prostředí
Jistě lze psát celou aplikaci i v Poznámkovém bloku, ale není to šťastné řešení. Existují výborná vývojová prostředí přinášející spoustu výhod, namátkou zvýrazňování kódu, upozornění na (některé) chyby atd. Za všechny zmíním NetBeans a Intel XDK.

Postupně tedy píšeme kód (index.htm, style.css, app.js) a testujeme na PC v prohlížeči. Až jsme s výsledkem spokojeni nebo potřebujeme aplikaci reálně vyzkoušet, přeložíme ji do apk.

Překlad do apk
a) jednoduchý způsob
Pro začátek doporučuji použít služeb Intelu, aplikaci vyvíjet v prostředí Intel XDK a pomocí této služby ji také přeložit do podoby apk.

Potřebujete-li, jsou k dispozici kvalitní tutoriály, které vás provedou, např. https://software.intel.com/en-us/xdk/do ... d-tutorial a https://www.youtube.com/watch?v=p0Hi5KLZtYw

Důležitým pojmem je Cordova, což je "platforma" umožňující převod naší aplikace HTML+CSS+JS do apk. Při překladu tedy zvolit možnost Cordova.

b) složitější způsob
Nakonfigurovat si NetBeans, Ant, git, Cordova a všechny cesty a systémové proměnné tak, aby spolu vše fungovalo. Začít se dá např. od tohoto návodu https://netbeans.org/kb/docs/webclient/ ... arted.html

V obou případech (a, b) bude výsledkem jeden soubor s příponou apk, což je spustitelná android aplikace.

Uložení aplikace do telefonu
Aplikace se normálně instalují přes Google Play. Existuje i další možnost, povolit v telefonu instalování z neznámých zdrojů, bývá k nalezení v Menu - Nastavení - Zabezpečení - Neznámé zdroje.
Pak do telefonu zkopírujeme náš výsledný soubor s příponou apk a přes správce souborů spustíme jeho instalaci.

Vzhled a chování aplikace
Pokud jsme použili vlastní CSS styly, zřejmě nedosáhneme uspokojivého estetického výsledku. Ovšem při použití některého z CSS frameworků, např. již zmíněný Onsen UI, Bootstrap, Ionic může naše aplikace vypadat velice dobře. Stejně tak použití JS frameworků jako React či Angular umožní elegantní a přehledný kód.

Využití funkcí telefonu
Mohlo by se zdát, že kombinací HTML+CSS+JS dokážeme naprogramovat obyčejnou aplikaci typu trochu chytřejší webová stránka. Již zmíněná Cordova však podporuje pluginy, pomocí kterých můžeme jednoduše v naší aplikaci zpřístupnit funkce telefonu, namátkou telefonní seznam, foťák, čidla atd.

Finální úpravy
Hodí se dotáhnout aplikaci do konce. K tomu patří vlastní ikona, např. pomocí webové služby http://romannurik.github.io/AndroidAsse ... ncher.html, dále pak splashscreen (spouštěcí obrazovka) pomocí webové služby http://romannurik.github.io/AndroidAsse ... tches.html.

Máme-li zájem aplikaci umístit na Google Play, bude nutné ji podepsat a (pokud není), zarovnat. Dá se vyjít např. z tohoto návodu http://support.ludei.com/hc/en-us/artic ... ndroid-APK

Umístění na Google Play
Máme-li aplikaci přeloženou (apk), podepsanou a zarovnanou, pak již nic nebrání tomu ji publikovat na Google Play. Zaregistrujeme se jako vývojář, zaplatíme jednorázový poplatek 25 dolarů, vyplníme (celkem podrobný) záznam o přidávané aplikaci; název, krátký popis, dlouhý popis, ikonu, hlavní obrazovku, náhledy z telefonu (a příp. tabletu) a pár dalších položek.


Uživatelský avatar

mka
Robot
Příspěvky: 1206
Registrován: pát 29. dub 2011 10:55:05
Reputace: 14
Typ mobilu / ROM: kde co
Kontaktovat uživatele:

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od mka » ned 22. bře 2015 17:48:23

A k čemu to má být, prosím pěkně, dobré, mohu-li se tedy optat?
Konvertorů "z jednoho kódu do druhého" jsou mraky... A, jak všichni víme, androidí aplikace lze psát třeba i v Basicu :-)
Nepište mi PM, pokud to není vyloženě soukromé.
Nevěřte kdejaké hlouposti, byť by byla předkládána jako svatá pravda nejsvětější.


Autor tohoto vlákna
Pablo74
Stálý androiďák
Příspěvky: 52
Registrován: sob 09. srp 2014 21:04:12
Reputace: 11
Typ mobilu / ROM: GT-N7000

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od Pablo74 » ned 22. bře 2015 18:09:37

@mka
Jak všichni víme... to je právě to. Zdaleka ne všichni mají představu v čem lze programovat pro Android. Začátečník se většinou dozví: Java a tím to hasne.
Takže můj příspěvek beru jako osvětu pro začátečníky a mírně pokročilé.

@ všem...
Dostal jsem přes soukromou zprávu požadavek na ukázku reálných aplikací, které jsou vytvořeny mnou popsaným způsobem. Nuže dobrá...

1) Boolean lab
http://androidforum.cz/boolean-lab-vzd- ... 58046.html nebo odkaz na Google Play

2) Chemické názvosloví
http://androidforum.cz/chemicke-nazvosl ... 58442.html nebo odkaz na Google Play

3) Obvod, obsah, objem
http://androidforum.cz/obvod-obsah-obje ... 64615.html nebo odkaz na Google Play

Uživatelský avatar

mka
Robot
Příspěvky: 1206
Registrován: pát 29. dub 2011 10:55:05
Reputace: 14
Typ mobilu / ROM: kde co
Kontaktovat uživatele:

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od mka » pon 23. bře 2015 0:51:41

Oh so...
Nepište mi PM, pokud to není vyloženě soukromé.
Nevěřte kdejaké hlouposti, byť by byla předkládána jako svatá pravda nejsvětější.


Autor tohoto vlákna
Pablo74
Stálý androiďák
Příspěvky: 52
Registrován: sob 09. srp 2014 21:04:12
Reputace: 11
Typ mobilu / ROM: GT-N7000

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od Pablo74 » čtv 03. bře 2016 21:36:41

K tomuto tématu - hybridní mobilní aplikace - jsem publikoval online kurz, koncipovaný jako technický úvod "jak na to". Týká se vývojového prostředí Intel XDK a frameworku (knihovny) Ionic.

Kurz je česky a zdarma: Mobilní aplikace: Intel XDK + Ionic, technický úvod


Uživatelský avatar

mka
Robot
Příspěvky: 1206
Registrován: pát 29. dub 2011 10:55:05
Reputace: 14
Typ mobilu / ROM: kde co
Kontaktovat uživatele:

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od mka » pát 04. bře 2016 9:24:04

Hele, nemyslíš, že tohle "dělání hybridních aplikací" by chtělo umístit někam jinam? Tady se pohybují drtivou většinou "programátoři", a ty s nějakým bastlením asi nezaujmeš...
Nepište mi PM, pokud to není vyloženě soukromé.
Nevěřte kdejaké hlouposti, byť by byla předkládána jako svatá pravda nejsvětější.


Autor tohoto vlákna
Pablo74
Stálý androiďák
Příspěvky: 52
Registrován: sob 09. srp 2014 21:04:12
Reputace: 11
Typ mobilu / ROM: GT-N7000

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od Pablo74 » pát 04. bře 2016 22:09:13

@mka

Jsme v sekci Vývoj aplikací - Rady a tipy pro vývoj. Nikde jsem si nevšiml omezení či zaměření na nativní aplikace. Obsahově to sem zapadá.

Nevidím důvod proč na fóru upřednostnit nativní aplikace před hybridními.

Uživatelský avatar

mka
Robot
Příspěvky: 1206
Registrován: pát 29. dub 2011 10:55:05
Reputace: 14
Typ mobilu / ROM: kde co
Kontaktovat uživatele:

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od mka » pát 04. bře 2016 23:57:48

Jasně. Je to věc názoru a v tomto se evidentně neshodnem...
Nepište mi PM, pokud to není vyloženě soukromé.
Nevěřte kdejaké hlouposti, byť by byla předkládána jako svatá pravda nejsvětější.


mlendl
Nové Androidě
Příspěvky: 5
Registrován: stř 11. úno 2015 5:15:26
Reputace: 0
Typ mobilu / ROM: Huawei P7

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od mlendl » úte 12. dub 2016 10:09:48

Svojho casu som toto skusal, vtedy sa to volalo tusim PhoneGap, ale moj zaver nebol moc pozitivny. Vysledkom bola dost pomala tazkopadna aplikacia, ale je mozne, ze chyba bola aj na mojej strane a tiez je mozne, ze dnes existuje aj lepsi vyvojarsky framework. Pocul som dokonca o jednej znamej banke, ktora takto riesi svoje financne aplikacie.

V kazdom pripade treba povedat, ze tymto sposobom sa vzdavam moznosti pouzivat androidove GUI, co je jeden z hlavnych dovodov programovania aplikacie oproti tvorbe responzivnej web stranky. Dalsim dovodom je vyuzivanie systemocych prostriedkov Androidu. Toto je ciastocne mozne riesit v tychto frameworkoch, daju sa pouzit nejakym jednoduchym sposobom HW prostriedky napr. GPS, ale pochybujem, ze sa daju programovar servicy, pouzivat broaccast eventy a pod.


Domenikoss
Nové Androidě
Příspěvky: 1
Registrován: stř 26. črc 2017 19:27:13
Reputace: 0

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od Domenikoss » stř 26. črc 2017 19:28:57

Jak by to vypadalo s Php a mysql? Dalo by se to taky nejak zakomponovat? Dekuji za odpoved.


Autor tohoto vlákna
Pablo74
Stálý androiďák
Příspěvky: 52
Registrován: sob 09. srp 2014 21:04:12
Reputace: 11
Typ mobilu / ROM: GT-N7000

Re: [návod] Naprogramujte si android aplikaci bez znalosti Javy

Příspěvek od Pablo74 » sob 05. srp 2017 18:50:23

@Domenikoss

Obecně se dají volat externí funkce běžící, ale s PHP a MySQL nemám zkušenosti jak to kombinovat.
Dost se používá node.js a Firebase; nebo služby Amazon AWS.

Odpovědět

Zpět na „Rady a tipy pro vyvoj“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host