49
08.11.2012 Rudolf Halmi 1 Ako začať s programovaním pre Android

Rudo Halmi: začíname programovať Android aplikácie

Embed Size (px)

Citation preview

Page 1: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 1

Ako začať s programovaním pre Android

Page 2: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 2

Osnova

Nástroje

Začíname s vývojom

Tipy a triky

Hrabeme sa v kóde

Page 3: Rudo Halmi: začíname programovať Android aplikácie

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

Page 4: Rudo Halmi: začíname programovať Android aplikácie

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

Page 5: Rudo Halmi: začíname programovať Android aplikácie

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

Page 6: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 6

Stiahnutie SDK API

● Spustíme si android-sdk-linux/tools ./android

Page 7: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 7

Stiahnutie SDK API

Page 8: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 8

Spustenie Idei

● Pri prvom spustení nič neimportujem

Page 9: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 9

Idea

Page 10: Rudo Halmi: začíname programovať Android aplikácie

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

Page 11: Rudo Halmi: začíname programovať Android aplikácie

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

Page 12: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 12

Nový projekt

● Klikneme na Create new project

● A potom na Create project from scratch

Page 13: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 13

Nový projekt● Vyplníme formulár

Page 14: Rudo Halmi: začíname programovať Android aplikácie

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

Page 15: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 15

64 bitový problém

● Pri pokuse o spustení app ADB sa nedá spustiť● Nutné doinštalovať ia32-libs

Page 16: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 16

Vytvorenie AVD

● Po kliknutí na zelenú ikonu (play)

● Sa otvorí okno na spustenie app

Page 17: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 17

Vytvorenie AVD

● Klikneme na NEW

Page 18: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 18

● Zvolíme si API● Veľkosť SD karty● Rozlíšenie● Príp. ďalšie

parametre

Page 19: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 19

Vytvorenie AVD

● Hláška potvrdí vytvorenie emulátora

Page 20: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 20

Spustenie app

● Späť v okne spustenia app si zvolíme emulátor

Page 21: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 21

Spustenie app

Page 22: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 22

Tipy a triky

● Popis res adresárov● Layouty

● WYSIWYG editor● Rozmery widgetov

● Stringy● Farby

● Obrázky● Tvary

Page 23: Rudo Halmi: začíname programovať Android aplikácie

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

Page 24: Rudo Halmi: začíname programovať Android aplikácie

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

Page 25: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 25

LinearLayout

Vertikálny Horizontálny

Page 26: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 26

RelativeLayout

Vrstvy Relatívna pozícia

Page 27: Rudo Halmi: začíname programovať Android aplikácie

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

Page 28: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 28

WYSIWYG editor – DroidDraw

Page 29: Rudo Halmi: začíname programovať Android aplikácie

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

Page 30: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 30

Rozmery widgetov

● Dip

Page 31: Rudo Halmi: začíname programovať Android aplikácie

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

Page 32: Rudo Halmi: začíname programovať Android aplikácie

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

Page 33: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 33

Stringy

● Tieto texty priradíme widgetom

Page 34: Rudo Halmi: začíname programovať Android aplikácie

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

Page 35: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 35

Farby

● Priradenie v layoute:

● http://colorschemedesigner.com/

Page 36: Rudo Halmi: začíname programovať Android aplikácie

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

Page 37: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 37

Obrázky

● Priradenie novej grafiky buttonu:

Page 38: Rudo Halmi: začíname programovať Android aplikácie

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

Page 39: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 39

Tvary

● Vytvoríme si /res/drawable/mygradient.xml

Page 40: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 40

Tvary

● Priradíme ho nášmu root Layoutu a vycentrujeme

Page 41: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 41

Hrabeme sa v kóde

● Životný cyklus aplikácií● OnClickListener

● Implementácia metódy onClick

Page 42: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 42

Životný cyklus aplikácií

● Otvoríme si MyActivity.java● Vidíme metódu onCreate, existujú aj ďalšie

Page 43: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 43

Životný cyklus aplikácií

● http://developer.android.com/training/basics/activity-lifecycle/index.html

Page 44: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 44

OnClickListener

● Overridneme si metódu onStart() a zaregistrujeme si OnClickListener na Button

● Pripravíme si referencie na widgety

Page 45: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 45

OnClickListener

● Nainicializujeme si ich v onStart

Page 46: Rudo Halmi: začíname programovať Android aplikácie

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

Page 47: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 47

Implementácia metódy onClick

Prázdne meno Vyplnené meno

Page 48: Rudo Halmi: začíname programovať Android aplikácie

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/

Page 49: Rudo Halmi: začíname programovať Android aplikácie

08.11.2012 Rudolf Halmi 49

Ďakujem za pozornosť

V prípade otázok: [email protected]

alebo aj ak robíte grafiku :)