event:android_development
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| event:android_development [2013/04/23 19:55] – Workshopy zrušeny pro nedostatek zájmu da3m0n22 | event:android_development [2025/03/13 14:21] (current) – fix templatere plugin invocation root | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOCACHE~~ | ||
| + | ======== Android Development Series ======== | ||
| + | {{template> | ||
| + | name=Android Development| | ||
| + | image=http:// | ||
| + | organizer=[[user: | ||
| + | datetime=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, | ||
| + | |||
| + | |||
| + | ======== 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:// | ||
| + | |||
| + | 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í, | ||
| + | * example: Hello World | ||
| + | * {{: | ||
| + | * {{: | ||
| + | * [[http:// | ||
| + | * (2) Struktura aplikace, MVC pattern, Activity life-cycle, způsoby uložení dat | ||
| + | * {{: | ||
| + | * {{: | ||
| + | * [[http:// | ||
| + | * example: CRUD nad SharedPreferences, | ||
| + | * (3) Vlákna, responzivita aplikace, AsyncTask, Práce se sítí | ||
| + | * example: Načítání dat z webového zdroje, persistence, | ||
| + | * {{: | ||
| + | * {{: | ||
| + | * {{: | ||
| + | * [[http:// | ||
| + | * (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, | ||
| + | * {{: | ||
| + | * {{: | ||
| + | * [[http:// | ||
| + | * (5) ActionBar (ABS, Split), Options Menu, Context Menu, Dialogs, Intents | ||
| + | * example: Využití ActionBarSherlock, | ||
| + | * {{: | ||
| + | * {{: | ||
| + | * [[http:// | ||
| + | * (6) Layout variants, Maven | ||
| + | * {{: | ||
| + | * {{: | ||
| + | * [[http:// | ||
| + | * (7) Pokročilá témata: | ||
| + | * {{: | ||
| + | * [[http:// | ||
| + | * (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čí, | ||
| + | * draw9patch - pro úpravu grafických assetů pro 9patch resizing | ||
| + | |||
| + | ======== Příprava vývojového prostředí ======== | ||
| + | |||
| + | <note tip> | ||
| + | |||
| + | * Nainstalovat JDK a JRE prostředí | ||
| + | * Stáhnout Eclipse poslední verzi pro Java vývoj (verze 3.8 by neměla dělat problémy) ([[http:// | ||
| + | * Nainstalovat Android SDK ([[http:// | ||
| + | * Stáhnout aktualizace pro SDK a nainstalovat SDK API 17 (Sources, Javadoc, Google API) ([[http:// | ||
| + | * Nainstalovat z [[http:// | ||
| + | * Nastavit proměnnou prostředí PATH tak aby obsahovala cestu ke složce {android_sdk/ | ||
| + | |||
| + | ======== Knowledge Base (EN) ======== | ||
| + | |||
| + | < | ||
| + | |||
| + | * Robotium testing: http:// | ||
| + | * Supporting multiple screen resolutions: | ||
| + | * ORM: | ||
| + | * http:// | ||
| + | * https:// | ||
| + | * Permissions explained | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * Supporting multiple API levels: | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * ActionBar for backsupport API lower than 11 | ||
| + | * http:// | ||
| + | * Fastest JSON Serialize/ | ||
| + | * http:// | ||
| + | * Java Static Code Analysis | ||
| + | * http:// | ||
| + | * LINT (ADT since API 16 built-in) http:// | ||
| + | * http:// | ||
| + | * Avoiding Memory Leaks (Context Memory leaks) | ||
| + | * http:// | ||
| + | * ACRA - collecting crash logs from devices (many useful info for debugging in deploy stage) | ||
| + | * http:// | ||
| + | * AVD (Android Virtual Device) - Emulator enhancement | ||
| + | * http:// | ||
| + | * Java pass-by-reference / pass-by-value explanation | ||
| + | * http:// | ||
| + | * Android introduction, | ||
| + | * http:// | ||
| + | ======== Knowledge Base (CZ) ======== | ||
| + | |||
| + | * Seriál o vývoji na Zdrojak.cz | ||
| + | * http:// | ||
| + | |||
| + | {{tag> | ||