Jak začít s programováním pro Android?

Eugene

Jak začít s programováním pro Android?
« kdy: 14. 07. 2015, 13:24:20 »
Zdravím,
chtěl bych začít vyvíjet aplikaci pro Android. Nemám s vývojem pro Android žádnou zkušenost (ale jinak mám zkušenosti s C/C++, PHP, Javascriptem). Chtěl bych se zeptat, jakou cestou vývoje jít, abych mohl vytvořit aplikaci která bude kompatibilní s co největším počtem zařízení a verzí Androidu (ideálně od staroučkého 2.3 po aktuální nejnovější verzi).
Je mi prakticky jedno, jaký jazyk, jaké vývojové prostředí apod, snad jen abych mohl vyvíjet na Linuxu (Debian). Můžete mě prosím nasměrovat případně k tomu přidat svoje připomínky?

Děkuji, Evžen - lovec žen


android

Re:Jak začít s programováním pro Android?
« Odpověď #1 kdy: 14. 07. 2015, 13:53:04 »

Karl

Re:Jak začít s programováním pro Android?
« Odpověď #2 kdy: 14. 07. 2015, 18:21:16 »
Ionic framework, napises v podstate web v javascriptu (angular). Pak to muzes preklopit klidne i na iOS(zalezi co delas, nektery veci jsou dost odlisny, neco chce jen male upravy). Neni problem si do toho cokoliv dopsat v jave.

Re:Jak začít s programováním pro Android?
« Odpověď #3 kdy: 14. 07. 2015, 19:00:58 »
Priamočiara a oficiálna cesta vedie cez syntax jazyka Java, vývoj v Android Studiu. Funguje to krížom cez platformy.

Spätnú kompatibilitu viete dosiahnuť pomocou Android Compatibility Library, ktorá poskytne nové vlastnosti i na starých platformách, mnoho vlastností je backportnutých až do Androidu 2.1 (API Level 7).


Ivoszz

Re:Jak začít s programováním pro Android?
« Odpověď #4 kdy: 14. 07. 2015, 19:17:06 »
Pokud pomineme klasické webové aplikace, které jsou nastylované tak, že vypadají jako aplikace pro telefon, existují v zásadě dvě cesty:
- klasické ("nativní") aplikace
- hybridní aplikace

Ta první cesta nemusí automaticky znamenat jen vývoj v Jave a v Android Studiu jak se píše výše (i když je to hlavní směr), ale existují i frameworky jako třeba Titanium, které umožňují psát nativní aplikace v JS.

Druhá cesta (hybridní aplikace) se snaží využít HTML/CSS/JS a nabídnout multiplatformní řešení. Napsaná aplikace je pak "zabalena" do odpovídajícího prostředí (Android, iOS, Win). Většina používaných frameworků vychází z Apache Cordova.

Díky flexibilitě a možnostem stylování nelze zpravidla poznat, zda aplikace je nativní nebo hybridní. Většinou se uvádí, že druhá cesta má strmější učící se křivku a vývoj je rychlejší (levnější), ale to může být hodně individuální a záleží to i na tvých zkušenostech. Oba typy aplikací lze umístit na Google Play.


Eugene

Re:Jak začít s programováním pro Android?
« Odpověď #5 kdy: 14. 07. 2015, 19:27:21 »
Frameworky, obzvlášť třeba v Javascriptu by pro mě byly velmi příjemné, nicméně chtěl bych mít možnost ve své aplikaci přistupovat na nejnižší možnou úroveň. Čím nízkoúrovňovější to bude, tím líp. Omlouvám se, že jsem to nenapsal už v prvním postu. Nicméně i tak jste mi pomohli,  až dojdu ze zaměstnání tak si vámi uvedené věci projdu.
Díky všem za vaše reakce.

Eugene

Re:Jak začít s programováním pro Android?
« Odpověď #6 kdy: 14. 07. 2015, 19:30:54 »
Ještě doplním - tu nízkoúrovňovost myslím to, že budu mít maximální možnosti v ovládání a přístupu ke zdrojům toho telefonu. Snad je to srozumitelné. Jsem programátor ale o mobilních aplikacích nevím vůbec nic, jaké tam jsou možnosti apod.

Kazatel

Re:Jak začít s programováním pro Android?
« Odpověď #7 kdy: 14. 07. 2015, 21:05:04 »
Doporučuji vyvoj mobilnich aplikaci pro Android na Coursere.

Jinak cesta pro nejnizsi uroven vede pres JRE + ADK nyni jiz jen v Android Studio (plugin pro Eclipse byl nedavno ukoncen).
Obecne si na zacatku reknes od jake verze Androidu chces vyvijet a tou budes take kompliovat. V Manifestu pak bude uvedena jako nejnizsi kompatibilni. Samozrejme se tim pripravujes o spoustu dalsich rozsireni, ktera vychazi v novych ADK...
Problemem je velka roztristenost at HW tak SW. Proti tomu ma iOS ohromnou vyhodu. Tady budes resit layout pro "miliardu" různých kombinací.

Kazatel

Re:Jak začít s programováním pro Android?
« Odpověď #8 kdy: 14. 07. 2015, 21:06:51 »
Jinak zpetna kompatibilita pro Android 2.3.x je krasna myslenka, ale casem te prejde (takhle sem uvazoval cca pred 1-2 lety). Nenizsi kompatibilitu bych drzel pro Jelly Bean.

Re:Jak začít s programováním pro Android?
« Odpověď #9 kdy: 14. 07. 2015, 21:51:42 »
Java + Android Studio, od verze 1.3, která je teď v alfa verzi, je v Android Studiu podporováno C++.

Aplikace buildi pro 4.0.0+ (sdk 14+), pro nižší verze to nemá cenu. Používej googlí support knihovny, dost ti pomůžou (je možné dostat Material design na < 5.0 zařízení). Na Courseru bych se vykašlal, imho mají pomalé tempo.

Re:Jak začít s programováním pro Android?
« Odpověď #10 kdy: 14. 07. 2015, 22:38:12 »
Čo sa týka nízkoúrovňovosti, Java úroveň a API v nej poskytuje takmer všetky mysliteľné kombinácie: máte k dispozícii senzory (GPS, fotoaparát, kameru...). Nižšia úroveň má zmysel primárne pri hrách, či videách, čo ale na začiatku robiť nebudete.

Ak o Androide neviete nič, kombinácia Javy je naozaj cesta istoty: máte k tomu dokumentáciu, máte k tomu knihy a máte k tomu Stack Overflow. Iné kombinácie povedú zrejme k tomu, že riešite nielen vývoj a API Androidu, ale navyše zápasíte vecami, ktoré ešte sú len vo vývoji.

S tou support knižnicou je ešte dôležitá vec: Android 2.x podporuje už len 8% zariadení. Ak začnete cieliť aplikáciu na Android 4.x, mnoho vecí sa zjednoduší.

Ak napíšete, akú aplikáciu chcete vyvíjať, dá sa poradiť lepšie.

Mimochodom, u nás na UPJŠ bežal kurz Androidu, z čoho vznikol učebný text a viacero aplikácií: http://ics.upjs.sk/~novotnyr/android/

JS

Re:Jak začít s programováním pro Android?
« Odpověď #11 kdy: 14. 07. 2015, 22:47:45 »
Ja bych zacal tim, ze si koupim zarizeni s Androidem. :-) Ale jinak IMHO to co rekli ostatni - Android Studio, zvolit si nejakou rozumnou nejnizsi verzi, treba tu 4, a maji dost slusnou dokumentaci i tutorialy ke vsemu (anglicky). Nizsi uroven nez Javu bych na zacatku neresil, ale ja jsem si s tim hral jen fakt malicko, protoze me kolega vyprovokoval napsat malou appku.

Re:Jak začít s programováním pro Android?
« Odpověď #12 kdy: 14. 07. 2015, 22:55:47 »
Zariadenie s Androidom nie je nutné. Emulátor je síce pomalý ako šľak, ale bezplatný emulátor Genymotion, ktorý je omnoho rýchlejší má bežať na Debiane/Ubuntu.

Lama

Re:Jak začít s programováním pro Android?
« Odpověď #13 kdy: 14. 07. 2015, 23:47:38 »
Na Youtube najdeš tutorialy i v češtině, stačí zadat něco jako programování Android:
https://www.youtube.com/user/pallasoftware/playlists
Akorát tam často používají ještě Eclipse. Ale to až tak nevadí, důležité jsou postupy, jazyk, principy. Kdybys neznal moc Javu, tak třeba tady:
https://www.youtube.com/user/BambooMachine/playlists

Kazatel

Re:Jak začít s programováním pro Android?
« Odpověď #14 kdy: 15. 07. 2015, 08:37:49 »
Na Youtube najdeš tutorialy i v češtině, stačí zadat něco jako programování Android:
https://www.youtube.com/user/pallasoftware/playlists
Akorát tam často používají ještě Eclipse. Ale to až tak nevadí, důležité jsou postupy, jazyk, principy. Kdybys neznal moc Javu, tak třeba tady:
https://www.youtube.com/user/BambooMachine/playlists

Než emulátor, tak spíš doporučuji připojit zařízení s androidem a povolit USB debugging. Ten vývoj je pak cca 10x rychlejší než s trápícím se emulátorem (alespoň dle mé zkušenosti na C2D i na i5-2xxx).