uvod u android programiranje - plava...

32
Uvod u Android programiranje Ivan Vecko i Marko Čučković #CodeCAMPos

Upload: duongquynh

Post on 05-Feb-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Uvod u Android programiranje

Ivan Vecko i Marko Čučković

#CodeCAMPos

Page 2: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Sadržaj

• Plava tvornica – što rade mobile developeri?

• Android OS

• Način razvijanja aplikacije

• Osnovi elementi aplikacije

• Sadržaj projekta aplikacije

• Elementi korisničkog sučelja

• Izvođenje zadataka u pozadini

• Testiranje i priprema za objavu

Page 3: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija
Page 4: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Android

• Linux

• Dalvik, ART

• DEX, ODEX, ELF

Android Wear Phones Tablets Android TV Android Auto

Page 5: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija
Page 6: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija
Page 7: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija
Page 8: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija
Page 9: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Način razvijanja aplikacije

• Android Studio, Eclipse,

Netbeans

• Android SDK

• Emulator (AVD)

• Programski kod (Java)

• XML

• Driveri

Page 10: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Osnovni elementi

• Activity

• Service

• Intent

• Broadcast receiver

• Content Provider

Page 11: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Manifest

• Package, verzija code-a

• Dopuštenja (permissions)

• Aplikacija

• Aktivnosti

• Servisi

Page 12: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

 Aktivnost (activity)

• Aplikacije se sastoje od

aktivnosti

• Jedna početna aktivnost

• Može pokrenuti drugu

aktivnost

• Stog aktivnosti

• Ima životni vijek

Page 13: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija
Page 14: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Usluga (Service)

• Karakteristike:

• Nevidljive

• Rade u pozadini - ali

nisu nova nit

• Imaju životni vijek

• Načini izvođenja usluge:

1. Pokrenuta usluga

2. Povezana usluga

Page 15: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Usluga

Page 16: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Namjere (Intents)

• Pokretanje drugih

aktivnosti

1. Eksplicitne

2. Implicitne

• Pokretanje servisa

Page 17: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Broadcast receiver

• Primanje namjera

Content provider

• Dijeljenje sadržaja

Page 18: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Sadržaj projekta aplikacije

• Mapa manifests

• Mapa java

• Mapa res

• Mapa gradle scripts

Page 19: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Stvaranje aktivnosti i definiranje prikaza

● Stvaranje:

○ Java klasa - definira aktivnost (stvaraju

se i popratne datoteke)

○ Definicija aktivnosti u manifestu

● Definiranje prikaza:

○ Layout.xml

○ Programski

Page 20: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Elementi korisničkog sučelja

• Elementi prikaza (views)

• Grupe elemenata prikaza

(view groups)

• 4 vrste razmještaja:

○ LinearLayout

○ RelativeLayout

○ ListView

○ GridView

Page 21: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

• Glavni interaktivni elementi korisničkog sučelja:

Kontrole unosa

• Tekstualna polja (Text Fields)

• Gumbi (Buttons)

• Prekidači (Toggle buttons, Switches)

• Kvačice (Checkboxes)

Page 22: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

• Glavni interaktivni elementi korisničkog sučelja:

Kontrole unosa

• Izbornici (Radio Buttons)

• Gumbi za odabir vremena

i datuma (Pickers)

• Padajući izbornici (Spinners)

Page 23: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Skočne poruke i dijalozi

• Skočna poruka (Toast)

• Dijalog (AlertDialog,DatePickerDialog i

TimePickerDialog)

Page 24: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Fragmenti

• Podjela aktivnosti na manje komponente

Page 25: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Lokalno čitanje i spremanje podataka

• Osnovne metode pohrane podataka

○ Dijeljene postavke

(SharedPreferences)

○ Stanje instance

○ Interna pohrana datoteka

(u memoriju uređaja)

○ Vanjska pohrana datoteka

(na SD karticu uređaja)

○ SQLite baza podataka

Page 26: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Izvođenje zadataka u pozadini

• Što to točno znači?

• Složeni i vremenski zahtjevni

zadaci

• Zašto je to bitno?

Page 27: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Načini izvođenja zadataka u pozadini

● Asinkrono izvođenje

zadataka u pozadini

(AsyncTask)

● Klasična usluga (Service)

Page 28: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Testiranje i priprema za objavu

• Alfa testiranje

• Beta testiranje

• Priprema za postavljanje

aplikacije na store

Page 29: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Google play

• Registrirati se na:

https://play.google.com/apps/

publish/signup/

• Za objavu potrebno je imati

screenshotove aplikacije,

ikonu aplikacije (512x512

pixela) te navesti opis

proizvoda,

Page 30: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Talk is cheap. Show me the code. Linus Torvalds

Page 31: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

Zadatak: Moja prva Android aplikacija

• Autorizacija korisnika

• News Feed

• Profilna slika i sadržaj

• Komentari i lajkovi

• Izgled i layout

• Registracija aplikacije

Rok prijave:

19. travnja 2015.

Više informacija o zadatku na: http://plavatvornica.com/moja_prva_aplikacija/

Page 32: Uvod u android programiranje - Plava tvornicaplavatvornica.com/wp-content/uploads/2015/04/Uvod-u-Android... · Java klasa - definira aktivnost (stvaraju se i popratne datoteke) Definicija

• www.plavatvornica.com

[email protected]

• @plavatvornica

• facebook.com/plavatvornica

Ivan Vecko Mobile Developer

[email protected]

Marko Čučković Mobile Developer

[email protected]