Do 18. 1. potrebno je poslati mail u kojem: [list][*] navodite članove tima (do 5 ljudi) i
[*] opisujete funkcionalnosti projekta. [/list:u]
Ne morate se strogo držati najavljenih funkcionalnosti, ali za veće naknadne promjene nam se javite. Primjere ovog opisa pogledajte na dnu ovog forumskog posta.
Upute oko izrade projekta: [list][*] Projekt može (ne mora) sadržavati komponente i izvan Android aplikacije (npr. web API), ali glavnina projekta bi trebala biti klasična Android aplikacija (Java, Kotlin, C++).
[*] Projekt bi trebao sadržavati barem nekoliko elemenata vezanih uz mobilno programiranje (npr. dopuštenja, [i]intenti, fragmenti, content provideri[/i]) ili koji se nisu posebno radili na prethodnim kolegijima (npr. Androidov način rada s bazama, usluge).
[*] Finalna aplikacija se mora moći koristiti na uređajima različitih veličina ekrana: podržite barem dvije bitno različite veličine ekrana (više od 30% različite). Testirajte aplikaciju na barem jednom (fizičkom) uređaju (javite nam se ako nijedan član tima nema Android uređaj).[/list:u]
[size=14][b]Rok za predaju je petak 15. 2. u ponoć[/b][/size]. Do tada je potrebno mailom poslati: [list] [*] Finalan opis funkcionalnosti, slično kao u ranijem mailu.
[*] Za svakog člana tima: što detaljniji opis doprinosa tog člana.
[*] Verzije korištenih alata i biblioteka, navedite i na kakvim emulatorima i/ili uređajima ste testirali.
[*] Izvorni kod, uključno sa svim resursima potrebnima za kompilaciju i pokretanje projekta, te, ako je potrebno, dodatne upute za kompilaciju.
[/list:u]
Nakon toga javljamo smatramo li da nešto treba popraviti, i dogovaramo se za termin predaje (najkasnije 20. 2.).
Iako to ne koristimo na vježbama, preporučamo da se upoznate s nekim sustavom za verzioniranje (npr. git). Sistematsko korištenje takvog sustava donosi +2 dodatna boda (maksimum ostvarivih bodova je i dalje 30), i u predaji projekta možete izostaviti opis doprinosa članova (ako je doprinos vidljiv iz povijesti projekta).
-------
U nastavku su primjeri opisa funkcionalnosti za dva različita projekta (prikladnih za timove od 3-4 osobe). Napomena: većina spomenutih funkcionalnosti nije zahtjevna za implementaciju, primjerice za regularne izraze postoji pomoćna klasa u Javi.
[b]1. primjer projekta[/b]
Projekt je uređivač teksta. Aplikacija omogućava izradu novih, te učitavanje postojećih datoteka (pohranjenih bilo gdje, ne samo u zaštićenom direktoriju programa). U jednom trenutku je moguće uređivati više datoteka, i otvorene datoteke se trajno pamte (i nakon restarta).
U svim datotekama su omogućene uobičajene funkcionalnosti ([i]save as, cut, copy, paste, un/indent, find[/i] s regularnim izrazima, [i]replace, share[/i] itd.)
Omogućeno je elementarno bojanje sintakse za nekoliko ugrađenih programskih/markup/stilskih jezika: boje se ključne riječi te komentari. Moguće je dodati bojanje za novi jezik, specifikacijom ključnih riječi te nizova znakova za početak i kraj komentara. Pohrana postavki (npr. za bojanje, veličina tabulatora itd.) se odvija kroz bazu.
[b]2. primjer projekta[/b]
Projekt je igra nalik [i]Flappy bird[/i]. Igra podržava izradu više profila igrača, svaki sa svojim imenom i avatarom (nekoliko predloženih sličica i mogućnost učitavanja iz vanjske datoteke). Unutar igre, igra funkcionira kao jedan beskonačni nasumično generirani level. Pamti se deset najboljih lokalnih rezultata, a igra je povezana i s vanjskim servisom (npr. koristeći PHP i datoteke za pohranu na [i]studentu[/i]) na kojem se pamti 10 globalno najboljih rezultata. Svi se lokalni podaci (profili, rezultati) spremaju u bazu. Na ekranu za prikaz globalno najboljih rezultata nalazi se karta s (približnim) oznakama lokacija igrača koji su ih postigli.
Do 18. 1. potrebno je poslati mail u kojem: - navodite članove tima (do 5 ljudi) i
- opisujete funkcionalnosti projekta.
Ne morate se strogo držati najavljenih funkcionalnosti, ali za veće naknadne promjene nam se javite. Primjere ovog opisa pogledajte na dnu ovog forumskog posta.
Upute oko izrade projekta: - Projekt može (ne mora) sadržavati komponente i izvan Android aplikacije (npr. web API), ali glavnina projekta bi trebala biti klasična Android aplikacija (Java, Kotlin, C++).
- Projekt bi trebao sadržavati barem nekoliko elemenata vezanih uz mobilno programiranje (npr. dopuštenja, intenti, fragmenti, content provideri) ili koji se nisu posebno radili na prethodnim kolegijima (npr. Androidov način rada s bazama, usluge).
- Finalna aplikacija se mora moći koristiti na uređajima različitih veličina ekrana: podržite barem dvije bitno različite veličine ekrana (više od 30% različite). Testirajte aplikaciju na barem jednom (fizičkom) uređaju (javite nam se ako nijedan član tima nema Android uređaj).
Rok za predaju je petak 15. 2. u ponoć. Do tada je potrebno mailom poslati: - Finalan opis funkcionalnosti, slično kao u ranijem mailu.
- Za svakog člana tima: što detaljniji opis doprinosa tog člana.
- Verzije korištenih alata i biblioteka, navedite i na kakvim emulatorima i/ili uređajima ste testirali.
- Izvorni kod, uključno sa svim resursima potrebnima za kompilaciju i pokretanje projekta, te, ako je potrebno, dodatne upute za kompilaciju.
Nakon toga javljamo smatramo li da nešto treba popraviti, i dogovaramo se za termin predaje (najkasnije 20. 2.).
Iako to ne koristimo na vježbama, preporučamo da se upoznate s nekim sustavom za verzioniranje (npr. git). Sistematsko korištenje takvog sustava donosi +2 dodatna boda (maksimum ostvarivih bodova je i dalje 30), i u predaji projekta možete izostaviti opis doprinosa članova (ako je doprinos vidljiv iz povijesti projekta).
-------
U nastavku su primjeri opisa funkcionalnosti za dva različita projekta (prikladnih za timove od 3-4 osobe). Napomena: većina spomenutih funkcionalnosti nije zahtjevna za implementaciju, primjerice za regularne izraze postoji pomoćna klasa u Javi.
1. primjer projekta
Projekt je uređivač teksta. Aplikacija omogućava izradu novih, te učitavanje postojećih datoteka (pohranjenih bilo gdje, ne samo u zaštićenom direktoriju programa). U jednom trenutku je moguće uređivati više datoteka, i otvorene datoteke se trajno pamte (i nakon restarta).
U svim datotekama su omogućene uobičajene funkcionalnosti (save as, cut, copy, paste, un/indent, find s regularnim izrazima, replace, share itd.)
Omogućeno je elementarno bojanje sintakse za nekoliko ugrađenih programskih/markup/stilskih jezika: boje se ključne riječi te komentari. Moguće je dodati bojanje za novi jezik, specifikacijom ključnih riječi te nizova znakova za početak i kraj komentara. Pohrana postavki (npr. za bojanje, veličina tabulatora itd.) se odvija kroz bazu.
2. primjer projekta
Projekt je igra nalik Flappy bird. Igra podržava izradu više profila igrača, svaki sa svojim imenom i avatarom (nekoliko predloženih sličica i mogućnost učitavanja iz vanjske datoteke). Unutar igre, igra funkcionira kao jedan beskonačni nasumično generirani level. Pamti se deset najboljih lokalnih rezultata, a igra je povezana i s vanjskim servisom (npr. koristeći PHP i datoteke za pohranu na studentu) na kojem se pamti 10 globalno najboljih rezultata. Svi se lokalni podaci (profili, rezultati) spremaju u bazu. Na ekranu za prikaz globalno najboljih rezultata nalazi se karta s (približnim) oznakama lokacija igrača koji su ih postigli.
|