rudo halmi: začíname programovať android aplikácie

Post on 12-Jul-2015

2.225 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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: rootko@gmail.com

alebo aj ak robíte grafiku :)

top related