• ú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í
    MAJACHUNATA
    MAJACHUNATA --- ---
    MIKULAS: super díky moc. Tak já se zas nachvilku zahrabu. K práci.

    Checknutí by mělo jít jen jednou za den. To první je dost vidět myslím. Odanimuje se do strany a zas se z ní zařadí na aktualizovanou pozici. Jestli se to nestalo, bude to naka chyba v kódu. Ozkousim to vic

    Floating přidání tam byl, ale poslední rituál pak není nikdy pořádně vidět. Asi by to šlo odrazenim seznamu odspoda.

    Ozvu se s aktualizací. Netuším kdy. Volný čas je vzácný, ale zkusím, co nejdřív. Ještě jednou dík za feedback
    MIKULAS
    MIKULAS --- ---
    MAJACHUNATA: good, UX mě baví, tak ti ještě trochu naložim :)

    Kdyz na homescrene tapnu na kolecko u tasku, tak mi rekne, ze "...already checked today". Nechapu co je tim mysleno. At uz to mam checkovat ja a nebo appka, tak by to melo byt nejak indikovano, ze se tak stalo/nestalo.

    --- Design

    Udělej dark tema, by default. Nemusi to byt prepinaci, ale rovnou pocitej s tim, ze to lidi chteji (ma to smysl).

    Pravdepodobne budes znat, ale kdyby ne: Material Design Guidelines - spousta dobrych UI/UX hintu

    Použij Floating Action Button pattern - pro pridavani tasku je to optimalni (oproti tlacitku z horni hrany mobilu, kam nelze prakticky dosahout).
    Notification ON/OFF tam muzes nechat, ale staci ikonka.

    --- Store

    Prezentace na store je komplexni problem, je treba zkoumat konkurenci a pracovat s keywords - da se to shrnout pod pojem App Store Optimization (treba tady) a vyzaduje nejaky cas. Oblibil jsem si treba tool AppAnnie

    --- DevOps

    Pred dalsim projektem si natrenuj a vychytej devops procesy a automatizaci. Napr.:

    Pushnutim do masteru s tagem 0.2 se spusti proces, ktery
    - zbuildi appku pro test, debug, betu i produkci
    - vygeneruje novou package version 0.2.001
    - vygeneruje changelog sestavajici z commit messages od predchoziho tagu (0.1 -> 0.2)
    - appku zbuildi pro debug, betu i produkci
    - podepise
    - uploadne na Google Play do prislusnych chlivku, vcetne changelogu
    MAJACHUNATA
    MAJACHUNATA --- ---
    MIKULAS: jo a pokud někomu můj přístup přijde padlej na hlavu, tak prosím taky nahlas
    MAJACHUNATA
    MAJACHUNATA --- ---
    MIKULAS: cil je me androidi hello world, ktery si idealne i nekdo stahne a nebude nastvanej z pouzivani.
    Kdyz uz se s necim snazim, at to ma trochu uroven. Karieru v androidu budovat nebudu. Tu mam programatorskou trosku v jinym smeru.
    Mam v planu v budoucnu udelat malinko slozitejsi appku (ale ne moc) a nechci se do toho vrhat, dokud neumim solidne udelat jednoduchou. I ta bude hobby. Ale proc nedelat hobby slusne
    Grafika nemam a mit nebudu. Je to solo zalezitost

    Co chci zkritizovat. Asi zejmena UX. O tom vim pramalo a to si jeste fandim. A taky jestli je jasne o co v appce jde a jestli to mym programatorskym vizualem to neodrazuje.

    Narvrh na nove ficury jen vitam. Nerikam, ze vse udelam.

    JInak dekuju za vecny pripominky.
    UX - presne takovyhle veci vubec nevnimam. diky!
    Upominani v konkretni cas tam dokonce mam jen zatim schovane, takze to dodam.
    Pretekani textu me melo napadnout diky.
    Prezentace bude orisek, ale zkusim okoukat jak se to dela u jinych

    Diky za vanocni pripominky :)
    MIKULAS
    MIKULAS --- ---
    MAJACHUNATA: jo a notifikace by měla mít flexibilní čas per task - zaplatit nájem ve 12h (klidně v práci), vyluxovat v 18h (až dojdeš domů). Když bude v jeden den více tasku a ozvou se všechny naráz, člověk nezvládne všechny.
    MIKULAS
    MIKULAS --- ---
    MAJACHUNATA: asi by bylo lepší definovat, co chceš zkritizovat? Nebo spíše čeho chceš dosáhnout? Bez cíle to je těžký.

    Za mě je třeba zapracovat na UX, mazání a rušení věci vlevo, potvrzování vpravo (většina lidí drží mobil v pravačce).

    Vícejazyčnost - u takovéto appky must-have - úzce souvisí s UX, kdy by texty neměly přetékat kde nemají a zachovávat rozpaly, odstupy od dalších prvků i kdyby to bylo v němčině.

    Dokonalá prezentace na Google Play (zejména screeny "prodávají", i když je appka zdarma).

    Přidat možnost notifikace mailem.

    Přidat možnost dát k taskum ikonku a nebo alespoň barvu (kategorii).
    MAJACHUNATA
    MAJACHUNATA --- ---
    Zdravim, koukam, ze asi posilam do spatne diskuze vedle. Zkusim to jeste sem. Omlouvam se za duplikaci.
    Zkousim experimentalne malou appku. Je to me zkoumani terenu. Nechystam se na zadne komercni tazeni. Jen zkousim android coby prezentacni platformu pro me male programky.
    Aktualne se mi podarilo udelat open betu zcela jednoducheho programku sledujiciho ritualy uzivatele - razeni podle deadlinu a upominani. Nic noveho pod sluncem hadam. Kdyby mel nekdo z vas chvili na konstruktivni kritiku moc to ocenim.
    https://play.google.com/store/apps/details?id=cz.majachunata.rituals
    predem diky
    ADAMH
    ADAMH --- ---
    Ten google. Zkousim nahrat alphu aplikace na google play. Nove se to musi podepisovat pres apksigner nicmene

    https://developer.android.com/studio/command-line/apksigner
    "Caution: If you sign your APK using apksigner and make further changes to the APK, the APK's signature is invalidated. Therefore, you must use tools such as zipalign before signing your APK. "

    No takze nejprve udelam zipalign a pak apksigner a google play si stezuje ze to neni ziaplignovany. Kdyz to udelam opacne tak ocivinde si stezuje ze to neni podepsany.

    Je to dalsi pokus na to zvysit tlak na prechod na vendorlock in s apkbundle?

    Nemate funkcni postup na manualni generovani apk?

    Aktualne zkousim tohle

    ~/Android/Sdk/build-tools/30.0.0/zipalign -f -v 4 app-release-unsigned.apk aligned.apk
    ~/Android/Sdk/build-tools/30.0.0/apksigner sign -v --ks /---.keystore --ks-key-alias ------- aligned.apk

    Bez uspechu.
    DATEL
    DATEL --- ---
    JOHNY_G: díky, kouknu na to, ikdyž je to starší implementace přímo nad Camera2 API. Já jsem teď převáděl naši starou implementaci focení (nemůžu využít přímo camera picker, potřebujeme to mít ve vlastní správě) na nové CameraX API. Ono teda ve výsledku používá asi taky tu Camera2, případně Camera(1), ale zjednodušuje to značně implementaci. Problém je asi jen s tím Samsung Galaxy S8, ale co jsem tak dohledal, tak je to asi problém přímo toho zařízení. Úžasná rada z netu - když to přestane ostřit, zatřepej s telefonem a bude to zase v pohodě (a ono fakt jo :-D). Proto jsme v té staré implementaci pro Samsung telefony měli výjimku a používali staré Camera1 API, kde to ostření ze záhadného důvodu funguje. Mě už z toho Androidu vážně omejou :(
    JOHNY_G
    JOHNY_G --- ---
    DATEL: Camera API je paskvil, a proto mají všichni výrobci proprietární foťák a všechny ostatní aplikace fotí hnusně :-)). Jestli můžeš, použij prostě camera picker. Jestli nemůžeš, budeš muset na některých telefonech používat CONTROL_AF_MODE_CONTINUOUS_PICTURE namísto CONTROL_AF_MODE_AUTO. Třeba tady má implementovanou i tu podmínku, ale netuším, jestli zrovna tenhle kód funguje. Já jsem typicky používal nějaký framework nad tím (Vuforia a tak).
    DATEL
    DATEL --- ---
    Ahoj, implementoval jste někdo focení skrz CameraX API? Pokud ano, funguje vám autofocus, popřípadě focus po tapnutí na preview (s vlastní implementací samozřejmě) na Samsung telefonech? Ideálně konkrétně na S8?
    DRIZDIK
    DRIZDIK --- ---
    Pro ty co používají fastlane pro deployment, je k nečemu dobré pouštět ve fastlane pouštěné testy, když je mám i předtím v pipelině?
    KAERO
    KAERO --- ---
    DRIZDIK: jo, tak jsem tam nacpal i ty translation tools, a programy zajmu zadrou na pouziti bluetooth. ve chvili kdy ma nastat pripojeni tak spadnou. pritom z hostitelske masiny jsem schopen se tomu bluetooth zarizeni ozvat. emulace holt ma sve mouchy:(
    DRIZDIK
    DRIZDIK --- ---
    KAERO: To máš spíš jen špatné APK .. většina APK je vydávána pro více ABI (platforem) a v zájmu udržení velikosti APK jsou ty APK oddělené pro jednotlivé platformy a tys někde stáhnul ARM místo x86 a emulátor máš na x86.
    Ale jinak by translation tools měly být jen o drag&drop na emulátor
    KAERO
    KAERO --- ---
    Hm, tak genymotion je hezky, ale ten program nespusti, potrebuje arm translation tools a to zacina byt komplikovane.
    zacinam si myslet ze koupit nejaky tablet z druhe ruky by bylo skoro uz financne lepsi vzhledem k tomu kolik casu jsem na tom stravil...

    jenze problem je ze kdyz bude android primo na hw, tak nemuzu udelat jednoduchou zalohu stavu jako treba ve virtualboxu

    cert vem android, nemam ho rad :(
    DRIZDIK
    DRIZDIK --- ---
    KAERO: Mají i desktop, pro personal use se dá stáhnout zdarma. Sám jsem ho už dlouho nepoužil, ale byl to asi nejlepší emulátor. https://www.genymotion.com/fun-zone/
    KAERO
    KAERO --- ---
    ech, omlouvam se, puvodne jsem to chtel napsat do linuxoveho auditka a pak jsem si uvedomil ze tady to bude smysluplnejsi. mam linux ubuntu 18.04.

    MIKULAS: dik, bohuzel je to jen pro windows/macos.

    STARF: aha, dik, zkusim dohledat. vcera jsem jeste resil problemy ze AVD se nechce poustet, zatim googlim a pomalu postupuju jak to vubec rozchodit.

    DRIZDIK: hm, jsem z toho uplne zmateny. tak je jenom cloud nebo i desktop? je jen placeny nebo i zdarma pro osobni pouziti? nachazim na jejich strankach rozporuplne informace.
    DRIZDIK
    DRIZDIK --- ---
    KAERO: Ten Genymotion by měl být dobrý, nezavrhoval bych ho tak rychle.
    STARF
    STARF --- ---
    KAERO: Nevim, co mas za OS.. kazdopadne pochopitelne jde Android Emulator pustit bez AS.
    Na macOS takto (jestli mas jiny system, dogoogli si treba "run AVD without Android Studio"):

    ~/Library/Android/sdk/tools/emulator -list-avds
    cd ~/Library/Android/Sdk/tools && ./emulator -avd Pixel_3a_API_29
    KAERO
    KAERO --- ---
    Chtel jsem poustet nejake programy, co jsou jen na androidu. Ale nechci si je strkat na telefon ("aplikace" Lego Boost, ovladani cinskeho robota). Tak jsem se kouknul na moznosti virtualizace androidu v linuxu.

    Jel jsem podle tohoto navodu:
    Best Way to Run Android Apps and Games on Linux – Linux Hint
    https://linuxhint.com/android_apps_games_linux/
    Anbox: funguje, ale jen pro nektere programy. Treba ctecka knih v poho, ale ty co potrebuju ne - zobrazi se jen prazdne okno. Problem s graficky narocnejsimi programy?
    Arc Welder: opet, nektere programy jedou, ty co potrebuju ne.
    Genymotion: cloud nechci, mam rad veci doma na svem disku.
    Android-x86: reseni pres virtual box - to vypadalo dobre. Bohuzel ale casto programy uvnitr padaji, treba google play jsem spustil az na potreti, a pri aktualizaci zase chyba. Pisou ze je potreba dat vice procesoru, ale ani 4 nepomohly. Nedohledal jsem kde je problem.
    Android Studio IDE: pripada mi ze tohle neni pouzitelne na pravidelne spousteni nekolika androidich programu. Jde ta virtualizace postet bez celeho vyvojoveho prostredi? Jeste jsem to uplne nerozchodil.

    Tak nejak jsem mel pocit, ze to s androidem bude jednoduche. Jeden balik z repozitaru a budu mit kompletni virtualni android. Ale ono ne.

    Virtualizujete nejak android? Minul jsem nejakou moznost?
    Kliknutím sem můžete změnit nastavení reklam