Uvod

Android programiranje

Android operacijski sustav karakterizira otvorena arhitektura i jako je fleksibilan, što ga dovodi u najpopularniji operacijski sustav za mobilne uređaje. Android telefoni bilježe veliki rast u prodaji. Danas rijetko tko ne posjeduje barem jedan uređaj s Android operacijskim sustavom. Android telefon danas nalikuju na malo pokretno računalo. Brojne mogućnosti koje Android operacijski sustav pruža su dovele do brzog rasta u razvoju aplikacija. Android aplikacije su postale najbrža rastuća grana u industriji. Ponuda aplikacija je jako velika možemo naći aplikacije za posao, sport, zabavu, vijest, komunikaciju, obrazovanje, itd.

Tvrtka Google je napravila platformu otvorenog koda za mobilne uređaje. Android je u vlasništvu saveza Open Headset. Licencira pod licencom prikladnom za poslovne subjekte Apache i MIT (eng. Massachusetts Institute of Technology) pa se može proširivati i koristiti u razne svrhe. Kao programer imate pristup cijelom izvornom kodu platforme, to omogućava uvid u cijeli Android. Tako proizvođač može lako prilagoditi os za specifičan hardver i može napraviti promjene a da ne mora podijeliti s ostatkom zajednice.

Android posebno razvijan za mobilne uređaje. Projektiran je kao operacijski sustav koji će biti potpuno fleksibilan i da potpuno iskoristi resurse koje uređaj pruža. Izrađen je pod pretpostavkama da se ograničenja neće promijeniti u skoroj budućnosti, npr. baterija, brzina i kapacitet memorije. Njegova jezgra je dizajnirana da može raditi na različitim uređajima.

Danas Android operacijski sustav možemo sresti na satovi pod nazivom Wear prve satove su izradili LG i Samsung. Sat se povezuje s Android mobilnim uređajem koji omogućava da primate informacije s Android telefona kao što su poruke, pozivi i razne druge informacije od aplikacija. Također na tržištu postoje televizori s Android operacijskim sustavom koji koriste većinu aplikacija kao i mobilni uređaj.

Android operacijskom sustavu osnova je Linux jezgra (eng. kernel) koja koristi virtualni stroj napravljen tako da optimizirano koristi memoriju i hardverske resurse Android uređaja. Prednost toga načina rada što je programeru sve dostupno i nove Android uređaje može se lako prilagoditi.

Dalvik Virtual Machine je virtualni stroj koji se temelji na registru što omogućava brže izvođenje aplikacija. Dalvik Virtualna mašina radi s Dalvik Executable podatcima. Dalvik VM pokreće klase kompilirane Java kompilatorom i pretvara u potreban format. Cilj toga je da se istovremeno izvodi više virtualni strojeva koje troše malo memorije i tako očuvale stabilnost sustava.

Sigurnost Android sustava

Linux je iznimno siguran sustav zbog toga Android se čvrsto oslanja na Linux sigurnost. Sve Android aplikacije izvršavaju se u posebnim linux procesima. Za Android postoji puno trgovina s aplikacijama, svaka trgovina ima vlastita pravila što je dopušteno što nije. Zbog toga Android sustav može biti ugrožen ako korisnik instalira sumnjivu aplikaciju s nekog drugog marketa zbog toga treba paziti s kojeg izvora se preuzimaju aplikacije. Danas na marketu poznatije kompanije za sigurnost imaju svoje aplikacije za Android uređaje. Kada se sve to uzme u obzir android je jako pouzdan operacijski sustav.

Povijesni pregled razvitka Android operacijskog sustava.

Google je 2005. godine kupio tvrtku Android. 2007. godine Android je postao projekt otvorenog izvornog koda, objavljen je savez Open Handset Alliance. 2008. godine Android se pojavio na tržištu s uređajem HTC G1 s verzijom 1.0 koji se prodavala u mreži T-Mobile USA. 2009. godine izlazi verzija 1.5 koje se zvala Cupcake koja je bila bazirana na linux kernelu 2.67.27. U toj verziji Android prvi put se spominju minijaturne aplikacije (eng. widget). 2009 godine izašli su verzije 1.6 Donut i 2.0/2.1 Eclair. 2010.godine Android je zauzeo drugo mjesto, kao najprodavanija platforma. Te iste godine Google je predstavio svoj pametni telefon naziva Nexus S koji koristi Android 2.3 Gingerbread. U toj verziji došlo do promjena korisničkog sučelja (eng. User interface) ugrađena je podrška za WXGA (eng. Wide Extended Graphics Array). 2011. godine izlazi Android 3.0 Honeycomb ova verzija je bila prilagođena tablet računalima. Android 4.0 Ice Cream Sandwich izašao je krajem 2011. godine. Android 4.0 je bio prilagođen svim uređajima. 2014. godine izašao je Android 5.0 Lollipop glavna razlika je potpuni redizajn sučelja.

Način razvijana aplikacije

Za razvoj Android aplikacija postoji više alata jedni od najbolji su Android Studio, Eclipse, NetBeans.

Android Studio je razvojno sučelje bazirano na IntelliJ okruženju. Android studio automatski instalira SDK (eng. software development kit) skup alata i platformu na kojoj se može pokrenuti i testirati aplikacija.

Eclipse je razvojno sučelje (IDE) pisano u Javi. Može se koristi za razvoj aplikacija u raznim programskim jezicima. Za razvoj Android aplikacija potrebno je instalirati Android SDK i ADT Plugin.

NetBeans je razvojno sučelje napisano u Javi služi za razvoj softvera. NetBeans je namijenjen za pisanje softvera u Javi a može se pisati i u drugim programskim jezicima kao što su PHP, C, C++ i HTML5 i radi na svim operacijskim sučeljima.

Android SDK

Android SDK (eng. Android Software Development Kit) je skup alata koje su namijenjene za izradu, testiranje i popravljanje android aplikacije. Android SDK je razvio google i on poboljšava alate. Android SDK podržava razne operacijske sustave kao što su Linux, Mac OS i Windows. Android SDK podržava novije i starije Android platforme. To pomaže programeru ako hoće raditi aplikaciju za ciljanu Android platformu, ali pri izradi Android aplikacije najbolje je izabrati najnižu verziju Android platformi kako bi aplikacija radila na što većem broju Android uređaja.

Android AVD

Android Virtual Device (AVD) je Android Emulator koji služi za testiranje Android aplikacija bez instalacije Android aplikacije na Android uređaj. AVD može se podesiti da oponaša razne Android uređaje određenog hardvera, veličine zaslona, kapaciteta memorije ili druge mogućnosti kao što su kamera, GPS ili akcelerometar. AVD dolazi u paketu s Android studijom.

Programski kod (Java)

Programski jezik Java je objektno orijentirani, Javu su razvili James Gosling, Patrick Naughton, Bill Joy, Mike Sheridan i ostali inženjeri u tvrtki Sun Microsystems. Java je počela nastajati 1991 kao dio projekta Green u početku je bila poznata pod nazivom Oak od toga su imena odustali zbog problema s autorskim pravima a na kraju Java objavljena je 1995. Tvrtka sun posjeduje ime Java, ali moguće je skinuti bez plaćanja.

Java pruža bolju sigurnost i na javi se brže razvija program s manje pogrešaka. Zbog toga je popularan u izradi mobilnih aplikacija, u izradi Web stranica i malih elektroničnih uređaja kao što su kućanski aparati. Java je najkorištenija programski jezik prema statistikama. Javu koristi preko 10 milijuna korisnika. Glavna prednost Jave u usporedbi s ostalim programskim jezicima je što se može izvoditi bez preinaka na svima operacijskim sustavima koje posjeduju prevoditelja Java koda JvM (Java Virtual Machine).

Arhitektura

Arhitektura Android operacijskog sustava dijeli se na pet cjelina:

  • Aplikacije (eng. Applications): Contacts, Browser...
  • Aplikacijski okvir (eng. application framework): Activity Manager, Window Manager, Content Providers, View System, Location Manager...
  • Biblioteka (eng. Libraries): SQLite, WebKit, SSL, SGL, FreeType, OpenGL...
  • Android runtime:Core Libraries, Dalvik Virtual Machine.
  • Linux Jezgra (eng. Linux Kernel): Display Driver, Camera Driver,Flash Memory Driver, Binder Driver, Wifi Driver, Audio Drivers...
  • Glavni gradivni blokovi

    Za gradnju Android aplikacije koriste se komponente koje se zovu glavni gradivni blokovi. Aplikacija se dizajnira od vrha prema dnu pomoću zaslona, značajki interakcije između tih dijelova.

    Kada se kreira aplikacija za Facebook. Korisnik želi objavljivati statuse i treba upisati korisničko ime i lozinku (eng. password). To bi značilo da aplikacija treba imati tri zaslona. Aplikacija bi trebala biti povezana s Facebookom i trebala bi u pozadini podatke pohraniti. Za pohranu podataka potrebna je baza podataka (eng. database). Pozadinska usluga trebala bi se pokretati kada se uređaj uključi kako bi korisnik kada pokrene aplikaciju imao informacije s Facebooka.

    Aktivnost

    Aktivnost (eng. Activity) je grafičko korisničko sučelje koji korisnik u jednom trenutku može vidjeti na uređaju. To može biti na primjer postavke za aplikaciju ili neka lista gdje korisnik mora nešto odabrati. Aplikacija se sastoji od više aktivnosti između kojih korisnik može prelaziti. Aplikacija ima glavnu aktivnost koja se prikaže kada se pokrene aplikacija. Aplikacija pruža prelazak s jedne aktivnost na drugu, može prekinut jednu aktivnost i pokrenut aktivnost u drugoj aplikacija. Primjer slanje tekstualnih poruka, aplikacija ima jednu aktivnost u kojom se piše poruka, druga aktivnost koja prikazuje kontakte iz imenika i još jedna aktivnost za pregledavanje poslanih poruka. Pokretanje aktivnosti može značiti pokretanje novog Linux procesa, lociranje memorije za sve objekte korisničkog sučelja, pretrpavanje objekata XML (eng. Extensible Markup Language) rasporeda i sređivanje cijelog zaslona. Budući da treba obaviti puno posla da bi se aktivnost pokrenula to bi trošilo puno resursa. Da bi se to izbjeglo, Activity Manger upravlja životnim ciklusom aplikacije. Activity Manger je odgovoran za izradu i uništavanje aktivnosti i za upravljanje njihovim radom.

    Kada korisnik prvi put pokrene aplikaciju, Activity Manger će izraditi njenu aktivnost i prikazati je na zaslonu, kada korisnik prikaže drugi zaslon Activity Manger prethodnu aktivnost staviti na čekanje, ako korisnik ponovno poželi pristupiti toj aktivnosti ona će se brže pokrenuti. Stare aktivnosti koje korisnik nije duže pokretao biće uništene kako bi se oslobodio prostor.

    Programiranje android aplikacija je konceptualno drugačije od programiranja za neka druga okruženja. Na Androidu često treba reagirati na određene promjene stanja aplikacije umjesto da te promjene se pokreću. To upravljano okruženje je temeljeno na kontejnerima.

    Životni ciklus aktivnosti

    Stanje pokretanja

    Aktivnost koja ne postoji u memoriji kaže se da se nalazi u stanju pokretanja (eng. starting state). Kada se aplikacija pokreće, aktivnost će proći kroz cijeli skup metoda s povratnim pozivima koje će se imati priliku popuniti. Aktivnost se na kraju nalazi u pokrenutom stanju (eng. running state).

    Prelazak između stanja pokretanja i pokrenutog stanja jedna od najskuplji operacija, mjereno potrošenom procesorskom vremenu, koja utječe na trajanje baterije uređaja. To je razlog zbog kojeg se ne uništava automatski aktivnost koja se ne prikazuje. Korisnik će ih možda htjeti vratiti pa se neko vrijeme čuva.

    Pokrenuto stanje

    Aktivnost je u pokrenutom stanju kad je prikazana na zaslonu i korisnik je koristi. Samo jedna aktivnost može biti u pokrenutom stanju. Aktivnost u pokrenutom stanju ima prioritet pristupa memoriji i resursima koji su potrebni da bi se što brže izvršavala.

    Zaustavljeno stanje

    Aktivnost koja nije prikazana na zaslonu, ali se nalazi u memoriji, ta aktivnost je u zaustavljenom stanju. Aktivnost može ponovno vratiti u pokrenuto stanje, ili može biti uništena i uklonjena iz aktivnosti.

    Uništeno stanje

    Uništena aktivnost više se ne nalazi u memoriji. Activity Manager je procijenio da se više neće koristiti pa je uništio aktivnost. Prije nego je aktivnost bude uništena može spremiti sve podatke koji nisu spremljeni. Moguće je uništiti i pauzirane aktivnosti.

    Pauzirano stanje

    Kada korisnik aktivnost ne koristi ali je vidljiva na zaslonu, ta aktivnost se nalazi u pauziranom stanju.

    Namjere

    Namjere (eng. Intents) su poruke koje se šalju između glavni gradivni blokova. Namjere pokreću aktivnosti, govore uslugama da se pokrenu, zaustave ili šalju poruke svima i ne moraju čekati da bude završene.

    Namjere mogu biti implicitne ili eksplicitne. Eksplicitne namjere pošiljatelju jasno govore koja komponenta treba biti na kraju koji prima poruku. U implicitnoj namjeri pošiljatelj zadaje tip primatelja. Aktivnost može poslati namjeru u kojoj kaže da želi otvoriti video. U tom slučaju sve aplikacije koje mogu otvoriti video će se ponuditi i korisnik može izabrati aplikaciju koja će obaviti radnju.

    Namjere

    Usluge

    Usluge (eng. service) se izvršava u pozadini i nemaju komponente korisničkog sučelja. Usluge mogu obavljati iste poslove kao aktivnost, ali bez korisničkog sučelja. Usluge su koriste za akcije koje želimo obavljati u određeno vrijeme, bez obzira na to što je prikazano na zaslonu. Životni ciklus usluge nije ograničen trenutnim prikazom sučelja na ekranu, on radi u pozadini neodređenom vremenskom razdoblju. Primjer korisnik pokrene aplikaciju za glazbu dok je na zaslonu druga aplikacija. Može se koristiti za prikupljanje podataka s mreže. Trajanje usluge uglavnom upravlja programer.

    Usluge

    Pružatelji sadržaja

    Pružatelji usluga (eng. Content providers) su sučelja za razmjenu skupa podataka između aplikacija. Ti podaci mogu se pohraniti u datotečni sustav kad datoteka ili obliku SQLite baze podataka. Android izvršava svaku aplikaciju u posebnom izoliranom okruženju pješčaniku (eng. sandbox) pa svi podatci koji pripadaju aplikaciji potpuno izolirani od drugih aplikacija na sustavu. Manja količina podataka može se razmjenjivati između aplikacija pomoću namjera. Pružatelj usluga je dobro prilagođen za razmjenu postojanih podataka između potencijalno velikih skupova. Aplikacijsko programsko sučelje pružatelja podataka se dobro uklapa u princip CRUD (eng. create, read, update, delete).

    Slika prikazuje CRUD sučelja pružatelja sadržaja probija granicu aplikacije i dopušta drugim aplikacijama da se spajaju s njom zbog razmjene podataka. Android cijelo vrijem koristi ovaj mehanizam.

    Pružatelj sadržaja

    Slika prikazuje kako aplikacija Contacts koristi potpuno drugu aplikaciju Contacts Provider za dobivanje podataka o kontaktima iz imenika. Aplikacija Contacts sam ne sadrži nikakve podatke o kontaktima dok Contacts Provide nema nikakvo korisničko sučelje.

    Aplikacija Contacts koristi Contacts Provider za dobivanje podataka

    Ovakvo odvajanje pohrane podataka i korisničkog sučelja aplikacija nudi veću mogućnost prilikom uklapanja različitih dijelova sustava. Na primjer korisnik hoće instalirati alternativnu aplikaciju za imenik koja koristi iste podatke kao Contacts. Ili može instalirati widgets s kojim može upravljati aplikaciju za glazbu.

    Pružatelj sadržaja su jednostavna sučelja sa skalarnim metodama insert, update, delete i query. Te metode su kao uobičajene metode za rad s bazama podatka pa je relativno lako implementirati pružatelj sadržaja kao posrednik za bazu podataka.

    Primatelji objava

    Primatelj objava (eng. Broadcast receivers) su Androidova implementacija sistemskog mehanizma objavljivanja i preplaćivanja. Primatelj je kod u pozadini koji se aktivira kada se dogodi događaj na koji je pretplaćen. Primjer Broadcast receivers obavijesti da je baterija prazna ili da su dostupni podatci prikupljeni s interneta.

    Primatelji objava nemaju grafičko sučelje, niti se aktivno izvršavaju u memoriji. Kad se pokrenu moraju izvršiti kod. Broadcast receivers može pokrenuti određeni activity, također može koristiti upravitelja obavijesti na primjer pozadinska svijetla, vibracija uređaja ili puštanje određenog zvuka.

    Kontekst aplikacije

    Kontekst aplikacije odnosi se na okruženje aplikacije i procesa u kojem se izvršavaju sve njegove komponente. Kontekst aplikacije omogućava aplikacijama da dijele podatke i resurse između različitih gradivnih blokova.

    Kontekst aplikacije se stvara kad god se prva komponenta aplikacije pokrene, bez obzira na to radi li se o aktivnosti, usluzi ili nečem trećem. Kontekst aplikacije postoji sve dok se ona izvršava. Referencu na kontekst možete jednostavno dobiti pozivanjem Context. getApplicationContext() ili Activity.getApplication(). Aktivnosti i usluge su potklase konteksta zbog toga nasljeđuju sve njegove metode.

    Korisničko sučelje

    Svak Android aplikacija mora imati korisničko sučelje. Dva su načina izrade korisničkog sučelja deklarativno i programsko. Ta dva načina se dosta razlikuju ali programeri često se koriste zajedno kako bi se postigao željeni izgled.

    Deklarativno korisničko sučelje

    Deklarativno korisničko sučelje koristi XML (eng. Extensible Markup Language) za opisivanje izgleda. Dosta je slično kao kod izrade HTML (eng. HyperText Markup Language) web stranice. Prednost deklarativnog pristupa je što možete koristiti WYSIWYG (eng. What You See Is What You Get) alate. Većina ih se isporučuje s Android Development Tools a druge proizvode razne tvrtke. Nedostatak je ograničenost XML-a, ne pruža adekvatan način za obradu podataka koje unose korisnici.

    Programsko korisničko sučelje

    Programsko korisničko sučelje piše se Java kodom. Ako želimo izraditi gumb, moramo izraditi njegovu instancu, dodati ga u kontejner, zadati mu svojstva i deklarirati što će gumb raditi. Sve što se može postići deklarativno može se i programski. Glavna prednost je što Java omogućava da se zada što će se dogoditi kada pritisnemo gumb.

    Izbornik

    Android aplikacije za pristup izborniku najčešće koriste tipku izbornik (eng. Menu) koja se nalazi na uređaju ili kod novijih Android uređaju nalazi se na dnu korisničkog sučelja. Android aplikacija u sebi može imati izbornik. Za izradu Android izbornika koriste se metode onCreateMenu() za upravljanje događajima izvršava se metodama onIptionsItemSelected().

    Koji Sučelje izabrati

    Najbolje je koristi obadva sučelja. XML pristup koristiti za deklariranje svih statičkih dijelova sučelja, na primjer raspored elementa na zaslonu, a programskim zadat radnju za određeni element na zaslonu.

    Prikaz i raspored korisničkog sučelja

    Android organizira elemente korisničkog sučelja u rasporede (eng. layouts) i prikaz (eng. views). Na primjer, gumbi ili natpisi su prikaz. Rasporedi organiziraju prikaze grupiraju gumb i njegov natpis.

    Odnos između rasporeda i prikaza

    Postoji nekoliko rasporeda. To su LinearLayout, TableLayout, FrameLayout, RelativeLayout i AbsoluteLayout.

    LinearLayout

    LinearLayout raspored se najviše koristi. LinearLayout raspoređuje potomke jedan pored drugog, okomito ili vodoravno i dodjeljuje potreban prostor koliko potomak zatraži po redoslijedu kojim su dodani. Ako stariji potomak zatraži sav prostor na zaslonu, neće ostati mjesta za ostale elemente sučelja u tom rasporedu.

    TableLayout

    TableLayout raspoređuje potomke u tablici i sastoji se od drugih TableRow elemenata. TableRow je red u tablici i može sadržavati druge elemente korisničkog sučelja. TableRow elementi se raspoređuju jedan pored drugog.

    FrameLayout

    FrameLayout smješta potomke jedan iznad drugog, zadnji potomak prekriva predzadnji. FrameLayout je prikladan za raspoređivanje kartica u dijaloškim okvirima.

    RelativeLayout

    RelativeLayout raspoređuje potomke jednog u odnosu na drugi. RelativeLayout ne zahtijeva da se smjeste nepotrebni rasporedi kako bi se postigao određeni izgled. RelativeLayout može minimizirati ukupan broj elemenata koje treba pokazati i tako poboljšati performanse aplikacije. RelativeLayout zahtijevala svaki potomak ima zadan indikator kako bi se mogao postaviti u odnosu na druge potomke.

    AbsoluteLayout

    AbsoluteLayout raspoređuje potomke prema apsolutnim koordinatama na zaslonu. AbsoluteLayout je jednostavan al nije fleksibilan. Korisničko sučelje definirano ovim rasporedom može izgledati dobar na jednom zaslonu, ali ako se promjeni orijentacija ili gustoća piksela zaslona, AbsoluteLayout se neće prilagoditi.

    Manifest

    Datoteka AndroidManifest.xml se nalazi u svakoj Android aplikaciji, bez ove datoteke Android aplikacija se ne može pokrenuti. Ova datoteka sadrži ključne informacije o Android aplikaciji to su naziv paketa koji služi kao jedinstveni identifikator Android aplikacije, opis svi komponenti na primjer aktivnosti i usluge, dozvole za pristup aplikacijskim komponentama, popis klasa, popis biblioteka i minimalna razina Android API-ja. Datoteka Manifest po strukturi je XML datoteka naziv je AndroidManifest.xml na svim Android aplikacijama.

    Razvojno okruženje

    Android Studio

    Android Studio je razvojno sučelje bazirano na IntelliJ okruženju. Android studio automatski instalira SDK (eng. software development kit) skup alata i platformi na kojoj se može pokrenuti i testirati aplikacija. Android studio ima inteligentan uređivač koda koji je sposoban završiti i predložiti kod pri programiranju to pomaže pri izradi Android aplikacije. Prednosti Android Studia su što možete uvesti gotove primjere kodova s GitHuba. Android Studio ima Multi Screen on omogućava pri izradi Android aplikacije da vidite kako bi izgledala aplikacija na Android Mobitelu, ta mogućnost puno pomaže pri izradi Grafičkog sučelja to omogućava da vidite kako kod izgleda i može se jednostavno dodavati dugme, tekstovi i još puno drugih funkcija.

    Android Studio ima editor za prevođenje aplikacije, lako se može ubacivati prevodi u datoteku. Uz BCP 47 podršku editor kombinira jezike i regiju za ciljanu lokaciju. Za pristup editoru potrebno je stisnuti desni klik na strings.xml i odabrati opciju "Open Translation Editor".

    Android studio može simulirati otisak prsta. Nakon što se postavi simulacija otiska prsta. Kada se pokrene emulator na zaslonu će se prikazati sučelje za provjeru autentičnosti otiska prsta. Razvojne usluge koje vam omogućuje Android studio su AdMob koji služi za dodavanje reklama na Android Aplikaciju to omogućava dodatnu zaradu. Google Analytics se dodaje za analizu korisnika, na primjer koji mobitel koristi korisnik, iz koje je države, dob i još puno mogućnosti. Google Sign-in služi za provjeru autentičnosti. Google Cloud Poruke služi za obavijesti. Razvojne usluge je potrebno omogućiti pritiskom na izborniku File i potrebno je odabrati opciju Project Structure i odabrati željenu uslugu.

    Instaliranje Android studia

    Potrebno je preuzeti Android studio s Android studio. Za rad na Android studio potrebno je imati Java Development Kit koje se može preuzeti s adrese JDK.

    Konfiguriranje razvojnog alata

    Za početak pokrenuti Android studio i izabrati "Start a new Android studio projekt". Sljedeći korak potrebno je zadati ime aplikacije (eng. application name) to je konstrukcija aplikacije. Android studio sve organizira po projektima. Naziv projekta bi trebao imati samo jednu riječ. Nakon što je odaberemo ime potrebno je odabrati naziv paketa (eng. company domain) to je Javina konstrukcija. U Javi cijeli izvorni kod je organiziran u paketima. Paketi zadaju vidljivost objekata između različitih Java klasa u projektu. Paketi su važni i zbog potpisivanja aplikacija. Naziv paketa trebao bi biti naziv domene s poddomenom napisan obrnutim redoslijedom, na primjer vladoivankovic.com“.

    Potrebno izabrati lokaciju (eng. project location). To je radna mapa u kojoj će biti spremljeni svi podatci od Aplikacije.

    Treba odabrati najnižu verziju SDK (eng. minimum SDK). Najniža verzija Androida predstavljena razinom aplikacijsko programsko sučelja (krat. API eng. application programming interface) koja je potrebna za izvršavanje aplikacije. Ovaj broj bi trebao biti što niži kako bi se aplikacija mogla koristiti na što većem broju Android mobitela. Također isto je potrebno odabrati ako radimo aplikaciju za ostale Android uređaje.

    Za aplikaciju treba izabrati izgled sučelja koja najviše odgovara za Aplikaciju. Ponuđeno je više sučelja što omogućava lakšu izradu određenih aplikacija nije potrebno izrađivati sučelje na primjer za neke aplikacije koje koriste Google mapu.

    Aktivnost će biti predstavljena Java klasom pa njeno ime treba ispunjavati kriterije za imenovanje. Java klasa mora počinjati velikim slovom i koristiti devin zapis za odvajanje riječi. Još se može odabrati naslov aktivnosti i ime menija (eng. menu).

    Emulator

    Za testiranje aplikacije nije potrebno imati više uređaja sve se može obaviti na Emulatoru. Emulator služi za testiranje i provjeru aplikacija prije izdavanja na market. Izvršava istu bazu koda kao i stvarni uređaj što omogućava da pokretanjem aplikacije na emulatoru bude jednako kao i na stvarnom uređaju. Postoje male razlike na emulatoru nemoguće je virtualizirati senzore. Emulator se može mijenjati tako da aplikaciju možete testirati na određenoj rezolucija i različitim svojstvima uređaja ta mogućnost puno pomaže pri pronalaženju greški prije izdavanja aplikacije tako aplikacija može postići bolje ocijene od korisnika.

    SDK Manager

    Prije upotrebe emulatora potrebno je instalirati SDK. Potrebno je pokrenuti SDK Manger to se može klikom na ikonu na alatnoj traci ili na izborniku odabrati SDK Manager. Po potrebi instalirati potrebne alate i Android koji će biti potreban za testiranje aplikacije. Također se mogu instalirati i dodatne mogućnosti na primjer Google Play Services ako je u planu izrada aplikacije koja koristi Google Play Services.

    AVD Manager

    Da bi se mogao koristiti emulator treba se izraditi AWD (eng. Android Virtual Device). Za izradu novog AVD treba pokrenuti alat AVD Menger koji se nalazi na alatnoj traci. Za izradu AVD potrebno je kliknut na "Create Virtual Device" ili odabrati jedan od ponuđenih.

    U sljedećem koraku potrebno je odabrati hardver u kojem želimo pokrenuti aplikaciju. Ponuđeno je više hardvera različitih konfiguracija a može se odabrati i Android tablet, sat i televizor ako se izrađuje aplikacija za ostale Android uređaje.

    Ako je potrebno testirati aplikaciju na određenom hardveru potrebno je izabrati "New Hardware Profil". Tu se može postaviti razne veličina i rezoluciju ekrana, potrebna radna memorija, izgled, camera, senzori koje aplikacija koristiti.

    Nakon odabranog hardvera treba još odabrati željeni android za testiranje aplikacije, dobro je aplikaciju testirati na više Androida kako bi se smanjila mogućnost greški. Često se događa da računalo ne podržava virtualization zbog hardvera računala u tom slučaju potrebno je odabrati ABI Armeabi to bi riješilo problem.

    Sučelje Android Studia

    Android studio sastoji se od izborne trake na kojoj se nalaze osnovne funkcije i prečice za spremanje projekta, debug, pokretanje aplikacije, AVD manager, SDK manager, i ostale prečice.

    S lijeve strane nalazi se struktura Android aplikacije di se mogu vidjeti sve datoteke koje se mogu editirati i izrađivati nove datoteke, fajlove, klase i ostale funkcije.

    U sredini Android Studia Multi Screen gdje se nalaze vizualni prikaz Android aplikacije i gotovi raspored, widgets, tekstualna polja, containers i ostale funkcije koja se jednostavno ubacuju u vizualni prikaz.

    S vizualnog prikaza moguće je prebaciti u tekstualni prikaz gdje će biti prikazan kod datoteke koji možemo prepravljati i dodavati nove funkcije. Vizualni prikaz će biti vidljiv s desne strane.

    S desne strane prikazane se komponente i njihova svojstva koja se mogu mijenjati, na primjer boja pozadine, veličina i boja teksta.

    S doljnje strane Android Studia prikazan je Terminal, LogCat, ADB logs, Memory, CPU i poruke u kojem su ispisana sva zbivanja i greške.

    Izrada APK datoteke

    Aplikacija je jedna datoteka aplikacijskog paketa (krat. APK eng. Android application package). Ona uglavnom ima tri komponente. Dalvik izvršna datoteka sadrži java izvršni kod kompajliran u izvršnu datoteku. To je kod koji izvršava aplikaciju. Resursi su sve što nije kod. Aplikacija može imati slike, videozapise, jezične pakete i tako dalje. Izvorna biblioteka sadrži izvorni kod kao što su C/C++ biblioteke.

    Izrada APK datoteke

    Za izradu APK datoteke potrebno je pokrenuti na izbornoj traci opciju "Generate Signed APK..." koja se nalazi u "Build".

    Potrebno je potpisati aplikaciju kako bi se mogla instalirati na uređaj, za izradu KeyStore datoteke odabrati gumb "Create new..."

    Potrebno je popuniti osnovne informacije kao što su ime i prezime, lokaciju, organizaciju i Key Store datoteku kojoj treba dodijeliti šifru.

    Key Store datoteka će vam se automatski učitati.

    I za kraj odaberite lokaciju gdje želite spremiti Android aplikaciju.


    Facebook Twitter Google