• ú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í
    MIRAMANEE
    MIRAMANEE --- ---
    SPIRAL_FORCE: Kolik Seznam nabizi za takovou pozici? Podle toho (ne)budu mit zajem :)
    SPIRAL_FORCE
    SPIRAL_FORCE --- ---
    Nemel by nekdo zajem pracovat v Seznamu na pozici Android vyvojar? Presouvam se do jineho kanclu, tak po me zbyla dira v teamu. Kdyby nekdo mel zajem tak do posty ;-). Dik
    GORG
    GORG --- ---
    Teď mě dost zarazila jedna věc.. totiž, když jsem zjistil, že Smasung galaxy note se na androidu 2.3 tváří jako "large", ale na ICS updatu se hlásí jako "normal".

    android - Layout on Samsung Galaxy Note - Stack Overflow
    http://stackoverflow.com/questions/8711877/layout-on-samsung-galaxy-note

    Tak přemýšlím, jak nastavit android market filtr, aby mi v té normal xhdpi kategorii do toho nespadl i nějaký menší telefon.
    Rozměry se mi přizpůsobují obrazovce, ale mám to rozdělené na dvě kategorie resourců, ať se do malých telefonů netahají zbytečně obrovský textury...
    Takže to vidím tak přidat do manifestu
    <screen android:screenSize="normal" android:screenDensity="xhdpi" /> 
    
    ?
    RADDINO
    RADDINO --- ---
    Chtěl jsem vyzkoušet to nové Android studio a při vytvoření nového projektu (všechno default, nic jsem neměnil, jenom proklikal) v foldru myApp/src/main nemám žádnou class, i když by se tam zobrazit měla. Neví někdo kde jsem udělal chybu?
    ROTTWEILER
    ROTTWEILER --- ---
    MRTVY_KENNY: Tak já mam za to, že to není ani o tom nápadu, ale spíš o tom, že oni budou stát za tím nápadem, tak že i když mi ten nápad řeknou, tak já nemám na YouTube 300k subscribers, abych to dostal mezi lidi. A vsadím se, že ten jejich nápad bude to samé jako ty jejich kecy, někde něco ve světě funguje a oni to chtějí převést na úroveň v ČR.
    MRTVY_KENNY
    MRTVY_KENNY --- ---
    ROTTWEILER: btw ty bys v jejich postaveni vysolil svuj zamer na webtrh? ja teda ne.
    MRTVY_KENNY
    MRTVY_KENNY --- ---
    ROTTWEILER: asi nerozumim, jak se z tohoto daji vyzdimat hlasky, ale uz jsem v minusu. :D tak sorry, no. jeste ze je patek.
    ROTTWEILER
    ROTTWEILER --- ---
    MRTVY_KENNY: Vůbec tam nepíší, co chtějí dělat a nedokážu si představit jak by to do jejich modelu sedělo. Spíš si taky myslím, co píše PISKVOR.
    PISKVOR
    PISKVOR --- ---
    MRTVY_KENNY: Nebo chystají video "Debilní kecy programátorů" :D Evidentně tam naklikali všechno, jak když pejsek s kočičkou vařili dort.
    MRTVY_KENNY
    MRTVY_KENNY --- ---
    btw nekoho muze zaujmout
    ViralBrothers hledají PROGRAMÁTORA pro MOBILNÍ APLIKACI. - Webtrh
    http://webtrh.cz/227631-viralbrothers-hledaji-programatora-mobilni-aplikaci
    DATEL
    DATEL --- ---
    Teda programuju spoustu let, v různých jazycích, ale koukám, že Android bude moje noční můra :( Doprkýnka ty procesy si tam dělají co chtějí?! Zkoušel jsem debugovat a přišel jsem na to, že po onPause, kde jsem volal zavření kurzoru a DB se pak někde uvnitř knihoven Androidu volala nějaká persistence seznamu (mimo mé metody) a ty si tam zavolala cursor a zjištění položky. Řekl jsem si, hurá, to je ten problém. Zkusil jsem tedy přesunout to zavírání až do onDestroyView, spustím aplikaci, vložím snad 20 záznamů a v pohodě, žádná chyba. Pak najednou otevřu zase formulář pro přidání záznamu, v něm dialog pro výběr datumu - a zas ta chyba "close() was never explicitly called on database...", přitom v před tímto hlášení mám debug hlášky, že to tam tím zavírám prošlo. Tak koukám pořádně do toho trace výpisu výjimky, kudy to jako šlo, a co nevidím, TachoListFragment.onContextItemSelected(), pak MainActivity.onTachoItemUpdateClicked(), TachoModel.getRecord()... WTF?!?! Proč spouštěl tohle proboha? Vůbec jsem v této chvíli nebyl na seznamu, ani jsem nevyvolal kontextové menu, natož abych spustil editaci vybrané položky. Editaci jsem vyvolal v tomhle kole testování pouze jednou, a to dlouho předtím, než mi ta výjimka vypadla, navíc jsem to pak zavřel a pokračoval v přidávání nových položek. Výpis z LogCatu opět přikládám. Buď tam mám někde naprosto nečitelnou chybu, nebo se zbláznil emulátor nebo je Android založen na principu náhodných výbuchů :( Předpokládám, že A je správně, ale kde prohoha?

    DATEL
    DATEL --- ---
    DRIZDIK: tak jsem zkusil přesunout to voání super v onPause na začátek, ale nepomohlo to. Wipnul jsem emulátor, takže aplikace byla čistá. Přidal jsem dva záznamy, v pohodě. Když jsem chtěl přidat třetí, tak se otevřel druhý fragment s formulářem, tam jsem dal vybrat datum, načež se otevřel fragment dialog pro výběr datumu a v té chvíli to vyplivlo zase exception. Ale všiml jsem si, že nejspíš v jiném vlákně než je GUI. Výpis z LogCatu přikládám v příloze.



    DATEL
    DATEL --- ---
    DRIZDIK: ono to neumře, že by to ukončilo aplikaci, ty výjimky to háže pouze do CatLogu, aplikace funguje normálně dál. Zkus vytvoři novou položku, pak třeba rolovat seznamem. Nebo víckrát zadat za sebou novou položku. Většinou to tu chybu do logu hodí.
    Co se týče těch superimplementací, tak ty jsem předtím měl na začátku, ale bylo to nastejno, alespoň co si vybavuju, ještě to zkusím.
    DRIZDIK
    DRIZDIK --- ---
    DATEL: mně se nedaří nasimulovat to umření, ale minimálně bych vždycky v těch metodách volal super implementace před vlastním kódem.
    DATEL
    DATEL --- ---
    Tak ještě k tomu mému problému s uzavíráním kurzoru a databáze, už fakt neví, co s tím. Pokud budete někdo ochotný se kouknout na zdroják, tak je přiložen, budu vděčný na každou pomoc. Je to moje první aplikace, na které se učím, tak se moc neděste (není třeba vůbec doimplementována varianta pro "dualpanel" pro tablety) :)

    Abych to ještě jednou popsal, mám TachoListFragment coby potomka ListFragmentu a to je taky hlavní fragment. V onStart() otevírám DB (model) a dělám update listu, ve kterém si modelem vezmu cursor na seznam, který předám TachoListAdapteru a ten pak nastavím třídě pomocí setListAdapter().

    Pokud pak v aplikaci nechám otevřít dialog pro přidání nové položky (onAddRecordClicked v MainActivity), tak v onPause() TachoListFragmentu zavírám cursor i db. Jenže podle debug záznamů v LogCatu mi to po onStop() vyhodí výjimku

    java.lang.IllegalStateException: attempt to re-open an already-closed object: android.database.sqlite.SQLiteQuery (mSql = SELECT _id, date, daily_counter, main_counter, description FROM records ORDER BY date DESC, _id DESC)

    a netuším proč ani kde, protože v otevíraném AddRecordFragment se s tím cursorem nijak nepracuje.

    Když zakomentuju to uzavření cursoru i db, tak to jede, ale pak to zas háže do LogCatu ty výjimky (ale neshodí aplikaci), že aplikace finalizuje cursor, který nebyl nikdy uzavřen atd. Ne vždycky, ale dost často :(

    Díky za každou pomoc.

    DATEL
    DATEL --- ---
    DRIZDIK: myslel jsi asi onSaveInstanceState(), že? Tu používám v jiném fragmentu. Co se týče toho retaintInstance, tak to nikde nepoužívám, takže nevím, jak je nastaven. Mě spíš zarazilo, že se to v reále chová jinak než jak píšou v ofiko dokumentaci, na tom onStop() by to mělo zkončit a ne jít až do onDestroyView a posléze onCreateView.
    LUKASL
    LUKASL --- ---
    Zdravím, hledám pro svůj rozsáhlý projekt programátora Android.

    1) Jedná se o naprogramování aplikace podobné http://aplikace.o2active.cz/detail.php?id=781#.Ubht5ED0Ekc s mnohem více funkcemi. Pro první verzi by ale stačili základní verze s postupnm rozšířením

    2) Jedná se o aplikaci s prací telefonním seznamem a komunikací API přes URL odkazy
    DRIZDIK
    DRIZDIK --- ---
    MRTVY_KENNY: pokud to neni teba nijak online aktualizovat coz nevidim duvod s tim co pises a pozadavky. Tak si to napis jako kvalitni staticky !responsive! HTML5 a mas hotovou mobilni appku kterou jen protáhneš přes phonegap build službu

    Registrace na AppStore je potřeba počítat s nutností faxování a pokud budeš dělat firemní účet, tak ověřenýho překladu výpisu z živ. rejstříku.
    MRTVY_KENNY
    MRTVY_KENNY --- ---
    VIRTUALVOID: s tim pocitam
    VIRTUALVOID
    VIRTUALVOID --- ---
    MRTVY_KENNY: iphone neporiesis bez nakladov, budes potrebovat 99$/year + zopar stoviek za podpisovy certifikat.
    MRTVY_KENNY
    MRTVY_KENNY --- ---
    VIRTUALVOID: no tim phonegapem resim ten iphone. nemam maca.
    Kliknutím sem můžete změnit nastavení reklam