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

  1. Astapov

    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.

    1. Pavel

      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.

    2. XMen

      Re: Potreba nativnych aplikacii

      neviem si predstavit ako by aplikacie za pomoci HTML5 ziskali pristup ku vsetkym senzorom zariadenia.

      1. Martin Hassman

        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.

        1. Pavel

          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ů…

    3. Matěj KonečnýAutor příspěvku

      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.

      1. Matěj KonečnýAutor příspěvku

        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.

        1. jiri.vrany

          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.

    4. dmkil

      Re: Potreba nativnych aplikacii

      No pokial bude v html5 standartne api pre gps, bluetooth, serial port, kontakty tak bude stacit html5

    1. Matěj KonečnýAutor příspěvku

      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í.

      1. Matěj KonečnýAutor příspěvku

        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.

          1. ruups

            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)

  2. P. Jurkovič

    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

    1. Matěj KonečnýAutor příspěvku

      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.

      1. ruups

        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.

  3. j3

    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).


    /NetBeansProjec­ts.java/zdroja­kAndroid/src/com/e­xample/zdroja­kAndroid/MainAc­tivity.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/tool­s/ant/build.xml:680: The following error occurred while executing this line:
    /tmp/src/android-sdk-linux_r20/tool­s/ant/build.xml:693: Compile failed; see the compiler error output for details.
    BUILD FAILED (total time: 0 seconds)

  4. msx

    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.

    1. msx

      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?

  5. Komoi

    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.

  6. toor.1

    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.

    1. iwtu

      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://s­chemas.android­.com/apk/res/an­droid“
      android:orien­tation=“verti­cal“
      android:layou­t_width=“fill_pa­rent“
      android:layou­t_height=“fill_pa­rent“
      >
      <EditText android:layou­t_width=“match_pa­rent“
      android:layou­t_height=“wrap_con­tent“
      android:id=“@+id/­textedit“ />
      <Button android:layou­t_height=“wrap_con­tent“
      android:layou­t_width=“wrap_con­tent“
      android:text=“Sem klikni!“
      android:onClic­k=“buttonClic­ked“ />
      </LinearLayout>

      1. toor.1

        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.

        1. miras

          Re: jak přidat....
          Mě tam ty warningy svítí furt :-\

          u řádku: android:text=“Sem klikni!“

          a pak u

          nevíte někdo proč? Díky Míra

  7. GeorgeCZECH

    Appka padá
    Ahoj, zkouším, zkouším a testuji na Nexusu 4 s KitKat.. takže mám API19, všechno nakódím podle článku, Netbeans vyhazuje jenom warningy kvůli těm stringům, zkompiluje se to, nainstaluje se APK balíček do telefonu a při spuštění to vyhodí chybu – aplikace New_Layout bohužel přestala pracovat – když vyhodím v activity:
    setContentView(R.layout.new_layout);

    a změním na původní
    setContentView(R.layout.activity_main);

    tak se spustí, ale logicky to neukáže můj layout..

    kde mám pravděpodobně chybku??

    Díky

    1. martin

      Re: Appka padá
      ja som mal v metode onCreate nieco taketo:

      if (savedInstanceState == null) {
      getSupportFragmentManager().beginTransaction()
      .add(R.id.container, new PlaceholderFragment()).commit();
      }
      neviem co to presne, tiez len zacinam ale po vymazani sa aplikacia spustila

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3672