Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
event:android_development [2013/01/29 23:47]
da3m0n22 Příprava vývojového prostředí
event:android_development [2013/08/20 15:22] (current)
da3m0n22
Line 6: Line 6:
 image=http://​ondrejcermak.info/​wp-content/​uploads/​2010/​11/​Android_logo.svg_.png| image=http://​ondrejcermak.info/​wp-content/​uploads/​2010/​11/​Android_logo.svg_.png|
 founder=[[user:​da3m0n22]]| founder=[[user:​da3m0n22]]|
-datetime=since 4.2.2013|+datetime=weekly ​since 4.2.2013, 19h|
 place=brmlab| place=brmlab|
 stream=[[stream]] }} stream=[[stream]] }}
  
-Každý týden ​1-2 hodinová přednáška na téma vývoj aplikací pro Android, v rámci ​které ​realizujeme example aplikaci na probranou teorii. Přednášky a záznamy z přednášek budou vystaveny zde na wiki.+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. Konkrétní den stanovíme do konce ledna 2013, přednášky budou probíhat od prvního týdne v únoru.
  
-======== ​Návrh prvních ​přednášek ========+======== ​Workshopy ======== 
 + 
 +Workshopy jsou specifikovány,​ ale kvůli nedostatku zájmu se nebudou realizovat, pokud bude zájem o vytvoření workshopu, kontaktovat [[user:​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í   * (1) Nastavení vývojového prostředí,​ úvod do struktury aplikace, podpora různých HW a SW konfigurací
     * example: Hello World     * example: Hello World
-  ​* (2) Struktura aplikace, Activity life-cycle, způsoby uložení dat+    * {{:​event:​helloworld.zip|Projekt Eclipse ke stažení}} 
 +    * {{:​event:​android_1.pdf|Prezentace PDF}} 
 +    * [[http://​nat.brmlab.cz/​talks/​android/​2013-02-06-android.mkv|Záznam přednášky]] 
 +  ​* (2) Struktura aplikace, MVC pattern, Activity life-cycle, způsoby uložení dat 
 +    * {{:​event:​helloworld2.zip|Projekt Eclipse ke stažení}} 
 +    * {{:​event:​android_2.pdf|Prezentace PDF}} 
 +    * [[http://​nat.brmlab.cz/​talks/​android/​2013-02-13-android.mkv|Záznam přednášky]]
     * example: CRUD nad SharedPreferences,​ Files, Cache, SQL     * example: CRUD nad SharedPreferences,​ Files, Cache, SQL
   * (3) Vlákna, responzivita aplikace, AsyncTask, Práce se sítí   * (3) Vlákna, responzivita aplikace, AsyncTask, Práce se sítí
     * example: Načítání dat z webového zdroje, persistence,​ zobrazení     * example: Načítání dat z webového zdroje, persistence,​ zobrazení
-  ​* (4) Pokročilé UI, 9patch, Seznamy, Fragmenty+    * {{:​event:​android3.zip|Projekt Eclipse ke stažení}} 
 +    * {{:​event:​android3_update.zip|Projekt Eclipse po workshopu}} 
 +    * {{:​event:​android_3.pdf|Prezentace PDF}} 
 +    * [[http://​nat.brmlab.cz/​talks/​android/​2013-02-27-android.mkv|Záznam přednášky]] 
 +  ​* (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     * example: Seznam načtených dat, onItemClickedListener,​ využití fragmentu Google Maps API
-  ​* (5) UI pro API > v11, Action Bar, zpětná kompatibilita ​(poskytování nové UI a funkčnosti pro zařízení ve zpětné kompatibilitě)+    * {{:​event:​android_4.pdf|Přednáška v PDF}} 
 +    * {{:​event:​android4.zip|Projekt Eclipse pro Workshop}} 
 +    * [[http://​nat.brmlab.cz/​talks/​android/​2013-03-06-android.mkv|Záznam přednášky]] 
 +  ​* (5) ActionBar ​(ABS, Split), Options Menu, Context Menu, Dialogs, Intents
     * example: Využití ActionBarSherlock,​ Support v4/v11 library, options a context menu     * example: Využití ActionBarSherlock,​ Support v4/v11 library, options a context menu
-  ​* (6) Pokročilá témata: ​Maven, ​NDK, Bezpečnost,​ GC, omezení, Memory Leaks+    * {{:​event:​android_5.pdf|Prezentace PDF}} 
 +    * {{:​event:​android5.zip|Projekt Eclipse pro Workshop}} 
 +    * [[http://​nat.brmlab.cz/​talks/​android/​2013-03-13-android.mkv|Záznam přednášky]] 
 +  ​* (6) Layout variants, Maven 
 +    * {{:​event:​android6.zip|Projekt Eclipse pro Workshop a Přednášku}} 
 +    * {{:​event:​android_6.pdf|Prezentace PDF}} 
 +    * [[http://​nat.brmlab.cz/​talks/​android/​2013-03-27-android.mkv|Záznam přednášky]] 
 +  * (7) Pokročilá témata:​NDK,​ Bezpečnost,​ GC, Memory Leaks, Čistota kódu 
 +    * {{:​event:​android_7.pdf|Prezentace PDF}} 
 +    * [[http://​nat.brmlab.cz/​talks/​android/​2013-04-03-android.mkv|Záznam přednášky]] 
 +  * (8) Pokročilá témata: 2D/3D Grafika, Ochrana kódu (ProGuard), Code Quality (FindBugs, CodePro, PMD)
  
 +
 +<​note>​Pokud nejsou aktuální záznamy přednášek nalinkovány sem, jsou k nalezení na adrese: http://​nat.brmlab.cz/​talks/​android/</​note>​
 ======== Použité technologie ======== ======== Použité technologie ========
  
Line 48: Line 92:
 <note tip>​Sežeňte si pro vývoj fyzické android zařízení s Android verze 4 (API 14 a výše)</​note>​ <note tip>​Sežeňte si pro vývoj fyzické android zařízení s Android verze 4 (API 14 a výše)</​note>​
  
-  * Stáhnout Eclipse poslední verzi pro Java vývoj ([[http://​www.eclipse.org/​downloads/​packages/​eclipse-ide-java-developers/​junosr1|Eclipse Juno]])+  ​* 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://​www.eclipse.org/​downloads/​packages/​eclipse-ide-java-developers/​junosr1|Eclipse Juno]])
   * Nainstalovat Android SDK ([[http://​developer.android.com/​sdk/​index.html|Stažení a instalační instrukce]])   * Nainstalovat Android SDK ([[http://​developer.android.com/​sdk/​index.html|Stažení a instalační instrukce]])
   * Stáhnout aktualizace pro SDK a nainstalovat SDK API 17 (Sources, Javadoc, Google API) ([[http://​developer.android.com/​sdk/​installing/​adding-packages.html|Návod]]   * Stáhnout aktualizace pro SDK a nainstalovat SDK API 17 (Sources, Javadoc, Google API) ([[http://​developer.android.com/​sdk/​installing/​adding-packages.html|Návod]]
   * Nainstalovat z [[http://​marketplace.eclipse.org/​|Marketplace]] ADT plugin ([[http://​developer.android.com/​sdk/​installing/​installing-adt.html|Dokumentace ADT a Návod na instalaci]])   * Nainstalovat z [[http://​marketplace.eclipse.org/​|Marketplace]] ADT plugin ([[http://​developer.android.com/​sdk/​installing/​installing-adt.html|Dokumentace ADT a Návod na instalaci]])
 +  * Nastavit proměnnou prostředí PATH tak aby obsahovala cestu ke složce {android_sdk/​platform-tools}
 +
 +======== Knowledge Base (EN) ========
 +
 +<​note>​Informace,​ které asi nebudete potřebovat všechny, ale rozhodně stojí za zmínku, pokud to myslíte vážně</​note>​
 +
 +  * Robotium testing: http://​www.vogella.com/​articles/​AndroidTesting/​article.html
 +  * Supporting multiple screen resolutions:​ http://​developer.android.com/​guide/​practices/​screens_support.html
 +  * ORM:
 +    * http://​ormlite.com/​
 +    * https://​www.activeandroid.com/​
 +  * Permissions explained
 +    * http://​developer.android.com/​reference/​android/​Manifest.permission.html
 +    * http://​www.android-permissions.org/​permissionmap.html
 +  * Supporting multiple API levels:
 +    * http://​developer.android.com/​guide/​topics/​manifest/​uses-sdk-element.html
 +    * http://​stackoverflow.com/​a/​4994039/​492624
 +  * ActionBar for backsupport API lower than 11
 +    * http://​actionbarsherlock.com/​
 +  * Fastest JSON Serialize/​Deserialize library
 +    * http://​jackson.codehaus.org/​
 +  * Java Static Code Analysis
 +    * http://​www.jutils.com/​eclipse/​index.html
 +    * LINT (ADT since API 16 built-in) http://​tools.android.com/​tips/​lint
 +    * http://​findbugs.sourceforge.net/​
 +  * Avoiding Memory Leaks (Context Memory leaks)
 +    * http://​android-developers.blogspot.cz/​2009/​01/​avoiding-memory-leaks.html
 +  * ACRA - collecting crash logs from devices (many useful info for debugging in deploy stage)
 +    * http://​acra.ch/​
 +  * AVD (Android Virtual Device) - Emulator enhancement
 +    * http://​www.developer.com/​ws/​android/​development-tools/​supercharge-your-android-emulator-speed-with-intel-emulation-technologies.html
 +  * Java pass-by-reference / pass-by-value explanation
 +    * http://​javadude.com/​articles/​passbyvalue.htm
 +  * Android introduction,​ setting up dev environment
 +    * http://​www.youtube.com/​watch?​v=1fT32Gs1fBs
 +======== Knowledge Base (CZ) ========
 +
 +  * Seriál o vývoji na Zdrojak.cz
 +    * http://​www.zdrojak.cz/​clanky/​vyvijime-pro-android-zaciname/​
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki