Rudo Halmi: začíname programovať Android aplikácie
-
Upload
michal-chabada -
Category
Technology
-
view
2.229 -
download
7
Transcript of Rudo Halmi: začíname programovať Android aplikácie
08.11.2012 Rudolf Halmi 1
Ako začať s programovaním pre Android
08.11.2012 Rudolf Halmi 2
Osnova
Nástroje
Začíname s vývojom
Tipy a triky
Hrabeme sa v kóde
08.11.2012 Rudolf Halmi 3
Nástroje
Inštalácia Ubuntu 12.10http://www.ubuntu.com/download/desktop
● Java● Android SDK tools
● Intellij Idea
08.11.2012 Rudolf Halmi 4
Java
● sudo add-apt-repository ppa:webupd8team/java● sudo apt-get update● sudo apt-get install oracle-java7-installer● sudo update-java-alternatives -s java-7-oracle
08.11.2012 Rudolf Halmi 5
Intellij Idea & Android SDK
IntelliJ Idea – community edition
● http://www.jetbrains.com/idea/download/index.html
Android SDK tools
● http://developer.android.com/sdk/index.html
08.11.2012 Rudolf Halmi 6
Stiahnutie SDK API
● Spustíme si android-sdk-linux/tools ./android
08.11.2012 Rudolf Halmi 7
Stiahnutie SDK API
08.11.2012 Rudolf Halmi 8
Spustenie Idei
● Pri prvom spustení nič neimportujem
08.11.2012 Rudolf Halmi 9
Idea
08.11.2012 Rudolf Halmi 10
Začíname s vývojom
● Konfigurácia Idei● Nový projekt
● Popis adresárov projektu● 64 bitový problém
● Vytvorenie AVD● Spustenie app
08.11.2012 Rudolf Halmi 11
Konfigurácia Idei
● Konfigurácia SDK● File → Project Structure● Add new SDK
● Najprv cesta k Jave● /usr/lib/jvm/java-7-oracle
● Potom k Android SDK
08.11.2012 Rudolf Halmi 12
Nový projekt
● Klikneme na Create new project
● A potom na Create project from scratch
08.11.2012 Rudolf Halmi 13
Nový projekt● Vyplníme formulár
08.11.2012 Rudolf Halmi 14
Popis adresárov projektu
● Assets – priamy prístup● Bin - kompilovane● Gen – generovane R● Res - resource● Src - zdrojaky● AndroidManifest.xml
08.11.2012 Rudolf Halmi 15
64 bitový problém
● Pri pokuse o spustení app ADB sa nedá spustiť● Nutné doinštalovať ia32-libs
08.11.2012 Rudolf Halmi 16
Vytvorenie AVD
● Po kliknutí na zelenú ikonu (play)
● Sa otvorí okno na spustenie app
08.11.2012 Rudolf Halmi 17
Vytvorenie AVD
● Klikneme na NEW
08.11.2012 Rudolf Halmi 18
● Zvolíme si API● Veľkosť SD karty● Rozlíšenie● Príp. ďalšie
parametre
08.11.2012 Rudolf Halmi 19
Vytvorenie AVD
● Hláška potvrdí vytvorenie emulátora
08.11.2012 Rudolf Halmi 20
Spustenie app
● Späť v okne spustenia app si zvolíme emulátor
08.11.2012 Rudolf Halmi 21
Spustenie app
08.11.2012 Rudolf Halmi 22
Tipy a triky
● Popis res adresárov● Layouty
● WYSIWYG editor● Rozmery widgetov
● Stringy● Farby
● Obrázky● Tvary
08.11.2012 Rudolf Halmi 23
Popis res adresárov
● Anim● Drawable● Layout● Raw● Values● Xml
http://developer.android.com/training/basics/supporting-devices/index.html
08.11.2012 Rudolf Halmi 24
Layouty
● Programovo alebo XML● GUI prvky sa volajú Widgety● Priradenie ID cez android:id● Jeden root layout, v ňom widgety, alebo
vnorené layouty
● LinearLayout● RelativeLayout
08.11.2012 Rudolf Halmi 25
LinearLayout
Vertikálny Horizontálny
08.11.2012 Rudolf Halmi 26
RelativeLayout
Vrstvy Relatívna pozícia
08.11.2012 Rudolf Halmi 27
WYSIWYG editor
● Ak sa mi nechce písať XML● Ak chcem rýchlo spraviť koncept GUI● Eclipse - UI designer v ADT● DroidDraw
● Java v browseri● Standalone app – Linux, Mac, Win
08.11.2012 Rudolf Halmi 28
WYSIWYG editor – DroidDraw
08.11.2012 Rudolf Halmi 29
Rozmery widgetov
● layout_width a layout_height● wrap_content● fill_parent (match_parent)● Rozmer a jednotka
– http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
● Dip – density
independent pixels
08.11.2012 Rudolf Halmi 30
Rozmery widgetov
● Dip
08.11.2012 Rudolf Halmi 31
Rozmery widgetov
● Referencia z xml súboru● Vytvoríme si /values/dimensions.xml
<resources>
<dimen name="text_width">100dip</dimen></resources>
● Priradíme widgetu:layout_width="@dimen/text_width"
● Pre rôzne konfigurácie
rôzne veľkosti
08.11.2012 Rudolf Halmi 32
Stringy
● Pridáme si do layoutu EditText
● Nie je dobré vpisovať stringy priamo do layoutu● Otvoríme si /values/strings.xml a pridáme
08.11.2012 Rudolf Halmi 33
Stringy
● Tieto texty priradíme widgetom
08.11.2012 Rudolf Halmi 34
Farby
● Vytvoríme si /values/colors.xml● Pridáme si novú farbu
● 4 Hexa hodnoty (00 - FF)● FF – priehľadnosť● ED – červená zložka● CB – zelená zložka● 40 – modrá zložka
08.11.2012 Rudolf Halmi 35
Farby
● Priradenie v layoute:
● http://colorschemedesigner.com/
08.11.2012 Rudolf Halmi 36
Obrázky
● Zmena pozadia buttonu – nine patchhttp://developer.android.com/tools/help/draw9patch.html
● Button má rôzne stavy → XML/drawable/mybutton.xml
08.11.2012 Rudolf Halmi 37
Obrázky
● Priradenie novej grafiky buttonu:
08.11.2012 Rudolf Halmi 38
Tvary
● Namiesto obrázkov použijeme v xml zadefinovaný tvar
● Zaoblené rohy● Gradient 3 farieb● Zadefinujeme si 3 nové farby do colors.xml
08.11.2012 Rudolf Halmi 39
Tvary
● Vytvoríme si /res/drawable/mygradient.xml
08.11.2012 Rudolf Halmi 40
Tvary
● Priradíme ho nášmu root Layoutu a vycentrujeme
08.11.2012 Rudolf Halmi 41
Hrabeme sa v kóde
● Životný cyklus aplikácií● OnClickListener
● Implementácia metódy onClick
08.11.2012 Rudolf Halmi 42
Životný cyklus aplikácií
● Otvoríme si MyActivity.java● Vidíme metódu onCreate, existujú aj ďalšie
08.11.2012 Rudolf Halmi 43
Životný cyklus aplikácií
● http://developer.android.com/training/basics/activity-lifecycle/index.html
08.11.2012 Rudolf Halmi 44
OnClickListener
● Overridneme si metódu onStart() a zaregistrujeme si OnClickListener na Button
● Pripravíme si referencie na widgety
08.11.2012 Rudolf Halmi 45
OnClickListener
● Nainicializujeme si ich v onStart
08.11.2012 Rudolf Halmi 46
Implementácia metódy onClick
● Pridáme si kontrolnú hlášku do stringov
● Doplníme kód metódy onClick
08.11.2012 Rudolf Halmi 47
Implementácia metódy onClick
Prázdne meno Vyplnené meno
08.11.2012 Rudolf Halmi 48
Ešte pár linkov
● NazdarSvet: http://goo.gl/dU13y
● Prezentácia: http://goo.gl/wZ2TU
● http://www.mojandroid.sk/vyvoj-android-aplikacii/piseme-prvu-android-aplikaciu
● http://developer.android.com/sdk/installing/index.html● http://developer.android.com/about/dashboards/index.html
● http://developer.android.com/training/index.html
● http://developer.android.com/guide/components/index.html
● http://www.droiddraw.org/
08.11.2012 Rudolf Halmi 49
Ďakujem za pozornosť
V prípade otázok: [email protected]
alebo aj ak robíte grafiku :)