Android Development Series
Android Development |
|
organizer: | da3m0n22 |
date/time: | weekly since 4.2.2013, 19h |
place: | brmlab |
stream: | stream |
Každý týden přibližně hodinová přednáška na téma vývoj aplikací pro Android, a následně workshop v rámci kterého realizujeme example aplikaci na probranou teorii. Workshop se dle zkušeností může protáhnout i na 3 hodiny. Přednášky a záznamy z přednášek budou vystaveny zde na wiki.
Konkrétní den stanovíme do konce ledna 2013, přednášky budou probíhat od prvního týdne v únoru.
Workshopy
Workshopy jsou specifikovány, ale kvůli nedostatku zájmu se nebudou realizovat, pokud bude zájem o vytvoření workshopu, kontaktovat da3m0n22
Bugfixing Workshop
Po skonceni zakladniho kurzu se pokusime v brmlabu zorganizovat workshop, ktery se zameri na fixovani problemu existujicich open-source Android aplikaci. Identifikujeme vhodne aplikace, ktere kazdy z nas vyuziva, a na strance jednotlivych aplikaci projedeme seznam hlasenych chyb. Nektere z nich se pokusime (ci uz spolecne nebo samostatne) opravit a poslat opravy zpatky autorum. O workshopu budeme vcas informovat.
Further-development Workshop
https://github.com/smarek/Simple-Dilbert
Workshop zaměřený na vývoj a přidávání funkčností do existujícího projektu. Pro účely praxe v týmovém vývoji, přebírání exisutjícího kódu, používání Github (Issues, Pull Request, Wiki), vytváření dokumentace (Javadoc) a kontroly kvality kódu.
Pro účely workshopu se práce rozdělí podle schopností a problematiky do více prací a ty budou rozděleny jednotlivcům nebo týmům.
Example aplikace je zároveň zveřejněná v Google Play (Android Market), takže se budeme zabývat praxí správy aplikace v Google Play, podpory, nahrávání a vytváření nových verzí…
Plán přednášek
(1) Nastavení vývojového prostředí, úvod do struktury aplikace, podpora různých HW a SW konfigurací
(2) Struktura aplikace, MVC pattern, Activity life-cycle, způsoby uložení dat
(3) Vlákna, responzivita aplikace, AsyncTask, Práce se sítí
(4) Pokročilé UI (UI pro
API > v11, Action Bar), 9patch, Seznamy, Fragmenty, Zpětná kompatibilita (Support v4, v13)
example: Seznam načtených dat, onItemClickedListener, využití fragmentu Google Maps
API
-
-
-
(5) ActionBar (ABS, Split), Options Menu, Context Menu, Dialogs, Intents
(6) Layout variants, Maven
(7) Pokročilá témata:NDK, Bezpečnost, GC, Memory Leaks, Čistota kódu
(8) Pokročilá témata: 2D/3D Grafika, Ochrana kódu (ProGuard), Code Quality (FindBugs, CodePro, PMD)
Použité technologie
Java
XML
SQL
JSON
SVN/GIT
Podporované vývojové nástroje
Eclipse
Eclipse ADT
FindBugs (statická analýza java kódu)
Testování na fyzickém zařízení (použití AVD na vlastní nebezpečí, nepodporovaná metoda)
draw9patch - pro úpravu grafických assetů pro 9patch resizing
Příprava vývojového prostředí
Sežeňte si pro vývoj fyzické android zařízení s Android verze 4 (
API 14 a výše)
Knowledge Base (EN)
Informace, které asi nebudete potřebovat všechny, ale rozhodně stojí za zmínku, pokud to myslíte vážně
-
-
ORM:
Permissions explained
Supporting multiple
API levels:
ActionBar for backsupport
API lower than 11
Fastest JSON Serialize/Deserialize library
Java Static Code Analysis
Avoiding Memory Leaks (Context Memory leaks)
ACRA - collecting crash logs from devices (many useful info for debugging in deploy stage)
AVD (Android Virtual Device) - Emulator enhancement
Java pass-by-reference / pass-by-value explanation
Android introduction, setting up dev environment
Knowledge Base (CZ)