#CodeCAMPos
Uvod u Android programiranje Ivan Vecko i Marko Čučković
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
Android • Linux • Dalvik, ART • DEX, ODEX, ELF
Android Wear
Phones
Tablets
Android TV
Android Auto
Način razvijanja aplikacije • Android Studio, Eclipse, Netbeans • Android SDK • Emulator (AVD) • Programski kod (Java)
• XML • Driveri
Osnovni elementi • Activity • Service • Intent
• Broadcast receiver • Content Provider
Manifest • Package, verzija code-a • Dopuštenja (permissions) • Aplikacija
• Aktivnosti • Servisi
Aktivnost (activity) • Aplikacije se sastoje od aktivnosti • Jedna početna aktivnost
• Može pokrenuti drugu aktivnost • Stog aktivnosti • Ima životni vijek
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
Usluga
Namjere (Intents) • Pokretanje drugih aktivnosti 1. Eksplicitne 2. Implicitne •
Pokretanje servisa
Broadcast receiver • Primanje namjera
Content provider • Dijeljenje sadržaja
Sadržaj projekta aplikacije
• Mapa manifests • Mapa java • Mapa res • Mapa gradle scripts
Stvaranje aktivnosti i definiranje prikaza ● Stvaranje: ○ Java klasa - definira aktivnost (stvaraju se i popratne datoteke) ○ Definicija aktivnosti u manifestu
● Definiranje prikaza: ○ Layout.xml ○ Programski
Elementi korisničkog sučelja • Elementi prikaza (views) • Grupe elemenata prikaza (view groups) • 4 vrste razmještaja: ○ LinearLayout ○ RelativeLayout ○ ListView ○ GridView
Kontrole unosa • Glavni interaktivni elementi korisničkog sučelja:
• Gumbi (Buttons) • Tekstualna polja (Text Fields)
• Kvačice (Checkboxes) • Prekidači (Toggle buttons, Switches)
Kontrole unosa • Glavni interaktivni elementi korisničkog sučelja: • Izbornici (Radio Buttons)
• Padajući izbornici (Spinners) • Gumbi za odabir vremena i datuma (Pickers)
Skočne poruke i dijalozi • Skočna poruka (Toast) • Dijalog (AlertDialog,DatePickerDialog i TimePickerDialog)
Fragmenti • Podjela aktivnosti na manje komponente
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
Izvođenje zadataka u pozadini • Što to točno znači? • Složeni i vremenski zahtjevni zadaci • Zašto je to bitno?
Načini izvođenja zadataka u pozadini ● Asinkrono izvođenje zadataka u pozadini (AsyncTask)
● Klasična usluga (Service)
Testiranje i priprema za objavu • Alfa testiranje • Beta testiranje • Priprema za postavljanje aplikacije na store
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,
Talk is cheap. Show me the code. Linus Torvalds
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/
• • • •
www.plavatvornica.com
[email protected] @plavatvornica facebook.com/plavatvornica
Ivan Vecko Mobile Developer
[email protected]
Marko Čučković Mobile Developer
[email protected]