15
Anrdoid operativni sistem

Seminarski Rad - Android

Embed Size (px)

DESCRIPTION

DADAADADADDAADADADADDSQAFSDFDSGDFDFFDGFGFDFSDFGFGFGFSDFGFGFGFGFGFGFFFGFG

Citation preview

Page 1: Seminarski Rad - Android

Anrdoid operativni sistem

Page 2: Seminarski Rad - Android

UVOD

Android je softverski paket za mobilne uređaje koji sadrži operativni sistem , posredničke i ključne aplikacije. Android je softverska platforma i operativni sistem za mobilne uređaje zasnovane na Linuks(Linux) operativnom sistem i razvijen od strane Google i Open Handset Alliance. On omogucava programerima da pišu kontrolisani kod u Javi(Java) kao jezik koji koristi Google-uz pomoc Javinih biblioteka , ali ne podržava programe razvijene u prirodnom kodu.Android platform je predstavljena 5.novembra 2007., najavljena sa osnivanjem Open Handset Alliance,konzorcijum od 34 hardverske, softverske i telekomunikacione kompanije posvecen unapređenju otvorenih standarda za mobilne uređaje. Kada je objavljena, 2008 , vecina Android platforme ce biti dostupan u okviru Apache slobodnog softvera i koda sa otvorenom licencom.Otvoren, Android omogucava pristup jezgru mobilne funkcionalnosti uređaja preko standardnih Aplikaciono Programskih Interfejs(API) poziva. Sve aplikacije su jednake, Android ne pravi razliku između osnovnih i drugih aplikacije, čak i opcija za pozivanjeili početni ekran se može zameniti. Razvijanje do sadašnjih granice, kombinovanjem informacija sa web-a sa podacima na telefonu, kao što su kontakti i geografska lokacija, da stvore nova iskustva korisnika.Dostupan je samo kroz AndroidSDK (software development kit) skup alata za razvoj programa. SDK pruža alate i sprege za programiranje (API) potrebne za razvoj programa na platformi Andorid koristeci programski jezik Java. Brzo i lako razvoj SDK sadrži ono što je potrebno da se izgradi i vodi Android aplikacija, uključujuci ipravi uređaj emulatora i napredne alatke za otklanjanje grešaka .

U julu 2005 , Google Android,mala firma sa sedištem u Palo Altu (Kalifornija). Ojupila je ljude kao što su: Andi Rubin (ko-osnivač firme Danger), Rich Miner (ko-osnivač Vildfire komunikacije, doo), Nik Sirs (potredsednik T-Mobile ) i Kris Bela (jedan od prvih inženjera na WebTV ). U to vreme , malo se znalo ofunkcijama Android osim toga da je to operativni sistem za mobilne sisteme.

Dana 5. novembra 2007,Open Handset Alliance, konzorcijum od nekoliko kompanija koje uključuju Google-a, HTC, Intel, Samsung, Qualcomm, T-Mobile, Sprint Nektel i NVIDIA udružile su se sa ciljem da razviju otvoreni standard za mobilne uređaje. Zajedno sa formiranjem Open Handset Alliance (OHA) predstavile svoj prvi proizvod , Android Open Source mobilnu platformu zasnovanu na Linux operativnom sistemu.

2

Page 3: Seminarski Rad - Android

Android – Arhitektura

Programeri imaju potpun pristupisti Aplikacionom Programskom Interfejsu (API) okviru koji koristi jezgro aplikacije. Arhitektura aplikacija je dizajniran da pojednostavi ponovnu upotrebu komponenti, svaka aplikacija moze koristiti mogucnosti drugih aplikacija (u skladu sa bezbednosnim ograničenjima). Ovaj isti mehanizam omogucava komponentama da budu zamenjenod strane korisnika.

Slika 1. Arhitektura android sistema

Android Arhitektura je baziran na Linux sistemu. To pomaže lakšem upravljanju bezbednosti, upravljanje memorijom , upravljanje procesom , mrežnom i drugim važnim stavkama. Android pruža podršku za Qualcomm čipset MSM7K porodice. Na primer ,trenutna arhitektura podržava Qualcomm MSM 7200A čipsetova , danasnji telefoni poseduju  1 GHz Qualcomm QSD 8250, kao I Dual Core procesore. Kao jedna od novina je najava I najveceg proizvođača procesora Intela za pravljenje svog prvog procesora namenjenog arhitekturi mobilnih uredjaja.

Jedna od glavnih karakteristika su: 

1. WCDMA / HSUPA i EGPRS mrežne podrške.2. Bluetooth 2.0 i Wi-Fi sa Hot-Spot podrškom.3. Digitalna audio podrška za reprodukciju MP3-a i drugih formata.4. Podrška za Linux i druge operativne sisteme.5. Java hardversku akceleraciju i podršku za Java aplikacije.6. Kamera do 12.0 megapiksela.

3

Page 4: Seminarski Rad - Android

7. GpsOne-rešenje za GPS.8. Multitasking-pokretanje i rad sa vise aplikacija istovremeno.9. Video pozivi.

U osnovi sve aplikacije su skup usluga i sistema, uključujuci :

Veliki skup komponenti koji se mogu koristiti za izgradnjuaplikacija, uključujuci liste, rešetke , okvire za tekst , dugmad , pa čak i integrisane web pretraživače.

Menadžer sadržaja koji omogucavaju aplikacijama da pristupe podacima iz drugih aplikacija (kao što su Kontakti), ili da podele svoje podatke.

Menadžer obaveštenja koji omogucava svim aplikacijama da prikažurazličita obaveštenja u statusnoj traci.

Bogat i proširiv set mogucnosti za kreiranje aplikacija (polise, meniji, tekst polja, dugmad, čak i ugrađeni (embedded) web čitač)

Menadžer resursa, pristup resursima kao što su lokalizovani stringovi, grafika, i  layout fajlova

Menadžer aktivnosti koji brine o životnom ciklusu aplikacija i pruža navigaciju Biblioteke

Android obuhvata skup C / C + + biblioteka koje koriste razne komponenteAndroid sistema. Ove mogucnosti su izložene programerima krozAndroid aplikacioni okvir. Neke odosnovnih biblioteka su dole navedene:

System C biblioteka -  BSD implementacija standardne C system biblioteke (libc), optimizovane za Linux uređaje

Medijske biblioteke – zasnovana na PacketVideo's OpenCORE; biblioteke podržavaju reprodukciju i snimanje u mnoge popularne audio i video formate, kao i slike, uključujuci MPEG4, H.264, MP3, AAC, AMR, JPG, i PNG

Menadžer površine – kontroliše pristup ekranskom podsistemu i neprimetno kompozuje 2D i 3D grafičke lejere sa više aplikacija

LibWebCore - moderni web pretraživač, koji je i pretraživač u Android-u i koristi se za prkaz  sistemskih delova

SGL - 2D grafički sistem 3D biblioteke – implementacija zasnovana na OpenGL ES 1.0 API-ju; biblioteke

koriste ili hardversku 3D akceleraciju (gde je ona dostupna) ili ugrađeni, visoko optimizovan 3D softverski render

FreeType - bitmap i vektorski rendering fonta SQLite – mocna i nisko-zahtevna relacijska baza podataka za sve aplikacije

Svaka Android aplikacija se pokrece i radi u sopstvenom procesu, sa sopstvenim primerom Dalvik virtuelne mašine .Dalvik je napisan tako da uređaj može efikasno da pokrene više Virtualnih mašina (VM). Dalvik VM izvršava fajlove u Dalvik izvršne ( .dek ) formatu koji je optimizovan za minimalan utrošak memorije. Dalvik je proces virtuelne mašine (VM ) u Android operativnomsistemu. To jesoftver koji pokrece aplikacije na Android uređajima.

4

Page 5: Seminarski Rad - Android

Dalvik je, dakle,sastavni deo Android , koji se obično koristi na mobilnim uređajima kao što su mobilni telefoni i tableta računara. Programi su obično pisani u jednoj verziji Jave onda su konvertovani iz Java Virtual Machine kompatibilne klase u datoteke kompatibilni sa Dalvik-om.DEX ( Dalvik izvršnih ) fajlova pre instalacije na uređaju, kao što je dato na slici 4.3.Kompaktni Dalvik Izvšni Format je dizajniran tako da bude pogodan za sisteme koji su ograničeni u pogledu memorije i brzina procesora .Dalvik je softver otvorenog koda (open source).

Naistom nivou nalazi se Android runtime, gde se nalaziglavna komponenta Dalvik Virtual Machine. On je posebno konstruisan za rad u ograničenom okruženju , gde su ograničeno trajanja baterije , procesor, memorija i čuvanje podataka jedna od glavnih tema. Android daje integrisan alat " dx " , koji konvertuje generisana bajt koda iz jar na indeks fajla. . Posle ovog bajt kod postaje mnogo efikasnije za rad namalim procesorima koji se koriste u mobilnim uredjajima .

Kaorezultat toga , moguce je imati više instanci Dalvik virtuelne mašine koje rade najednom uređaju u isto vreme . Osnovni biblioteke su napisane u Java jeziku i sadrži zbirke klase,komunalije, IO i druge alatke .

5

Page 6: Seminarski Rad - Android

Blokovi Android OS-a

Postoje četiri glavna gradivna bloka Android programa:

1. Aktivnost (Activity).

2. Blok koji reaguje na spoljne događaje (Broadcast Intent Receiver).

3. Usluga (Service)

4. Davalac sadržaja (Content Provider)..

Svaki program treba da sadrži neku kombinaciju ovih blokova. Ne moraju se koristiti svi blokovi.

Komponente koje se koriste u programu nabrojane su u datoteci AndroidManifest.xml.To je XML (Extensible Markup Language) datoteka koja sadrži informacije o korišcenim komponentama, njihovim ograničenjima I spoljnim događajima koje je program spreman da obradi.

5.1 Aktivnost (Activity)Ovo je najčešce korišcen Androidov blok. Aktivnost se najčešce predstavlja kao korisnička sprega programa.Svaka aktivnost se realizuje kao klasa koja nasleđuje osnovnu klasu Activity. Ova klasa se sastoji od korisničke sprege sastavljenog od Pogleda (Views) i reakcija na događaje. Vecina programa se sastoji od više korisničkih grafičkih sprega tj. ekrana (npr. program za poruke sadrži ekrane Inbox, Outbox, Sent ...). Svaki od ovih ekrana mora biti implementiran kao posebna aktivnost. Prelazak nadrugi ekran (Screen) se izvršava pokretanjem nove aktivnosti. Kada se pokrene novi ekran, stari se pauzira I stavlja na poseban

6

Page 7: Seminarski Rad - Android

stek koji predstavlja istoriju rada pokrenutih programa na sistemu (History Stack). Sistem može da se krece unazad po ovom steku. Android zadržavana steku svaki program koji je pokrenut sa glavnog ekrana(Home Screen). Rad sa stekom rezervisan je isključivo zaoperativni sistem.

5.2 Blok koji reaguje na spoljne događajeZa kretanje između ekrana Android koristi posebnuklasu Intent, koja opisuje zahteve za odgovarajucim akcijama. Sastoji se iz dva glavna dela, akcije i dela za podatke na osnovu kojih se reaguje. Sa njom je povezana klasa IntentFilter koja definiše tipove zahteva koje odgovarajuci program može da obradi. Klasa IntentReceiver omogucuje reakciju odgovarajuceg programa na određene događaje operativnog sistema ili drugih programa. Klasa IntentReceiver ne koristi korisničku spregu (UI). Može koristiti neka od sistemskih obaveštenja, prozore obaveštenja koje pruža operativni sistem. Sistemski događaji na koje je program spreman da reaguje moraju biti registrovani u datoteci AndroidManifest.xml. Moguce ih je registrovati i iz koda pozivanjem registerReceiver() funkcije klase Context.

5.3 UslugaUsluga je program nezavisan od UI. Više aktivnosti mogu koristiti istu uslugu. Dobar primer za ovo je program za rad sa audio datotekama. Komande programa i prikaz liste mogu biti prikazani na zasebnim ekranima. Usluga omogucuje pokretanje audio datoteka nezavisno od ekrana. Sistem se brine o uslugama, memoriji koje zauzimaju I procesorskom vremenu.D. Davalac sadržaja Pogrami mogu da pohranjuju svoje podatke u datoteke, SQLite baze podataka [4] ili neke druge strukture. Ova klasa sadrži standardni skup metoda za skladištenje i slanje podataka koji su joj dodeljeni.

5.4 Davalac sadržajaPogrami mogu da pohranjuju svoje podatke u datoteke,SQLite baze podataka ili neke druge strukture. Ova klasa sadrži standardni skup metoda za skladištenje i slanje podataka koji su joj dodeljeni.

7

Page 8: Seminarski Rad - Android

Pokretanje programa

Potrebni moduli za realizaciju programa su glavni modul,modul za rad sa bazom podataka, modul za praćenje stanja sistema datoteka i moduli Adaptera za prikaz rezultata na ekranu.

6.1 Koraci pri realizaciji programa

1. Realizacija korisničke sprege.

2. Iscrtavanje potrebnih komponenti na ekran i uspostavljanje kontrole nad njima. Realizacija modula za rad sa bazom podataka i sistemom datoteka:

a. Stvaranje baze podataka.Implementacija osnovnih operacija nad bazom (ubacivanje i brisanje elemenata iz baze).Realizacija funkcije pretrage sistema datoteka.

b. Realizacija Adaptera u koje treba da se smeste rezultati pretrage. Potrebno je realizovati dva adaptera. Prvi adapter treba da objedini prikaz rezultata pretrage kontakata i baze sistema datoteka. Drugi adapter treba da smesti rezultate pretrage baze sistema datoteka.

c. Realizacija funkcija za pretragu baze podataka. Realizacija modula za pracenje sistema datoteka.Funkcije za pokretanje i zaustavljanje rada modula za pracenje sistema datoteka.

d. Realizacija modula aktivnosti za prikaz informacija o određenom rezultatu.

6.2.Glavni modul

Zadatak glavnog modula se ogleda u upravljanju radomkomponenti korisničke sprege, modulom za pracenje stanja sistema datoteka i ostalim modulima. Na odabrani rezultat pretrage poziva jednu od dve aktivnosti za detaljniji pregled rezultata. Ukoliko se radi o telefonskom kontaktu poziva se sistemski program za pregled telefonskih kontakata. Na odabran rezultat pretrage nad datotekama pokrece se aktivnost za prikaz informacija o datotekama. U zavisnosti od stanja programa modul reaguje na odgovarajuci način: ažurira bazu, pokrece i zaustavlja module za pracenje sistem datoteka.

8

Page 9: Seminarski Rad - Android

6.3. Modul za rad sa bazom podataka sistemadatotekaPredstavlja programsku osnovu. Ostvaruje kompletnupodršku za pretragu i rad sa podacima na sistemu datoteka. Obavlja osnovne operacije nad bazom: otvaranje I zatvaranje baze, dodavanje i brisanje elemenata baze, pretragu nad elementima baze. Da bi baza u svakomtrenutku bila ažurirana ovaj modul sadrži modul za pracenje stanja sistema datoteka. Ne prate se sistemski direktorijumi i direktorijumi za privremeno smeštanje informacija o sistemu: /data, /system, /dev i /tmp.

6.4 Adapteri sa informacijama o kontaktima i

datotekamaRealizacija adaptera je potrebna da se uspešno prikažu rezultati pretrage. Oni predstavljaju vezu između baze podataka telefonskih kontakata, baze podataka datoteka I liste na korisničkoj sprezi u kojoj se prikazuju rezultati. Adapter se sastoji od liste elemenata određene klase. Obezbeđuje korektan prikaz elemenata na ekranu unutar nekog polja korisničke sprege. Program sadrži dva ovakva adaptera pri čemu svaki ima elemente liste druge klase (jedan sadrži instance klase koja sadrži informacije o rezultatima pretrage baze sistema datoteka, dok drugi sadrži i informacije o rezultatima pretrage kontakata). Adapteri su realizovani u dve klase AllViewAdapter I FileViewAdapter

Android Market

Android Market je online prodavnica softvera razvijen od strane Google-a za operativni sistem Android. Aplikacija kojom se pristupa Android Marketu pod nazivom "Market " , instalirana je na vecini Android uređaja, koja omogucava korisnicima da pretražuju i preuzimaju mobilne aplikacija objavljenje od nezavisnih, registrovanih, programa . Korisnici takođe mogu da traže i čitaju detaljne informacije o aplikacijama naAndroid Market sajtu. Početkom decembra Google je proslavio 10 milijardi preuzimanja Android aplikacija a sada, prema procenama analitičara za mobilne aplikacije iz Distima, na Android Marketu se nalazi okruglo 600.000 aplikacija. Procenat besplatnih aplikacija iznosi 68% (8 odsto više nego pre 8 meseci) aliI ako je ukupan broj aplikacija porastao, prosečan broj aplikacija koje su izradili programeri je opao. Postoji skoro 100.000 registrovanijh programera koji Android opskrbljuju bogatim sadržajem, ali oni ovih dana proizvode u proseku 4,1 aplikaciju u odnosu na 5 aplikacija po osobi, koliko ih je bilo prošle godine. Android se razvija mnogo vecom brzinom od Appleovog App Storea - Androidu je trebalo samo četiri meseca da „skoči” sa 300.000 na 600.000, dok je Appleu za to trebalo sedam meseci. No, ovaj ubrzani rast može da se „obije o glavu” krajnjim korisnicima - jednom kad je programer registrovan, dozvoljeno mu je da objavljuje aplikacije direktno na Marketu, a Google tek naknadno uklanja one koje su sumnjive tj. nisu u skladu sa pravilim

9

Page 10: Seminarski Rad - Android

Zaključak

Android je operativni sistem namenjen mobilnim platformama. Trenutno je to najkorišcenija platform sa preko 40% udela u svetu moblinih operativnih sistema. Vecina standardnih programa kao što su kalendar, pretraživač datoteka, program za rad sa slikama još uvek nisu uključeni u razvojno okruženje Android SDK. Sve ove kao I druge dodatne aplikacije se mogu ``skinuti`` sa Android Marketa.Ugrađena baza datoteka na sistemu prepoznaje samo osnovne tipove media datoteka. Shodno tome, realizovana je baza koja pruža informacije o datotekama na sistemu, kao I neophodne funkcije kako bi se baza održavala ažurnom. Podrška za sistemska obaveštenja o promenama na sistemu datoteka u sadašnjoj verziji nije dostupna korisniku, tako da je prilikom razvoja programa korišcena manje optimalna metoda pracenja sadržaja direktorijuma, a sve u cilju održavanja baze ažuriranom. Prilikom izrade programa korišcene su preporuke od strane proizvođača Androida (Google). Preporuke se odnose na strukturu programa i način primene komponenti. Mnoge novine koje uvodi Android OS olakšavaju posao programera. Neki primeri za to su realizovanje programa u Javi, unapred definisana grafičke sprege, adapteri, blokovi za reagovanje na spoljne događaje… Android je mobilna platforma sa kodom otvorenog tipa (open source) sa besplatnim razvojnim alatima (Eclipse, SDK, Linux). Kombinacija Linux i DVM (Dalvik Virtual Machine - optimizovana verzija JVM za mobilne platforme) daje mnoge prednosti kao što su mogucnosti C sistemskog programiranja ali i Java objektnog razvoja programa. Sistemska programska podrška je vec na zavidnom nivou što znači da su realizovane biblioteke za sve dodatke za mobilne platforme. Na razvoju ove platforme proizvođaču Androida Googlu su se pridružile firme članice Open Handset Alliance-a (kao što su HTC, Intel, Texas Instruments, Samsung).

10

Page 11: Seminarski Rad - Android

LITERATURA

1) Dušica Marijan, “Pretraga podataka na mobilnim uređajima sa operativnim sistemom Linux”, Etran 2008.

2) www.code.google.com/android, Google co.

3) David Flanagan, “Java in a Nutshell: A Desktop Quick Reference”,O'Reilly, 2005.

4) M. Maslakowski, “Sam's Teach Yourself MySQL in 21 Days”,2000.

5) George Voulgaris, ITM Analyst Partner, “Activating the IdleScreen: Uncharted Territory”

6) www.openhandsetalliance.com - Open Handset Alliance webpage .

7) www.en.wikipedia.org/wiki/Android_Market

8) www.en.wikipedia.org/wiki/Android_(operating_system)

9) www.telflor.rs

10) www.mobihobi.com

11