• ú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í
    DATEL
    DATEL --- ---
    ROTTWEILER: prosím tě, máš k tomu někde další informace? Teď jsem se přihlásil do TestFlight a stále tam máme jak iOS, tak Android aplikaci i buildy, a při přidání aplikace to nabízí na výběr i Android...
    MAKROUSEK
    MAKROUSEK --- ---
    ROTTWEILER: Tohle je pry tak nejak nejlepsi namisto testflight: http://ubertesters.com/
    DRIZDIK
    DRIZDIK --- ---
    ROTTWEILER: HockeyApp
    ROTTWEILER
    ROTTWEILER --- ---
    Máte tip na alternativu k TestFlight? Apple je koupil a zařízl Android podporu. Chtělo by to nejlépe něco, co má možnost feedbacku k jednotlivým buildum skrze mail jako to měl TestFlight.
    FAERTIS
    FAERTIS --- ---
    Tak je to vydany, kdyby se to nekomu hodilo :) ... Lightweight Facebook aplikace. https://play.google.com/store/apps/details?id=com.aquasoup.notiface
    SPIRAL_FORCE
    SPIRAL_FORCE --- ---
    Nehledate nekdo praci jakozto Android vyvojar? U nas hledame do teamu nekolik androidaku. Jedna se o Avast, prace je tedy na aplikacich, ktere pouziva 10ky milionu useru. Nadstandartni plat, atd.. ;-) Do posty!
    JAZDA
    JAZDA --- ---
    neposlouchate tu nekdo naky zajimavy tematicky podcast (tema android development samozrejme) ?
    IGRACEK
    IGRACEK --- ---
    OT, musim! :]

    Android development 999 NEW
    ROTTWEILER
    ROTTWEILER --- ---
    Kdyby to někoho zajímalo blíže http://grepcode.com/.../app/SharedPreferencesImpl.java#SharedPreferencesImpl.startLoadFromDisk%28%29

    Ještě, že ten Android je open-source.

    Bohužel před IC to lockuje vždy main thread, ale kvůli nim to dělat nebudu. :-)
    ROTTWEILER
    ROTTWEILER --- ---
    Ještě jsem prohlížel zdrojáky SharedPreferenceImpl a od 4.0 už to hází sám Android do background threadu. Pouze při zavolání .get čeká na ten thread. Nebude to tedy tolik horké. Pouze je důležité instanci k SharedPreference získat, co nejdříve. :)
    PISKVOR
    PISKVOR --- ---
    ROTTWEILER: No, jako muzes to udelat na prasaka, googlestapo na tebe neprijde ;) Ale mozna tim dobudoucna zkomplikujes zivot sobe (coz je voser), nebo uzivatelum (coz je pruser, pac budou pyskovat nebo se na to vybodnou); pokud jsi s timto rizikem v pohode, napis si to zcela dle vlastni libosti.
    ROTTWEILER
    ROTTWEILER --- ---
    DACAN: No o to ani nejde. Problém je v tom, že to komplikuje celý lifecycle. Já potřebuji sessionId a rvát do onCreate hned AsyncTask a ProgressBar celý kód značně zkomplikuje. Jo, UI může být neresponsní, ale když není nic vidět, na co by ten uživatel klikal? Víceméně jsem našel i rady od Android vývojářů frameworku, že je blbé, když se zavolá získání nastavení při kliknutí na tlačítko, ale při startu/umírání aktivity si myslím, že to není problém, ale klidně mi to vyvraťte?

    Každopádně udělal jsem aspoň nějaké optimalizace a použil .apply místo .commit a zkusím všechno načíst ASAP, aby to nebylo skutečně nikdy na tlačítku, což jsem myslím ani neměl.
    DACAN
    DACAN --- ---
    Samozrejme. A to, ze ti nejakej task bezi async zajistuje, ze ti tvoje aktivita nezamrzne a progress bar zobrazi. Je uplne jedno, jakdlouho si myslis, ze to bude "typicky" bezet. Na vyvojovym telefonu nameris 50 ms nejakou serializaci a ulozeni na SD, ale pak to pustis na nejaky plecce s plnou kartou a uvidis, k cemu si takovej pattern vynucujou :)
    ROTTWEILER
    ROTTWEILER --- ---
    PISKVOR: A jak pak řešit případy, že z těch nastavení načítám něco, co je nezbytné pro chod aktivity? např. data do formuláře apod.? A ta aktivita se nedokáže bez toho zobrazit? Dát tam ProgressBar?
    PISKVOR
    PISKVOR --- ---
    PISKVOR: A to nemluvim o tom, ze "temer instantne" z pohledu uzivatele muze znamenat stovky tisic cyklu z pohledu procesoru. Tak jo, dame si ted sto milisekund pauzu, to nikdo nepozna ;)
    ROTTWEILER
    ROTTWEILER --- ---
    PISKVOR: Všechno skrze SharedPreference by mělo být tedy schováno v AsyncTask?
    PISKVOR
    PISKVOR --- ---
    ROTTWEILER: "ukladani do souboru probehne temer instantne" je predpoklad, ktery ma spoustu moznosti te kousnout do zadku. Write-fail-wait-retry-fail-wait more-retry-success na urovni pod IO cally je typicky priklad flashove pameti, o ruznych abstrakcich maskovanych za filesystem nemluve (a zapis na pomalou SD kartu je taky vsechno, jen ne "instantni").
    ROTTWEILER
    ROTTWEILER --- ---
    Taková otázka do pléna, mělo by být všechno, co se dělá skrze SharedPreference zpracováváno v AsyncTask? Viděl jsem spoustu příkladu, kde kód pro ukládání je právě v AsyncTask, ale nenašel jsem žádný argument proč. Snad jedině, že je to IO operace (ukládání do souboru), ale vždy proběhne téměř instantně, že to uživatel stejně nepozná?

    Díky za jakou informaci.
    MICCY
    MICCY --- ---
    Víte prosím někdo jak z Aktivity skrýt aktivnímu fragmentu ikonu v ActionBaru? Konkrétně jeden fragment má vlastní menu kde má refresh ikonu a tu potřebuju skrýt, když se v hlavní aktivitě vysune Navigation Drawer.

    Dík za radu.
    DACAN
    DACAN --- ---
    H_U_N_T_E_R: ano, bsod zatim ne.
    VIRTUALVOID
    VIRTUALVOID --- ---
    H_U_N_T_E_R: presne z tohoto dovodu som prestal emulatory riesit. a ked uz aj nahodou potrebujem ine rozlisenie/tablet/etc. tak do toho genymotion investujem par minut...
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    DACAN: vám to funguje bez problémů? Krom toho, že se to nesnese s hyper-V (což bych asi dočasně přežil), tak po instalaci toho jejich driveru mám co 10min BSOD.
    Kliknutím sem můžete změnit nastavení reklam