• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LWEEKAndroid development
    Diskuse o vývoji aplikací pro platformu Android.
    -----------------
    Tipy, Triky, Postřehy, Začátečnický help, Nápady na nové aplikace.

    Oficiální developerská stránka: http://developer.android.com
    Něco málo v češtině na WiKi android fora: http://wiki.androidforum.cz/index.php/Programov%C3%A1n%C3%AD
    Článek na Zrojáku: http://zdrojak.root.cz/clanky/vyvoj-pro-android-ii/

    Docela zajímavé tutoriály přímo od vývojářů ze Sony Ericsson:

    na tvorbu vlastního View adapteru
    http://blogs.sonyericsson.com/developerworld/2010/05/20/android-tutorial-making-your-own-3d-list-part-1/

    zajímavý nápad na zoomování jedním prstem - aneb vytváření gest
    http://blogs.sonyericsson.com/developerworld/2010/05/18/android-one-finger-zoom-tutorial-part-1/
    rozbalit záhlaví
    DRIZDIK
    DRIZDIK --- ---
    DATEL: Používám ActiveAndroid, dotazy pouštím pomocí generickýho asynctasku, který dostane jako paramaetr dotaz a co má vrátit a jen implementuju co s tím na konci udělat.
    DATEL
    DATEL --- ---
    Měl bych dotaz k tomu, jakým způsobem implementujete práci s SQLite DB. Prošel jsem kupu článků a diskuzí na netu a nějak nevím, jaký způsob použít.

    1. je jasné, že práce s DB musí běžet v samostatném vlákně
    2. jasná je základní třída z SQLiteOpenHelper, dále asi třídy pro jednotlivé entity
    3. přijde mi zbytečné používat CursorLoader a ContentProvider, když nechci poskytovat svá data ven z aplikace (naopak, je to nežádoucí)
    4. narazil jsem na CWAC-loaderex knihovnu, která právě řeší Loader bez ContentProvideru - jenže autor tuto cestu opustil s tím, že knihovnu dál vyvíjet nebude (Why are Loaders bad in Android)
    5. z výše uvedených bodů tak nějak vyplývá, že by asi bylo nejlepší vytvořit vlastní třídu z AsyncTask - jenže taky už nějak nevím, jak přesně bych to udělal, i podle toho, na co jsem narazil na netu, by to asi muselo být tak, že pro každou metodu, která získává nebo ukládá data, by musela být vlastní AsyncTask třída, což mi přijde dost divoké.

    Rád bych se tedy zeptal, jaký zpúsob v dnešní době používáte vy? Nejde mi o konkrétní kód, spíš jen o princip. Díky.
    ROTTWEILER
    ROTTWEILER --- ---
    NECROMAN: Tím mobilem jsi si jistý?
    MAKROUSEK
    MAKROUSEK --- ---
    NECROMAN: Nejenom, taky tam maj ty telefonky, zkus klikat vic.
    NECROMAN
    NECROMAN --- ---
    MAKROUSEK: je to tak, maji tam nejaky remote debugging na jejich webu + staticky analyzer, kam nahrajes apk a ono ti to rekne, zda tam mas nejake problematicke API.
    Co jsem slysel, tak to bezi na Androidu 4.1.2, nejsou v tom telefonu Google sluzby, vetsinou jsou nahrazene Microsoftimi nebo Here mapami.
    Upravu je treba provest jen tehdy, pokud se tam pouzivaji Push notifikace, InApp purchases a snad mapy, jinak by to melo jet 1:1.
    MAKROUSEK
    MAKROUSEK --- ---
    H_U_N_T_E_R: Kdyz se registrujes na tom jejich portale, maji tam takovy bazmek v jave, ktery ti na dalku pripoji jeden z telefonu, ktere maji nekde ve Finsku pripojene k netu. Docela to chodi, vyzkousel jsem.
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    NECROMAN: a existuje nějaký emulátor, na kterém by se to dalo ozkoušet? Nebo si musím nejdřív jednu koupit a na té si app odladit?
    NECROMAN
    NECROMAN --- ---
    Jen pro zajimavost - Nokia X Porting Bus bude 19 brezna v Praze.
    Pokud tam zajdete a ukazete, ze vase Android appka funguje na Nokia X telefonu a hned ji na miste odeslete do Nokia Store, tak dostanene Nokia X telefon zdarma :)
    (Aspon to takto fungovalo na MWC, tipuji, ze to bude i ted stejne)
    Nokia X Get Started Portathons | Nokia Developer
    http://developer.nokia.com/nokia-x/get-started/portathons
    FUJI_ITA
    FUJI_ITA --- ---
    Ahoj, hledam nekoho schopneho programovat amdroid aplikace v podstate potrebujem udelat aplikaci která bude umět přenášet hlas z mikrofonu zarizeni tento zvuk bude online prepisovan do textu který by se mel ihned zobrazovat na obrazovce mobilniho zarizeni. Blizsi specifikace a pod. ve zprávách
    Rozpočet na to máme, finální aplikace bude nekomerční čili můžem využít open source kody ... do budoucna by bylo dobrý počítat i s dalšími platformami iOs Win mob.

    Predem diky za odpoved nebo nasmerovani na nekoho schopnýho a rozumnýho, jed o neziskovej socialní projekt, ale samozřejmě placenej
    SPIRAL_FORCE
    SPIRAL_FORCE --- ---
    Cus, mate tu nekdo nejakou uspesnou apku? Jako ze uspesna je treba takova, ktera ma vic jak 50k aktivnich useru. ;-)
    DRIZDIK
    DRIZDIK --- ---
    ROTTWEILER: My to zatím řešíme jako jeden projekt, kde jsme si ty závislosti ponastavili trochu sloziteji. Bohužel tam často dědíme z něčeho v Androidu a proto hledám lepší způsob. Rozdělení na subprojekt mi zatím přijde také jako nejlepší nápad.
    ROTTWEILER
    ROTTWEILER --- ---
    DRIZDIK: Tak existoval plugin https://github.com/JakeWharton/gradle-android-test-plugin který dělal Jake Wharton, ale už je deprecated a nebyl úplně perfektní. Momentálně to řeším, že jsem závislosti přesunul do samostatného projektu pokud nepotřebují nic z Androida a tam ty JUnit v pohodě skrze java plugin spustím. A ty části, které jsou Android specifické jsem udělal abstraktní a pro Android implementoval. Je to tedy lepší i v tom, že je kód robustnější a pokud bych potřeboval testovat Android specifické věci, tak použiji instrumentační testy.
    DRIZDIK
    DRIZDIK --- ---
    DATEL: Tohle jsem taky absolvoval, a lokálně jsem začal používat git (git svn ti pak pracuje s SVN master repozitářem) a máš lokálně svobodu si branchovat, stashovat a podobný blbosti a tenhle postup doporučuju.
    Ignore určite jde ale stejně používat i v SVN v nastaveních projektu (záleží co používáš za klienta) a například v Tortoise je to hned pod pravým, že klikneš na cokoliv a dáš přidat do ignore.

    K tomu bych měl taky dotaz. Mám Gradle Android projekt a v něm bych potřeboval mít unit testing. Jak tohle řešíte? android plugin pro gradle se nesnese s java pluginem, kterej to standardně zařizuje.
    ROTTWEILER
    ROTTWEILER --- ---
    DATEL: Protože ViewPager není nativně implementovaný a je dostupný pouze skrze support knihovnu.
    DATEL
    DATEL --- ---
    JAZDA: no, dokumentace by tomu odpovídala. Myslel jsem, že swipe je součástí actionbaru, ale asi ne. Taky mě celkem zaráží ten FragmentPagerAdapter z v13, ale to bude nejspíš souviset s tím, že swipe je v support v4 knihovně.
    JAZDA
    JAZDA --- ---
    DATEL: neni nahodou soucasti u novejsich pouze action bar a swipe stale ne?
    DATEL
    DATEL --- ---
    FAERTIS: nastavil jsem min. lvl 14, compile 19. Ale jak jsem psal, i v dokumentaci pro swipe píšou, že třída je ze support library.
    FAERTIS
    FAERTIS --- ---
    DATEL: Nejsem si jistý, co jsi nastavil v tom generátoru na začátku, ale defaultně je tam nastaveno min. level SDK 8.
    DATEL
    DATEL --- ---
    Stejně tak ještě byl použit FragmentPagerAdapter z v13 support knihovny...
    DATEL
    DATEL --- ---
    Tak teď zas trochu k tématu této diskuze :)
    Zatím jsem spíše začátečník, tak mě teď překvapila jedna věc, jestli byste mi to prosím mohl někdo uvésst na pravou míru. Doteď jsem dělal aplikace s podporou pro v2.2, tj. používal jsem support knihovny pro ActionBar, Fragmenty atd. Teď dělám novou aplikaci, která bude mít min. v4.0. Nechal jsem si pro začátek vygenerovat Android Studiem aktivitu pro actionbar a swipe, a překvapilo mě, že použitá třída ViewPager importoval přes support knihovnu v4. Koukal jsem do dokumentace Androidu a v popisu Swipe ( http://developer.android.com/training/implementing-navigation/lateral.html ) je to taky zmíněno.

    Měl jsem za to, že supportí knihovny jsou pouze pro starší verze systému, aby tam šlo použít některé vlastnosti novějších verzí. Proč tedy je nutné support knihovny použít i na novějších (>= 4) verzích? Tj. skutečně to není součástí jejich API?
    HVJ3R
    HVJ3R --- ---
    DATEL: Jasny. Taky jsem tohle zazil, ale podarilo se nam git prosadit. Nedavno jsem nastoupil do vetsi firmy a po ctyrech letech zase musel resit projekt v SVN. Nemile me prekvapilo, ze veci, ktery me na tom tenktat stvaly, jsou tam porad. I tady ovsem prechazime na Mercurial (aspon).
    Kliknutím sem můžete změnit nastavení reklam