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

Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

  • Upload
    others

  • View
    29

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Uvod u Android programiranje

Ivan Vecko i Marko Čučković

#CodeCAMPos

Page 2: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja
Page 4: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Android

• Linux

• Dalvik, ART

• DEX, ODEX, ELF

Android Wear Phones Tablets Android TV Android Auto

Page 5: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja
Page 6: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja
Page 7: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja
Page 8: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja
Page 9: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Način razvijanja aplikacije

• Android Studio, Eclipse,

Netbeans

• Android SDK

• Emulator (AVD)

• Programski kod (Java)

• XML

• Driveri

Page 10: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Osnovni elementi

• Activity

• Service

• Intent

• Broadcast receiver

• Content Provider

Page 11: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Manifest

• Package, verzija code-a

• Dopuštenja (permissions)

• Aplikacija

• Aktivnosti

• Servisi

Page 12: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

 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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja
Page 14: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Usluga

Page 16: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Namjere (Intents)

• Pokretanje drugih

aktivnosti

1. Eksplicitne

2. Implicitne

• Pokretanje servisa

Page 17: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Broadcast receiver

• Primanje namjera

Content provider

• Dijeljenje sadržaja

Page 18: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Sadržaj projekta aplikacije

• Mapa manifests

• Mapa java

• Mapa res

• Mapa gradle scripts

Page 19: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

• 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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

• 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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Skočne poruke i dijalozi

• Skočna poruka (Toast)

• Dijalog (AlertDialog,DatePickerDialog i

TimePickerDialog)

Page 24: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Fragmenti

• Podjela aktivnosti na manje komponente

Page 25: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Načini izvođenja zadataka u pozadini

● Asinkrono izvođenje

zadataka u pozadini

(AsyncTask)

● Klasična usluga (Service)

Page 28: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Testiranje i priprema za objavu

• Alfa testiranje

• Beta testiranje

• Priprema za postavljanje

aplikacije na store

Page 29: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

Talk is cheap. Show me the code. Linus Torvalds

Page 31: Uvod u android programiranje - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

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 - factory.hr · •Android OS •Način razvijanja aplikacije •Osnovi elementi aplikacije •Sadržaj projekta aplikacije •Elementi korisničkog sučelja

• www.plavatvornica.com

[email protected]

• @plavatvornica

• facebook.com/plavatvornica

Ivan Vecko Mobile Developer

[email protected]

Marko Čučković Mobile Developer

[email protected]