Komentáře k článku
Vyvíjíme pro Android: První krůčky

Zajímalo vás někdy, jakou má androidí aplikace architekturu? Co to je activity a co view? Jak vytvořit uživatelské rozhraní a jak v Androidu fungují identifikátory? Chcete vědět, jak vypadá androidí manifest? Pokud ano, tak jste tu správně, neboť o tom si budeme povídat ve dnešním článku.
Potreba nativnych aplikacii
Zdravim,
chcel by som sa opytat, ze aky je dovod vyvyjat aplikacie pre android(a i zariadenia) nativne. Ked v dnesnej dobe HTML5 a SensaTouch frameworku sa da pekne spravit online aplikacia, ktora sa sprava ako nativna – dokonca by vedela fungovat aj offline.
Aj tak takmer vsetky apps potrebuju internetove spojenie….
Pri hrach to samozrejme chapem…
No Flame pls. naozaj ma zaujimaju dovody, ze preco robit aplikaciu radsej nativne a 3 – krat pre kazdu platformu, ako ju spravit raz, pouzit browser a funkcnu pre vsetky platformy.
Re: Potreba nativnych aplikacii
Protoze ji „nespravite raz“ ale stejne ji musite, pokud jde o cokoli jenom trochu slozitejsiho, doladovat pro kazdou platformu zvlast. Nemluvě o integraci se systémem a jeho službami.
Slavny priklad HTML5 aplikace jsou Financial Times (http://apps.ft.com/): na iPadu je aplikace je konečně po roce provozu kontinuálního vývoje skoro stejně robusní jako předchozí nativní aplikace (i když skrolování články občas hezky drhne), po znovuotevření stále nedokáže dojet v článku tam kde jste přestali číst, vývoj na Android stál navrch polovic ceny verze pro iPad která byla první.
Citát „In addition, HTML5 is still a long way from delivering app-like experiences, and requires expensive tweaking. Assanka, which made the popular Financial Times HTML5 app for iPad and Android tablets, said it took 24 man months (an estimated. US$400,000 cost) to create the iPad version of its HTML5 app, and another 12 man months to port the same app to Android.“
Ty časy jsou srovnatelné, spíš delší než pokud by ta aplikace byla vyvíjená jako nativní.
Mimochodem, FT nakonec Assanka koupili a vyvíjejí inhouse.
Re: Potreba nativnych aplikacii
Aj tak takmer vsetky apps potrebuju internetove spojenie….
no tak to asi ne…
Re: Potreba nativnych aplikacii
neviem si predstavit ako by aplikacie za pomoci HTML5 ziskali pristup ku vsetkym senzorom zariadenia.
Re: Potreba nativnych aplikacii
Tak u senzorů zrovna problém není, tam ty jednotlivé „balicí“ systémy nabízí rozhraní, která pak zpřístupní JavaScriptu té dané aplikace.
Re: Potreba nativnych aplikacii
Neznamená to ale že jde nakonec o nativní aplikaci (jestli správně rozumím co myslíte těmi „balicími“ systémy – něco jak Phone Gap?) která kombinuje zejména nevýhody obou přístupů: distribuce jako nativní aplikace, a interface nezapadající do UI/UX platformy a využívající zlomku síly a optimalizace nativních toolkitů…
Re: Potreba nativnych aplikacii
Záleží na tom, co děláš za aplikaci. Jednodušší mobilní webová stránka pro servery typu Zdroják určitě stačí (ačkoliv já osobně mám radši nativní androidí aplikace jako pro iDnes, tak pro Svět Androida). Pak jsou aplikace, které lze naprogramovat jako webové, ale je to mnohem složitější, než dělat třikrát to stejné pro různé platformy. A nakonec jsou aplikace, které webově vůbec udělat nejde. Jde o aplikace, které potřebují přístup k foťáku, pracovat s kontakty a tak podobně. O hrách už vůbec nemluvím, optimalizace jsou u nativního kódu někde jinde.
A pak je ještě druhá věc, a to jednotnost aplikací v rámci operačního systému. Ať už vzhledová (pro iOS jsou jiné designové principy než pro Android nebo Windows Phone) nebo filozofická (na Androidu se mohou aplikace navzájem spouštět pomocí tzv. intentů – jedna řekne, že chce, aby někdo pořídil fotku. Operační systém to zpracuje, v případě více možností dá uživateli vybrat a výsledek předá původní aplikaci. Abych se přiznal, vůbec netuším, jak je to u iOS nebo WP, ale předpokládám, že to totožné nebude.
Re: Potreba nativnych aplikacii
Problém je také v monetizaci online aplikací. Zatímco pro nativní aplikace jsou dostupné různé obchody a platby jsou pro uživatele jednoduché (včetně mikrotransakcí v rámci aplikací), u online aplikací zatím nic takového, pokud se nepletu, neexistuje.
Re: Potreba nativnych aplikacii
No ale HTML5 apku můžeš zabalit například pomocí PhoneGap a máš s ní „nativní“ – tedy můžeš jí dát na market a monetizovat. Také se pomocí něj dá přistupovat k foťáku, některým senzorům a dalšímu.
Podle mě za pár let bude HTML5 hlavní cross platform vývojové prostředí. Ale zatím ještě ne. A ani pak to nebude tak, že se ta apka bez úprav nahraje na 10 různých systémů. Spíš bude stejný základ a k němu různé frontendy.
Re: Potreba nativnych aplikacii
No pokial bude v html5 standartne api pre gps, bluetooth, serial port, kontakty tak bude stacit html5
zbytecne id?
Ahoj. Nastavení id u toho EditTextu je tam „zbytečně“, nebo mi něco uniká?
Re: zbytecne id?
Ahoj, pro dnešek ano, ale hned příště se nám bude hodit. Uznávám, je to možná trochu matoucí.
Re: zbytecne id?
Přesněji řečeno, je tam proto, abychom si mohli o identifikátorech něco povědět. Ale z praktického hlediska by aplikace stejně fungovala i bez něj.
Re: zbytecne id?
Díki. Je mi to jasné.
Re: zbytecne id?
pre aktualny priklad je zbytocne ale pokial budes chciet nasetovat nejake listenery tak budes potrebovat prave cez referenciu R.id.xx ziskat objekt a pridelit mu listener, pripadne zmazat obsah ET (samozrejme tych dovodov preco to tam dat je viacero napr. aj stylovanie)
Re: Vyvíjíme pro Android: První krůčky
Ahoj, v prvom rade by som chcel poďakovať za fajn články, ich tvorba určite zabrala veľa času, na druhú stranu si s nimi potešil veľa začínajúcich Android developerov. Chcel by som sa spýtať, či bude nejaký článok orientovaný aj na SQL Lite a základy práce s ňou.
ďakujem
Re: Vyvíjíme pro Android: První krůčky
Děkuju za pochvalu :). Databázi a obecně ukládání dat se rozhodně věnovat budeme, kdy přesně, to ještě nevím.
V příštím díle se podíváme na délkové jednotky, suroviny, intenty a základní práci s různými view. V dalším díle, který bude spíše praktický, si představíme důležitá view, podíváme se, co se s nimi dá dělat, jaké Layouty se dají použít atd. Asi si k tomu představíme Fragmenty.
Dál nemám ještě úplně přesně jasno, jak to půjde po sobě, každopádně se kromě ukládání dat, které je docela důležité a tedy bude mít přednost, určitě podíváme na používání dialogů, preference, adaptery, vytvoříme si widget, možná i content provider, budeme získávat data ze senzorů, aplikaci si nastylujeme a nakonec ji zabalíme a nahrajeme na Play Store.
To, co jsem napsal, ale není striktně daný obsah. Možná něco nakonec vypadne a něco jiného přibude. A vzhledem k tomu, že seriál píšu pro vás čtenáře, jsem otevřený jakýmkoli nápadům a námětům, bude-li o cokoli dostatečný zájem (a já tomu budu rozumět), není problém se o tom rozepsat.
Re: Vyvíjíme pro Android: První krůčky
Rozhodne by som sa po layoutoch zastavil pri roznych typoch Activity (List, Map) aby ludia mali predstavu preco sa jednotlive pouzivaju a ake vyhody prinasaju.
zkousim zkousim a nevim
ahoj,
jsem zacatecnik jak v jave, tak v androidu. cely priklad mam rozchozeny pod netbeans a v okamziku pridani „public void buttonClicked(View button)“ mi to hazi (rozumej: „podtrhuje cervene“ slovicko ‚View’)
napada nekoho, co mohu mit spatne? build mi potom taky neprojde. (ale aplikace z 1. clanku serialu normalne prosla).
/NetBeansProjects.java/zdrojakAndroid/src/com/example/zdrojakAndroid/MainActivity.java:22: error: cannot find symbol
public void buttonClicked(View button)
symbol: class View
location: class MainActivity
1 error
/tmp/src/android-sdk-linux_r20/tools/ant/build.xml:680: The following error occurred while executing this line:
/tmp/src/android-sdk-linux_r20/tools/ant/build.xml:693: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)
Re: zkousim zkousim a nevim
Nechybí ti tam import android.view.View; ?
Nefunguje externá klávesnica
Zaujímalo by ma, prečo mi v tejto aplikácii nefunguje externá klávesnica pre zadávanie textu do EditView (klávesnicu myslím v emaulátore a spustený je Android 2.2). V iných (cudzích) aplikáciách to funguje.
Re: Nefunguje externá klávesnica
Aha, takže mi to prestalo fungovať vo všetkých aplikáciách, aj cudzích. A navyše, keď klepnem do EditText, tak sa mi zobrazí GSM klávesnica, ktorá má naľavo 2 a napravo jeden kláves s čínskymi znakmi. Ako to dostanem do normálneho stavu?
smysl
Čau, s Javou i androidím programováním začínám, těžce se prokousávám, chtěl jsem se zeptat na jednou věc: Mají jednotlivé prvky spolu nějak komunikovat, nebo je to jen vypsáno jako příklady, co lze základního udělat? Nepochopil jsem pořádně, jak využít nový layout nebo Activity v podobě, jak to bylo v tomto díle popisováno. Něchtěl bych autora naštvat, ale možná by mohlo být lépe podáno, co je jen příklad mimo, co můžeme udělat a co naopak musíme udělat, protože je to potřeba k dalším ukázkám atd. Pak se márně plácám a nechápu, k čemu daná věc je a jak souvisí s těmi ostatními. Díky za odpovědi.
jak přidat....
Dobrý den, jsem začátečník teprve se seznamuju. Vypadá to na skvělé články. Jen mám jeden problém není popsáno jak vytvořit nový element – EditText ani jak vytvořit třídu Button. Mám namysli v Eclipse. Byl by dobrý popis tak jak v předchozím článku. Příklad: Vytvořte nový projekt FILE – NEW – PROJECT atd…. Děkuji Kučera.
Re: jak přidat....
Patricne odsadenie si prosim domysli, ale nie je nutne. new_layout.xml:
<?xml version=“1.0″ encoding=“utf-8″?>
<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android“
android:orientation=“vertical“
android:layout_width=“fill_parent“
android:layout_height=“fill_parent“
>
<EditText android:layout_width=“match_parent“
android:layout_height=“wrap_content“
android:id=“@+id/textedit“ />
<Button android:layout_height=“wrap_content“
android:layout_width=“wrap_content“
android:text=“Sem klikni!“
android:onClick=“buttonClicked“ />
</LinearLayout>
Re: jak přidat....
Děkuji za odověď, konečně to chápu.
Nemohl jsem přijít na to proč mám všude upozorňujíci trojúhelníčky.