• ú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í
    ALONSY
    ALONSY --- ---
    CNV: Právě že v podstatě vůbec. Nikdy jsem se nedostala přes pár úvodních lekcí (taky jsem neměla jiný plán než "se to naučit", což moc motivaci nepomáhá.)
    CNV
    CNV --- ---
    ALONSY: Něco z programování umíš? Aspoň teoretické základy, co je to objektově orientované programování atd.?
    ALONSY
    ALONSY --- ---
    Totální noob, neumím nic, možná zvládnu s pomocí někde naprogramovat hello world. A mam nápad na appku co chci mít, sama pro sebe, nic velkýho, asi.
    Koukla jsem na android devs, stáhla si prostředí, naprosto mě to zmátlo, protože to vypadá děsivě a pak jsem zjistila, že jsou programy "udělej si svou aplikaci bez programování".
    Super.
    Ale otázka je, jsou co k čemu? Hrabu se v nich už nějakou tu chvíli a přijde mi, že je to koncipovaný spíš jako "udělej si prezentaci" než funkční věc.

    To, co chci, je v mojí hlavě fakt jednoduchý: Vyfotit fotku, která se do aplikace uloží a já budu mít možnost hodnotit různý parametry, co se k ní vážou. Chci to jako food tracker nadesignovanej podle mých potřeb.

    Jak složitý by bylo reálně to udělat, když se rozhodnu to fakt zkusit od základu? (Stejně se člověk nejlíp naučí to programování na nějakém projektu než čtením a stavěním blbostí, ne?). Případně umí appbuildery něco takového nebo hledám naprosto marně a zbytečně a jsou fakt jen k základním prezentacím?

    Díky a sorry za blbo dotaz, ale tak píšete, že je tu i začátečnický help. :)
    MAJACHUNATA
    MAJACHUNATA --- ---
    Během sbírání feedbacku se mi opakovaně a logicky objevil požadavek na sdílení(vysavame celá rodina apod) Vzhledem k tomu, že v případné další appce je sdileni důležita součást, tak to sem chci cvičné doplnit. Dat na uživatele je opravdu minimum a docela ho asi umim i opravdu minimalizovat. Co je ale otázkou je 'omezeni' vytíženosti serveru. Po letmem průzkumu mi dává smysl vejít se do nezpoplatneneho limitu na firebase. Je naka ověřena praxe pro toto? Vymezit uživateli maximální datový prostor? Počítat s nehoraznym počtem uživatelů (kolik?) a i to hlídat? Jinak na zdejších a dalších připomínka ho dělám. Jen je skutečně málo času, tak to trva
    MIKULAS
    MIKULAS --- ---
    MAJACHUNATA: asi jsem měl ani ne 24h na test, tak nevím, animaci jsem neviděl

    Každopádně checknuti pomocí "radio" buttonu je nestandardní, ani bych takovouto akci nečekal.

    FAB - jo poslední nebude vidět, ale ten FAB můžes klidně skrýt, když user scrolluje trochu dolů pod fold. A nebo je to jedno, páč je to task až za dlouho, zajímá tě hlavně ten nejbližší. Případně jsou jiné možnosti, jak píšeš odsazení odspoda ... záleží na formátování fragmentů jednotlivých tasku, aby ta důležitá část šla případně přečíst i pod fabem.

    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/
    Kliknutím sem můžete změnit nastavení reklam