• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LWEEKAndroid development
    REELOO
    REELOO --- ---
    Ahoj, hledáme mobilní vývojáře.
    [ OFFERING WORKNABÍZÍM PRÁCI: Mobilní vývojář, EMTC - Net s.r.o. / Praha ]

    Otázky prosím do pošty.
    INITI
    INITI --- ---
    PISKVOR: diky, kouknu na to.. zatim mam zkusenost jen s OS X a tam to fungovalo opravdu dost spatne - delal chyby a trvalo to celkem dlouho. kdyby se dal vyuzit ten z myho androidu, tak by to bylo idealni
    PISKVOR
    PISKVOR --- ---
    INITI: Pokud se nemylim, neni to ani mesic, co se s velikym humbukem uvadel Newton Dictate 3; ten je pro Windows a mel by cestinu zvladat. Pravda, zadarmo neni: https://www.alza.cz/search.htm?exps=dictate

    Jinak spoustet aplikace pro smartphone na PC je pomerne solidni vopruz - rozhodne neplati, ze "pocitac jako pocitac, vono to pude."
    INITI
    INITI --- ---
    ahoj, mam dotaz ohledne rozpoznavani reci... v mem telefonu funguje rozpoznavani cestiny bezvadne. rad bych to vyuzil dal a proto me zajima, jestli je mozne to dostat i do notebooku. na netu sem objevil pouze DRAGON DICTATE - samostatnou aplikaci, ktera podle vsech ohlasu je best of, ale nefunguje vubec tak dobre jako ta na mem prumernem smartphonu a navic nepodporuje cestinu. da se nejak na tu aplikaci v telefonu dostat a zjistit jakou knihovnu pouziva a jestli ji je mozne vyuzit online na notebooku? diky za jakekoliv postrehy
    JOHNY_G
    JOHNY_G --- ---
    TENCOKACISTROMY: Nebyl. Nemám bohužel linku použitelnou pro upload půlgigového archivu. Máváme do O2!

    TENCOKACISTROMY: Moc to řešíš. Ale jsou chvíle, kdy mě podobný přístup taky vytáčí. Například v Gsonu. Potřeboval jsem u nějakého objektu v konstruktoru (nebo alespoň v setteru) zavolat metodu, a při deserializaci nikdy nedošlo k volání, i když jsem vyzkoušel snad všechny kombinace a přesvědčil se, že jsou všechny atributy privátní. No co myslíte? Měl ji tam! Sprostá reflexe, kterou prostě nezachytíte. Ale to je úplně jiný typ překážky. Rychlost bych vůbec neřešil. S inflatováním XML v tomto směru podle mě nikdy nebyl problém
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    TENCOKACISTROMY: to znám moc dobře :-)
    A počkej, až ti Android apoška začne leakovat, to je teprve nezvyk ;-)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    H_U_N_T_E_R: Nesnazim se nic shazovat. Verim, ze autori dotycneho API byli pricetni vyvojari :).
    Jen jsem hodne zvykly na .NET, ktery se od Javy zas tak moc nelisi (vynecham-li API a JVM/CLR), takze jsem v takovy neprijemny situaci kdy mam na jednu stranu presah ve znalostech a na druhy strane mam tezky nedostatek zakladnich Java konstruktu (obcas i syntaxe).

    Ale ze vsech predhozich platforem/frameworku se mi osvedcilo znat ty veci alespon castecne o jednu uroven niz, nez pouzivam. A tak se to snazim poradne probadat :).

    /* serte na me, jsem na sracky */
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    TENCOKACISTROMY: pomalá je. Otázka je, jestli u těch layoutů je to problém. Jednotlivých view je na obrazovce pomálu a obrazovky se většinou recyklují. Stejně tak se recyklují např. položky v listview.
    WPF ve většině případů taky používá reflexi a ve většině případů to nevadí.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Neberte to prosim jako prudu, me proste zajima jak to funguje uvnitr :).
    Koukal jsem se do zdrojaku androidu - konkretne na LayoutInflater. Tahle trida zarizuje nacitani XML layoutu. Bylo mi divny, jak muze vytvaret novy instance View, kdyz nemaji konstruktor bez parametru. A moje podezreni se vyplnilo - vytvareni novych instanci se provadi pres reflexi. Z .NETu jsem zvyklej, ze reflexe je fakt hodne pomala, je to pravda i v Jave? Konkretne v ty JVM ktera se pouziva na androidu?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JOHNY_G: A cesta bez instalace SDK existuje? Nepocitam, ze budu z PC vyvijet androidi aplikace a nechce se mi tam z toho duvodu ta SDK instalovat.
    Byl bys treba ty ochotny mi ten adresar "docs" zabalit a nekam nahrat?
    JOHNY_G
    JOHNY_G --- ---
    Vtip je v tom, že SDK rozchodíš na PC, v SDK Manageru stáhneš Documentation for Android SDK z API 16, a pak si do tabletu překopíruješ adresář docs. Je tam komplet všechno v offlinu.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Existuje nejaka offline reference guide pro android? Chtel bych ji mit na svym tabletu, kde delam v AIDE. Tedka musim behat na net, coz neni tak super jako bych ji mel lokalne.
    Co jsem hledal, tak jsem nasel akorat SDK pro linux. Nicmene linuxem, ani androidem nevladnu natolik, abych ji na tom tabletu zprovoznil.
    VIRTUALVOID
    VIRTUALVOID --- ---
    JOHNY_G: tak vies, ja som len kutil :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JOHNY_G: Po dlouhe dobe hledani a cteni clanku a zrojaku jsem se dostal k podobnymu zaveru :). Nejvetsi vyhoda mi prijde prave v bode 2.

    Oddelovat logiku a vzhled je jasny - ale xml zapis neni podminkou nutnou, ani dostacujici :).
    JOHNY_G
    JOHNY_G --- ---
    Pánové, já se z vás zvencnu. Objekty definované v XML se samozřejmě instancují jako každé jiné, nehledě na to, jestli na ně hodláte vytvářet pointer přes findViewById(). Jejich zápis do XML jen zavolá konstruktor toho View s patřičným AttributeSetem a přidá ho do nadřazeného View. Nic víc, nic míň. Jeho výhody mě napadají v zásadě 3, všechny však velmi důležité:

    1) Přehlednost, čitelnost a tím i upravitelnost a znovupoužitelnost kódu.
    2) Možnost použití kvalifikátorů, které vydefinují rozdíly na různých velikostech displejů, DPI, orientacích, jazykových mutacích, verzích Androidu, atp.
    3) Snadná práce s density-independent pixels.

    A vůbec, design a logika se musí oddělovat, jinak se z každé budoucí úpravy posereš :-).
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TENCOKACISTROMY: Hmm, tak findViewById(int) uz ty objekty urcite nevytvari.
    Podarilo se mi najit online zdrojaky a View.findViewById(int) a pak prespana metoda ViewGroup.fiendViewTraversal(int) nic nevytvari.

    Budu hledat dal.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    VIRTUALVOID: To nevytvareni objektu me napadlo jako prvni. Ale neni mi moc jasny jak to pak muze fungovat v kombinaci s tim vsim vykreslovanim a zpracovavanim udalosti jako treba "onClick" apod...

    Ze by se ten objekt vytvarel pouze v pripade, ze k sobe ma nejaky kod v pozadi?
    VIRTUALVOID
    VIRTUALVOID --- ---
    TENCOKACISTROMY: hm, mam skor dojem, ze tie objekty sa z xml nevytvoria pokial o ne nepoziadas (findViewById). ten layout sa lahsie upravuje v xml ako v kode, a to ja robim dost casto :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    VIRTUALVOID: Nehodalm nikomu cpat, ze mu vyhovuje neco jinyho nez sam uzna za vyhovujici ... a ocekavam to samy od ostatnich :).

    Jde mi vylozene o to, jestli to ma vliv na neco pri behu. Vysledek ma mensi footprint? Je to rychlejsi? Ma to mensi pametovy naroky? Nebo to je proste jeden ze zpusobu zapisu, kterej je +- ekvivalentni k vytvareni prvku v kodu?

    Protoze jestli jsem to spravne pochopil, tak se z toho XML stejne udelaj ty samy objekty jako z kodu a stejne se sestavi dotycny objektovej model.
    VIRTUALVOID
    VIRTUALVOID --- ---
    TENCOKACISTROMY: no ja ti nevim karle. pre mna je vopruz to robit z kodu... aku ma to vyhodu ?
    Kliknutím sem můžete změnit nastavení reklam