Prvi dan dvodnevne radionice - uopšteni uvod u razvoj mobilnih aplikacija. Namera je da polaznici zajedno, kroz diskusiju, nađu odgovore na neka od čestih pitanja koja postavljaju početnici u programiranju:
- Kako najbolje pristupiti radu?
- Kako bi trebalo učiti programiranje?
- Šta je sve potrebno da bismo mogli da počnemo?
- Koja predznanja, kakav hardver i softver?
Uključena je i demonstracija Android Studija, jednog od razvojnih okruženja za razvoj Android aplikacija.
2. Kako će da izgleda radionica?
● Prvi dan pričamo - neke opšte stvari, uvod, isprobavamo Android studio
● Drugi dan kuckamo - pravimo zajedno jednostavnu aplikaciju
● Vrrrlo važno - ne pričam samo ja, svi treba da se uključe
○ Svaki tačan odgovor donosi 1 poen - poeni za “aktivnost na času”
○ Poene na kraju možete zameniti za stikere
● Cilj je da se družimo, diskutujemo, i da saznate što više o stvarima koje vas
zanimaju.
3. Za početak,
da se upoznamo :)
www.ruma.rs
https://www.etf.bg.ac.rs
www.byteout.com
4. Čime se sve bavim...
… za više info: https://www.linkedin.com/in/jelenakrmar
7. Kako pristupiti radu? Kako treba učiti?
● Kako NE treba raditi?
○ Samo slušati/čitati - kod mora “proći kroz prste”
○ Kuckajte što više!
● To je nekad dosadno…
○ Moj trik - napravi sam sebi zadatak koji ti je zanimljiv, tako će te vući da nastaviš
○ Šta ti treba? Šta treba mami/tati/sestri/bratu?
○ Nekad je korisno tražiti nekom da vam da zadatak.
● Da li ćemo moći da napravimo sve to što zamislimo?
○ Pa ne :D
○ Aaali jednostavne stvari sigurno da (imamo i Google da pomogne :) )
8. Kako sam ja počela? Moje prve aplikacije...
● Kad sam učila Delfi u srednjoj - kviz aplikacija, nalik na “Zlatnu žicu”
● Kad sam učila C# i .NET - asocijacije
● Kad sam učila Android - aplikacija za prepoznavanje ptica za DZPPS
● Kad smo u firmi učili iOS - Early Game Alarm
10. Odakle sam učila (van škole i posla)?
● Moji omiljeni kursevi/tutorijali
○ Besplatan video kurs Androida:
https://www.udemy.com/become-an-android-developer-from-scratch
○ Odlični postovi, i za iOS i za Android: https://www.raywenderlich.com/
○ iOS knjige: https://www.appcoda.com/tutorials/ios/
● Zvanična dokumentacija za Android i iOS je ok, ali je lakše učiti kroz priču
○ dokumentacija je tu da pomogne s konkretnim problemima
○ … kao i Stackoverflow
● Programski jezici se razlikuju, ali koncepti su isti ili vrlo slični (if, for, while)
● Važno je razumeti ideje, koncepte, logiku, i….?
○ engleski :)
11. ● Postoji i hibridni pristupi, uglavnom bazirani na veb tehnologijama
○ Npr. Ionic, React native, NativeScript, Titanium…
○ Prednosti: 1 kod za sve uređaje
○ Mane: razna ograničenja, moguće da ne rade na svim uređajima...
Šta je sve potrebno da bismo počeli da razvijamo
mobilne aplikacije (1)?
* native development Android iOS
Hardver Mac / PC Mac
Razvojno okruženje (IDE) * Android Studio, Eclipse Xcode
Programski jezici * Java, Kotlin Objective C, Swift
12. ● Za većinu stvari je dovoljan emulator
● Ali je korisno imati bar jedan uređaj za testiranje (telefon/tablet) + kabl
○ Zašto?
○ Zbog slikanja, akcelerometra i žiroskopa, GPS-a, testiranja koliko je lako igrati
igrice, koliko naša aplikacija troši bateriju…
● Da bismo postavili našu aplikaciju u prodavnice, potrebni su nam developerski nalozi
○ Za Apple se plaća na godišnjem nivou oko $100
○ Za Android se plaća $25 jednom, prilikom otvaranja naloga.
Šta je sve potrebno da bismo počeli da razvijamo
mobilne aplikacije (2)?
13. Da li ima nešto zajedničko za programiranje mobilnih
aplikacija različitih vrsta?
Vizuelni izgled
Komponente Dizajn
Boje Oblici Raspored
Logika
Klase Kod
15. Kviz!
1. Koja je trenutno aktuelna verzija Androida i kako se
zove?
2. Po čemu verzije dobijaju ime?
3. Koja verzija je trenutno najčešća u svetu?
4. Koliko trenutno aktivnih Android uređaja postoji u svetu?
5. Koliko postoji različitih vrsta Android uređaja?
6. Koliko proizvođača Android telefona postoji? Navedite
neki primer…
1. 8.1, Oreo
2. Po slatkišima
3. Nougat, 7.x
4. > 2 milijarde (2017)
5. > 24000, računajući
tablete (2015)
6. Oko 1300, Samsung,
Lg… (2015)
19. ✓ Napravili novi projekat
○ Videli šta nam može pomoći da odaberemo odgovarajuću verziju Androida
✓ Napravili praznu aktivnost i naučili čemu to služi
○ 1 aktivnost ≅ 1 ekran
✓ Naučili kako su fajlovi u projektu organizovani
○ Gde stoje klase (java), gde grafički i String resursi (res), gde osnovne
informacije o aplikaciji (manifests)
✓ Naučili da komponente mogu biti prikazane grafički i kroz XML
✓ Videli koje sve atribute komponente mogu da imaju
○ (npr. položaj, boju, veličinu fonta, …)
✓ Radno okruženje - šta sve tu imamo, kako menjamo različite modove prikaza
✓ Naučili smo kako se testira aplikacija na telefonu ili emulatoru
○ Videli šta sve može emulator
20. 1. “”Tool bar” - Alati
2. Navigacija
3. Editor - vizuelni ili za kod
4. “Tool window bar” - za
prikaz ili skrivanje raznih
dodatnih prozora
5. Prozori sa dodatnim
informacijama - struktura
projekta, ili informacije o
greškama...
6. Status bar
Više informacija:
https://developer.android.com/
studio/intro/index.html
21. Domaći zadatak
● Neophodno za dalji rad: Instalirati Android studio, kreirati projekat sa praznom
aktivnošću i probati pokrenuti na barem jednom emulatoru ili uređaju. Upoznajte se
sa razvojnim okruženjem.
● Ako treba pomoć: jelenakrmar@gmail.com
Za bonus poene:
1. Obojiti slova u belo, a celu pozadinu ekrana u plavo,
da bude iste nijanse kao i gornji bar
2. Napraviti da tekst bude podebljan (boldovan)
22. Uputstva i napomene u vezi instalacije
● Prezeti Android Studio: https://developer.android.com/studio/index.html (oko 750MB)
● Uputstvo za instalaciju: https://developer.android.com/studio/install.html
○ Odabrati i Android Studio i Android Virtual Device - zbog emulatora (oko 2.3 GB
zauzimaju ukupno)
● Nakon instalacije pokrenuti Android Studio, da bi se pokrenuo Setup Wizard
○ Dovoljno je odabrati Standard setup
○ Opet selektovati i Android Virtual Device ako bude ponuđeno
● Prilikom kreiranja prvog projekta možda bude potrebno jos nesto instalirati i odobriti
firewall
● Čitav proces dosta dugo traje, ne brinite ;)
23. Uputstva i napomene u vezi emulatora
● Ukoliko nema ponuđenih virtualnih uređaja, potrebno je napraviti
○ Uputstvo: https://developer.android.com/studio/run/managing-avds.html
● Ukoliko neće da radi, videti koja greška je u pitanju. Neke koje su se meni desile:
○ Potrebno je da neki programi (Gradle) završe izvršavanje u pozadini - videćete
loading indikator skroz u dnu prozora - samo treba sačekati da završi
○ Potrebno je odobriti “Virtualization technology“ u BIOS-u
○ Jedno od uputstava kako ući u BIOS:
https://www.laptopmag.com/articles/access-bios-windows-10 (nije isto za sve
računare)
● Čitav proces dosta dugo traje, treba strpljenja ;)