• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LWEEKAndroid development
    GORG
    GORG --- ---
    No nepodařilo se mi ani najít, CO je vlastně zodpovědné za zobrazení toho okénka "Vítejte".. když krokuju ten kód v debugeru. Jakoby se tam nakufrovalo samo (už zřejmě z Google Play Services aplikace, která běží jako samostatný proces)

    Každopádně když se zapomene zobrazit (při zřejmě nějakých connection failure problémech), tak mi někam zmizí focus z mé hlavní aktivity. Vše je zobrazené, ale nejde na nic tapnout, a při pokousu o tapnutí to po chvíli oznámí ANR.

    Ale asi jsem našel souvislost... cyklí to někde v Activity.loop() // což je zjevně nějaká jen čekačka na messages ke zpracování.
    A bezprostředně to při chybě connection volá jakésí mConnectionResult.startResolutionForResult(mActivity, RC_RESOLVE);

    Nicméně v případě, že se to zahryzne, nedošlo k volání onActivityResult, které by to RC_RESOLVE ohandlovalo..
    Takže to občas někde zahryzne v nějaké jiné Activity resp. Intentu?
    GORG
    GORG --- ---
    Ad Android API a google play services - čím to mohlo být, že se to při přepínání mezi obrazovkami dostane aplikace do ANR?Prakticky nemůžu najít žádný replikovatelný vzorec, co je špatně. Dalo by se čekat, že někde běží nějaká nekonečná smyčka nebo se na něco čeká.

    Například se mi ukazuje "Vítejte Jméno uživatele", což je po úspěšném přihlášení, což řeší BaseGameActivity - potomek Activity, který dodal google jako sample, který zobrazuje malé okénko nad mou Activity poděděnou z BaseGameActivity. Nevím přesně, jestli je to modální okénko také nějaká Activity (přiznávám, že v androidím API dost plavu), ale všiml jsem si, že se to hryzne v situacích, kdy se nezobrazí.

    Asi tu z toho nikdo nic neodhadne, ale spíš by mě zajímalo, jestli nenarážím na nějaký obvious mistake při práci s Activitami.

    V situaci, když se nezobrazí to okénko se každopádně nevolá ani onPause ani onResume. (zkouším mačkat signOut, signIn, signOut, signIn atd. .. po několika pokusech to už prostě nezobrazí to okénko "Vítej...", ani nedojde k žádném onPause.. prostě už pak jen ANR.. bez jakékoliv chyby, tak přemýšlím, kde se tedy tou dobou může kód nacházet.. napadá mě, že asi někde v btom BaseGameActivity cyklí někde v tom kódu od týpků z Googlu... třeba na něco čeká marně, ale nechápu, proč UI nemá focus nebo hadnlování inputu, ale nezdá se mi, že v tom měli chybu oni)
    GORG
    GORG --- ---
    Aha, tak jsem zjistil, že chyba byla na mojí straně. V následujícím kódu. Už mi to dochází, překopíroval jsem ho z nějakého mého jiného projektu staršího, který není zkombinovaný s tím Google play services. Ten ještě předtím dělá nějaké Androidí API volání na layout (jak jsem zjistil krokováním), takže to pak řvalo java.lang.RuntimeException: Unable to start activity ComponentInfo{com.igorg.tester/com.igorg.tester.TesterMainActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
    po zavolání následujícího. Mylně jsem si to spojil s IDEA a GPS.


    RelativeLayout layout = new RelativeLayout(this);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    View gameView = initializeForView(app, cfg); //using GL2

    RelativeLayout.LayoutParams adParams =
    new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
    RelativeLayout.LayoutParams.WRAP_CONTENT);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    adParams.addRule(RelativeLayout.CENTER_IN_PARENT);
    layout.addView(gameView);
    setContentView(layout);



    Jinak ten DEX komplilační problém pomohlo všechno odimportovat, odstranit všechny moduly, dát Clean, a pak to tam dát znovu.
    GORG
    GORG --- ---
    Zkouším dnes rozchodit editor IDEA pro Android - už po nainstalování zjištuju, že bych ho fakt rád rozběhl, protože oproti Eclipsu je nesrovnatelně rychlejší - ten často zamrzává a někdy přepnout mezi v editoru na jiný java soubor trvá i 1 až 5 sekund.. na 3,4 Ghz 4 jádro, 8GB RAM mi to přijde mazec. IDEA je ve všech směrech zatím svižná jak blesk, zpravidla bezprostřední reakce, bravo! :)

    Ale marně se snažím rozchodit přilinkování Google Play Services, kde jsem se zprvu potýkal s chybou

    ERROR/AndroidRuntime(22324): FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo


    Vygoogloval jsem všelijaké rady, které jsou víceméně všelijaké triky, jak tu knihovnu přilinkovájí způsobem Zmáčkněte Project settings, odstraňte knihovnu, a pak ji znovu přidejte. Přidejte soubor dummy. java a tam vytvořte prázdnou třídu class Dummy {}. Pak dejte Import from existing code.... a zároveň se na židli kimácejte na pravou stranu, pak si udělejte kafe, přijďte odejte, a pak zkuste jiný návod, který v mírné obměně popisuje jiný postup :D

    http://stackoverflow.com/...stions/17960315/importing-google-play-services-lib-into-intellij-idea-12
    http://youtrack.jetbrains.com/issue/IDEA-96525
    http://stackoverflow.com/...exception-main-java-lang-runtimeexception-unable-to-start-activity-compo
    http://stackoverflow.com/...719263/unable-instantiate-android-gms-maps-mapfragment/13744765#13744765


    Ve výsledku jsem se dopracoval do jiného stavu, že už to nelze ani zkompilovat, ikdyž nevím, v čem se současná situace vlastně liší:

    Android Dex: [untitled] Unable to execute DX
    Android Dex: [untitled] com.android.dx.util.DexException: Multiple dex files define Lcom/google/android/gms/common/data/Freezable;
    ....


    Zjevně se tam něco přilinkovává vícekrát, ale přes různé rady na internetu podobného charakteru viz výše se zatím nedaří na tom nic změnit

    http://stackoverflow.com/questions/8059719/unable-to-execute-dex-multiple-dex-files-define

    Celá situace je navíc zkomplikovaná tím, že do toho tam ještě používám LibGdx, a importuju ještě svůj vlastně framework library projekt/modul + modul pro backend mého frameworku na Android, tak pořádně nevím, kam všude vlastně ty knihovny Google Play Services přilinkovat. Stejně tak android-support-v4.jar. Jestli do všech android projektů či jen toho hlavního. Moc tomu popravdě nerozumím v čem h lavně ten problém spočívá než to dělat podle nějakých návodů, kdy nevím proč. V Eclipsu mi to funguje, ale při snaze to linkovat ve stejném duchu to nepomáhá. Bez použití těch gogole services se mi už jinak android libgdx projekt na mobilu spustit v IDEA podařilo, ale s použitím to hází ten error zmíněný výše o ComponentInfo

    Any help would be helpful :) Díky.
    VIRTUALVOID
    VIRTUALVOID --- ---
    MELOUN: anyway, ja nemam moc co robit po veceroch (okrem hrania BF3) takze mozes ist aj cestou c.2
    VIRTUALVOID
    VIRTUALVOID --- ---
    MELOUN: it's a trap! ROTTWEILER :)
    ROTTWEILER
    ROTTWEILER --- ---
    MELOUN: Napiš rovnou o jaký nápad jde. Pokud se bojíš, že ti ho někdo sebere, tak to zabal rovnou. Neuspěješ. Potom ti můžeme řict jestli to má naději.
    FALCO
    FALCO --- ---
    rychly dotaz.

    Uz jste si nekdo hral s Host card emulator? Pripadne nemate nejake funkcni demo? :)
    https://developer.android.com/guide/topics/connectivity/nfc/hce.html
    MELOUN
    MELOUN --- ---
    Zeptám se zkušenějších,
    mám nápad na aplikaci, myslím že je originální a dobrej - to si ale myslí každej o svým nápadu že jo :-)
    Appka zatím nemá na marketu alternativu, alespoň jsem nenašel.

    Z hlediska vývoje není základní funkčnost vlastně nic moc zásadního, nějáká db, pár okýnek.
    Mám poměrně dobrou představu o tom jak by to mohlo fungovat a chci podrobněji vypracovat návrh..
    Živím se programováním ale pro android sem nikdy nenapsal ani řádku. Aplikaci věřím a jsem ochoten do ní něco investovat, ale je to osobní záležitost a když dám programátorovi 5k tak to nic neřeší. Takže jestli investovat tak do propagace..
    Tak a teď raďte co s tím..

    1/ sedni, studuj a napiš si to sám - není to zas taková věda a něco se naučíš
    2/ hledej programátora a přesvědči ho za podíl na zisku
    3/ vykašli se na to, tyhle malé app bez větších investic jsou ztráta času





    SCREAM
    SCREAM --- ---
    offtopic: prosim nekdo z okoli Strakonic kdo by byl schopen kamaradce prehrat firmware na samsung? kdyztak posta dik..
    ZACK
    ZACK --- ---
    DATEL: jo, chapes to spravne.
    DATEL
    DATEL --- ---
    ZACK: tý jo, super! Jen se ještě zeptám, jestli jsem to dobře pochopil ohledně licence - community edition je pod Apache 2, můžu tedy to IDE používat i pro vývoj komerčních aplikací v práci? U PhpStormu tohle totiž nešlo, tam jsem musel mít alespoň tu Personal licenci...
    ZACK
    ZACK --- ---
    DATEL: http://www.jetbrains.com/idea/ (a zajima te Community Edition — Free and Open IDE for Java). Kdyby to nemelo podporu pro vyvoj pro Android, tak to tu nevytahuju, ze jo :)
    DATEL
    DATEL --- ---
    ZACK: aha, ty myslíš normální Idea pro Javu? A ta má podporu pro vývoj pro Android? Tj. debugování, DDMS atd.? Akorát teda bohužel pro mě, tohle mi v práci nekoupí, ono i to PhpStrorm jsem si koupil jako personal licenci, ale další prachy na Ideu momentálně nemám :(
    VIRTUALVOID
    VIRTUALVOID --- ---
    Features - Pencil Project
    http://pencil.evolus.vn/Features.html
    VIRTUALVOID
    VIRTUALVOID --- ---
    ja som wipeol zakazdym takto Android Studio ked som sa snim pokusal nieco urobit. to je nenormalne hnusny tool co nic nevie. iba dobry marketing to ma
    FALCO
    FALCO --- ---
    ZACK:
    Souhlas, taky jsem vzal ideu, naimportoval si Eclipse projekt a s radosti jsem wipenul Eclipse ze sveho PC.
    Tesim se na dalsi verzi ktera bude mit o neco vice feature (jako code obfuscator atd...)
    ZACK
    ZACK --- ---
    DATEL: Idea neni Android Studio, v Idee te fakt nic nenuti pouzivat Gradle, kdyz se ho nechces ucit.
    DATEL
    DATEL --- ---
    ZACK: no, zkoušel jsem, viz příspěvky níže, zatím se nějak nemůžu přeorientovat na ten Gradle

    Z trochu jiného soudku - jak je to s logováním chyb, tj. voláním Log.d (a další) a e.printStackTrace() - necháváte tyto volání i v ostré verzi nebo ne? Já momentálně mám každé takové volání v podmínce "if (BuildConfig.DEBUG)".
    Kliknutím sem můžete změnit nastavení reklam