Top Banner
Uvod u Android programiranje Ivan Vecko i Marko Čučković #CodeCAMPos
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

Oct 27, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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]