• ú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í
    ROTTWEILER
    ROTTWEILER --- ---
    VIRTUALVOID: Já tam nevidím, že by FileDownloaderFactory vytvářel více typů a ty sis mohl nějak vybírat. Plus když i když bys tam doimplementoval tuto mechaniku, tak získáš jednu instanci a potom už jí nikdy nezměníš. Když už, tak SingletonFactory. Strašně to mate, protože jako vývojář očekávám zažité chování.
    VIRTUALVOID
    VIRTUALVOID --- ---
    ROTTWEILER: lebo vracia typ, ktory mozes implementovat niekolkokrat a potom si medzi nimi vybrat ?
    PISKVOR
    PISKVOR --- ---
    ROTTWEILER: Protože Singleton je nejjednodušší typ Factory? Vždycky sice vyrobí totéž (ba dokonce stejnou instanci totéže), ale to už je implementační detail ;)
    ROTTWEILER
    ROTTWEILER --- ---
    VIRTUALVOID: Proč se Singleton jmenuje Factory?
    DATEL
    DATEL --- ---
    JOHNY_G: aha, díky za info, musím vyzkoušet (jestli k tomu teda dostanu v práci prostor)
    JOHNY_G
    JOHNY_G --- ---
    DATEL: Chybí vám tam screenSize :-). Na Jelly Beanu už tohle nefunguje.
    KAZATELL
    KAZATELL --- ---
    PISKVOR: jak sem psal, jsem laik takze 5 tocicich se krouzku a moznost otacet 3D predmetem mi oproti jinym hram prijde malo. Co nejlevneji sem ani tak nemyslel. Ale abych to tedy upresnil. Hra by byl jen cryptex a ucelem by bylo jeho otevreni... cili prijit na spravnou kombinaci valcu. To by se dalo zjistit prectenim knihy, pripade nekolika spisu (list papiru s textem)
    PISKVOR
    PISKVOR --- ---
    KAZATELL: Těžko říct. Tu "líbivou grafiku" taky bude muset někdo nakreslit, "jen několik pohyblivých bodů" jsi popřel týmž dechem...takže vlastně víme jen to, že chceš nějakou hru, a pokud možno co nejlevněji; to není zrovna dostatečný na odhad.
    KAZATELL
    KAZATELL --- ---
    Zdravim, ptám se jako laik který problematice v podstatě vůbec nerozumí.
    Kolik by stála hra s líbivou grafikou (na principu room) kde by bylo jen několik pohyblivých bodů . resp jeden 3D váleček s pěti otočnými prstenci plus pár dalších módu typu papír kniha a podobně...
    je mi jasné že se to těžko odhaduje, ale ten princip sem uvedl spíše pro představu
    VIRTUALVOID
    VIRTUALVOID --- ---
    caute, moje dva centy z kodu nyxdroidu :

    https://github.com/virtualvoid/AsyncImageGetter
    VICSYL
    VICSYL --- ---
    DATEL
    DATEL --- ---
    VIRTUALVOID: aha... tak uvidím při testování, zatím se to chová normálně. Je teda fakt, že jednotlivé "sub" fragmenty v záložkách ukládám do seznamu a při jejich znovuvyvolání, pokud existují v tom seznamu, tak použiju tu existující instanci a jen nastavím argument s ID detailu, ale nijak jinak s tím nepracuju, tj. nijak je neschovávám nebo tak.

    VIRTUALVOID: to bych ti byl vděčný. Jestli jsem to dobře pochopil, tak ty používáš ActionBar, já mám ten starý TabHost, ale ono to bude myslím podobné, že?
    VIRTUALVOID
    VIRTUALVOID --- ---
    pomohol by som ti viac... ale zial mam tiez dost busy dni v praci.
    mozem ti poskytnut kusy zdrojaku nyxdroida kde riesim fragmenty v taboch.
    VIRTUALVOID
    VIRTUALVOID --- ---
    no, ako som pisal, ono je to stale o tom, ze nie vsetko to vyriesi. aktivita sa nebude znovu vytvarat (aspon nie na tvojej strane kodu), ale fragmenty budes musiet doriesit tiez.

    ja to napriklad robim tak, ze do kontajneru pridam vsetky fragmenty a tie ktore nepotrebujem aktualne aby boli viditelne ich schovam. potom v ActionBar.TabListener implementacii ich podla potreby (aktualny hide) zviditelnujem.
    preco ?
    pretoze pri replace(=remove,add) sa fragmenty vytvaraju nanovo. ked ich len hide/show tak nie.
    DATEL
    DATEL --- ---
    DATEL: tak v níže uvedeném odkaze jsem našel řešení, pro > 3.x nutno přidat ještě "screenSize".
    DATEL
    DATEL --- ---
    VIRTUALVOID: a kruci :( Tak jsem to zkusil v emulátoru pro verzi 4.0.3 a tam to nefunguje :( Fungovalo mi to ve 2.2
    DATEL
    DATEL --- ---
    VIRTUALVOID: JO! Jsi bůh!!! Díky. Jestli se někdy potkáme, máš u mě pivo - i víc klidně. Jen bych se k tomu ještě zeptal, co to vnitřně ovlivňuje? Našel jsem na SO tohle:

    Why not use always android:configChanges="keyboardHidden|orientation"? - Stack Overflow
    http://stackoverflow.com/...818717/why-not-use-always-androidconfigchanges-keyboardhiddenorientation

    a tam píše, že to není dobré mimo jiné pro fragmenty. Můžu očekávat nějaké problémy? Co jsem to zkusil v emulátoru, tak to všechno fungovalo.
    VIRTUALVOID
    VIRTUALVOID --- ---
    DRIZDIK: well, na to co potrebuje on to je podla mna dostacujuce. i ked ano, mas pravdu, nie korektne.
    DRIZDIK
    DRIZDIK --- ---
    VIRTUALVOID: to neni uplne stastny reseni .. potom musi vsechno resit sam, tim ukladanim stavu je to spravne a kdyz bude pouzivat spravne childFragmentManager, tak by si to toho mělo dost pamatovat i samo, pokud máš u těch fragmentů retain instance
    VIRTUALVOID
    VIRTUALVOID --- ---
    daj si do manifestu configChanges keyboard|keyboardHidden|orientation a aspon z casti ta znovu vytvaranie aktivity nemusi trapit
    DATEL
    DATEL --- ---
    Tak ty uložené fragmenty v savedInstaceState jsou parcelable, takže se dají vytáhnout přes

    Parcelable b = savedInstanceState.getParcelable("android:support:fragments");

    Ale je otázka, co s tím dál? Po rotaci se znovuvytváří aktivita, taby a základní fragmenty v tabech. Jediné, co mě napadá je si hlídat, jestli v tom seznamu je více než jeden fragment a pak na základě tagu vytvořit nový fragment příslušné třídy - jak mu ale podstrčit ten stav ze savedInstanceState? Nebo je to úplně nesmysl a má se to dělat jinak?
    Kliknutím sem můžete změnit nastavení reklam