15
ВИСОКА ШКОЛА ЕЛЕКТРОТЕХНИКЕ И РАЧУНАРСТВА Семинарски рад из Апликативног софтвера Андроид Студент: Игор Радивојевић, НРТ - 19/12 Проф . Др . Радмила Вукић Београд, Новембар 2012. год.

Android operativni sistem seminarski

Embed Size (px)

DESCRIPTION

Moj licni trud

Citation preview

Page 1: Android operativni sistem seminarski

ВИСОКА ШКОЛА ЕЛЕКТРОТЕХНИКЕ И РАЧУНАРСТВА

Семинарски рад из Апликативног софтвера

Андроид

Студент:

Игор Радивојевић, НРТ- 19/12 Проф. Др. Радмила Вукић

Београд, Новембар 2012. год.

Page 2: Android operativni sistem seminarski

САДРЖАЈ 1 Увод ................................................................................................................................... 3

1.1 Шта је уствари Андроид? ........................................................................................ 3

1.2 Шта то Андроида чини тако посебним? ................................................................ 3

2 Историја Андроида .......................................................................................................... 4

3 Структура Андроида ....................................................................................................... 5

3.1 Linux Kernel............................................................................................................... 6

3.2 Hardware abstraction layer ......................................................................................... 6

3.3 Libraries...................................................................................................................... 6

3.4 Android Runtime ........................................................................................................ 6

3.5 Application Framework .............................................................................................. 6

4 Верзије Андроид оперативног система ......................................................................... 7

4.1 Андроид 1.5 – Cupcake ............................................................................................. 7

4.2 Андроид 1.6 – Donut ................................................................................................. 7

4.3 Андроид 2.0 – Eclair ................................................................................................. 7

4.4 Андроид 2.2 – Froyo ................................................................................................. 8

4.5 Андроид 2.3 – Gingerbread ....................................................................................... 8

4.6 Андроид 3 – Honeycomb .......................................................................................... 8

4.7 Андроид 4 – Ice Cream Sandwich ............................................................................ 9

4.8 Андроид 4.1 – Jelly Bean .......................................................................................... 9

5 Кориснички интерфејс .................................................................................................. 10

5.1 Vanilla ...................................................................................................................... 10

5.2 Sense ......................................................................................................................... 11

5.3 Sony Ericsson UI ...................................................................................................... 11

5.4 Touch Wiz ................................................................................................................ 11

6 Google Play Store ............................................................................................................ 12

7 Рутовање телефона ........................................................................................................ 13

7.1 Зашто рутовати телефон? ...................................................................................... 13

7.2 Ризици ...................................................................................................................... 13

8 Закључак ......................................................................................................................... 14

9 Литература ...................................................................................................................... 15

Page 3: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

3

1 Увод

1.1 Шта је уствари Андроид?

Андроид је оперативни сиситем који је развила компанија Google, намењен пре свега

„паметним“ телефонима осетљивим на додир. За кратком време постигао је незапамћен

успех. Јако брзо је почео да доминира на мобилни телефонима и таблетима. Заснован је на

Linux кернелу(језгро) које развија удружење Open Handset Alliance (OHA). Постоје 86

компанија које се баве хардвером, софтвером и телекомуникацијама који је посвећен

унапређивању мобилних уређаја. Такође, може радити и на лаптоп рачунарима, netbook

рачунарима, читаче електронских књига, па чак и на ручним сатовима.

1.2 Шта то Андроида чини тако посебним?

За разлику од осталих оперативних система, као што су на пример iOS, који покреће

iPhone, BlackBerry OS, или Winodws Phone OS који су под потпуном контролом компанија

Apple, Research in Motion, однсоно Microsoft. Андроид функционише као open source

оперативни систем, тако да произвођачи мобилних телефона који се одлуче за ову платфому

могу до извесне мере да прилагоде својим потребама.

Слика 1.1. Слика Андроид-а

Page 4: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

4

2 Историја Андроида

Andy Rubin je основао Android Inc. још давне 2003. год. у Калифорнији. Уз Rich Miner-

а, Nick Sears-а и Chris White-а, као своје колеге. Андроид се радио у тајности, оно што се је

једино знало о том пројекту, да је софтвер за мобилне уређаје, и по речима једног од

програмера желели су да направе „паметне телефоне који ће више водити рачуна о

корисничким захтевима“. Компанија Google је увидела потеницијал у Андроиду и купила га

2005. год. Главни програмери су остали да раде за Google, ово је био вероватно корак Google-

а да се убаци на мобилно тржиште. Андроид почиње да се помиње у јавности од новембра

2007. године када Open Handset Alliance, групу неколико великих произвођача, објављује

почетак развоја отворених стандарда за мобилне уређаје – тада је представљен Андроид бета.

Крајем 2008, годиен групи приступа још четрнаест компанија међу којима су и неки

произвођачи телефона, али и произвођач процесора ARM. Развојем руководи Google.

Прва комерцијална верзија 1.0 представљена је септембра 2008. године, а лед је пробио

HTC Dream. Верзија 1.1 дошла је неколико месеци касније, али почетак масовне употребе

Андроид-а везује се за верзију 1.5 (Cupcake).

Слика 2.1. Графикон који приказује кориснке у милионима

Page 5: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

5

3 Структура Андроида

Андроид је заснован на Linux kernel-у (језгру) 2.6 и Linux kernel 3.x, са middleware-ом,

libraries (библиотекама) и API (Апликационо програмски интерфејс) написани у програмском

језику C/C++. С`обзиром на отвореност изворног програмског кода, апликације middleware-a

имају могућност комуницирања и покретања других апликација. Иако је код писан у C/C++

већина ствари писана је у Java програмском језику користећи Android Software Development

Kit (SDK). Андроид је и направио свој језик за програмирање апликација, који је извршавао

апликације и до десет пута брже и боље располагање ресурса, али због сложене грађе

прављења апликација се користи SDK. Архитектура Андроида (Слика 3.1.) се може

представити кроз шест компонента где сваки компонент чини своју функцију што

представља целину андроида.

Слика 3.1. Архитектура Андроида

Page 6: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

6

3.1 Linux Kernel

Linux Kernel садржи драјвере који служе за правилно функционисање екрана, камере,

Bluetooth-а, Меморије, USB, тастатуре, WiFI, драјвера за звук и наравно и наравно

потрошње.

3.2 Hardware abstraction layer

Хардверске апстракције су скупови рутина у софтверу који симулирају неке

специфичне детаље дајући програмима директан приступ хардверским ресурсима. Као што

су: Графика, Звук, Камера, ГПС, Радио,...

3.3 Libraries

Библиотеке које су писане у C/C++ програмском језику:

Surface Manager – библиотека која надгледа исцртавање графичког окружења

Open GL | ES – библиотека за хардверско убрзавање 3D приказа

SGL – 2D библиотека задужена за већину апликација

Media Framework – библиотека основана на OpenCORE која подржава снимање

и репродукцију познатих аудио/видео формата

Free Type – библиотека за приказ фонтова

SSL (Secure Socket Layer) – библиотека за сигурносну комуникацију путем

интернета

SQLite – библиотека за управљање базама података доступна свим апликацијама

WebKit – енџин за веб претраживаче

Libc – системска C библиотека прилагођена за уграђене делове засноване на

Linux оперативном систему

3.4 Android Runtime

Android Runtime је слој који служи за покретање апликација. Састоји се од две важне

компоненте. Прва су ткз. “Core Libraries” односно библиотека која садржи већину језгрених

библиотека програмског језика Java. Друга компонента је DalvikVirtual Machine која је

саставни део оперативног система. Пре извршења, Андроид апликације се преводе у формат

.dex (компактни извршни Dalvik) који је намењен системима слабијим по питању меморије и

процесорске брзине.

3.5 Application Framework

Након Библиотека долзаи слој под називом Апликацијски оквир који се састоји од

механизма који помажу писање апликација. АО дозвољава употребу свих API-ја који су

кориштени за базне апликације. Тако је омогућено управљање програмским пакетима,

активностима апликације, позивима, прозорима, ресурсима, коришћење података од више

различитих апликација.

Page 7: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

7

Слика 4.2. CC

Слика 4.2. Donut

Слика 4.2. Eclair

4 Верзије Андроид оперативног система

Од 2008. год. Андроид је имао бројне надоградње које су побољшавале рад

оперативног система, додајући нове карактеристике и уклањање багова прошлих верзија.

Свака већа промена назаивана је по слаткишима у алфабетном реду (Табела 1.).

Верзија Кодно име Популарност

1.5 Cupcake 0.1%

1.6 Donut 0.3%

2.1 Eclair 3.1%

2.2 Froyo 12%

2.3 – 2.3.7 Gingerbread 53.9%

3.1 – 3.2 Honeycomb 0.4% - 1.4%

4.0.3 – 4.0.4 Ice Cream Sandwich 25.8%

4.1 – 4.2 Jelly Bean 2.7%

Табела 4.1 Верзије и називи ОС-а и њихова популарност

4.1 Андроид 1.5 – Cupcake

Колачић из модле објављен је 30. Априла 2009. год. Осим слатког имена

донео је и неколико нових функција и измене корисничког интерфејса.

Подржава виртуелну тастатуру независних програмера. Подржаност виџета.

Видео снимање и пуштање у форматима MPEG-4 и 3GP. Могућност

аутмоатског упаривања преко Bluetooth-а. Претраживачи су добили функцију

копирај/налепи. Видео слике и снимци могу да се upload-ују на Youtube.

4.2 Андроид 1.6 – Donut

Крофна се појавила 15. септембра 2009. год. Претраживање гласом и

текстом сада обухвата и букмарке, контакте и интернет. Убачаена ја подршка

за синтезу говора на више језика, која је доступна било којој Андроид

апликацији. Олакшана је и претрага апликација на Google Play Store

(који се тада звао Андроид Маркет). Фотоапарату се лакше приступа и

убрзан је.

4.3 Андроид 2.0 – Eclair

Еклер је објављен 26. Октобра 2009. год. У овој верзији

проширена је могућност синхронизације. Додата је Bluetooth 2.1.

Могућност брисања старих порука, више опција што се тиче камере.

Бржи одзив тастатуре, уграђен паметни речник који памти коришћене речи. Подршка за

HTML5. Изглед корисничког интефејса је освежен. Подржане веће резолуције екрана.

Новина је live wallpapers, односно анимиране позадине екрана. Касније је добила и додатна

подешавања кроз нове надоградње (2.0.1 и 2.1).

Page 8: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

8

Слика 4.6. GB

Слика 4.5. Froyo

Слика 4.7. HC

4.4 Андроид 2.2 – Froyo

Замрзнути јогур изашао је 20. Маја 2010. год. Верзија доноси

оптимизацију брзине, меморије и преформанси, између осталог

захваљујући ЈИТ компајлеру. Претраживачу је интегрисан Chrome-ов V8

JavaScript енџин. Омогућене су push нотификације захваљујући

Андроидовом сервису C2DM (Android Cloud to Device Messaging), што у

пракси значи да обавештења стићу одмах. Једна од значајних функција је

рад телефона као USB модем када је повезан на рачунар, као и подизање WiFi hotspot-а.

Убачена је опција да се онемогући проток података преко мобилне мреже. Један битан помак

је то што апликације могу да се инсталирају на SD картицу. Подршка за Adobe Flash. Froyo је

имао и своје надоградње на 2.2.2 и 2.2.3.

4.5 Андроид 2.3 – Gingerbread

Колач са ђумбиром изашао је 6. децембра 2010. год. Кориснички

интефејс је побољшан. Подржани су велики екрани и резолуције (1280x768)

и већи. Још бољи одзив екрана. Повећана прецизност . Уграђена је подршка

за NFC(Near Field Communication). Побољшана је контрола потрошње.

Подршка за још више сензора, попут жироскопа и барометра. Касније

верзије Gingerbread-а су исправљале грешке претоходних и додавањем

неких ситних ствари. Потрошња батерије још боље оптимизована. Последња верзија

Gingerbread-а је 2.3.7.

4.6 Андроид 3 – Honeycomb

За таблете је осмишљена породица 3.x која носи име Honeycomb

(пчелиље саће). Објављена је 22. фебруара 2011. год. Кориснички

интерфејс је нов. Додата је системска трака преко које се долази до

нотификација и статуса, а ту су и софт тастери за навигацију. Подржан је

multitasking. Тастатура је редизајнирана – прилагођена је већим екранима.

Већина ствари су поједностављене, све је лепше и боље орагинозовано.

Подржани су вишејезграни процесори. Касније верзију су оптимизовале кориснички

интерфејс, повезивање улазно-излазних уређаја (миш, тастатура, џојстик), хардверску

подршку. Последња верзија је 3.2.2.

Page 9: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

9

Слика 4.9. JB

Слика 4.8. ICS

4.7 Андроид 4 – Ice Cream Sandwich

Четворка носи име Ice Cream Sandwich (Сендвиџ-сладолед), а

намењена је и мобилним телефонима и таблетима. Верзија 4.0.1 званично

је изашла 19. октробра 2011. год. Она доноси напредак у брзини и

преформансама, јер је кодирана од „нуле“. Тастери више нису физички

већ виртуелни, у оквиру корисничког интерфејса. Креирање и организација фолдерима су

олакшани. Новитет је screenshot, апликацијама се може приступити из lock screen-а. Уређај се

може откључати препознавањем лица. Уграђен је монитор потрошње мобилног Интернета са

опцијом да упозорава корисника када се приближава лимиту. Систем може да гаси

апликације које генеришу интернет проток у позадини. Функционалност камере је убрзана,

омогућено је снимање у 1080p и додате су нове функције. Синхронизација са друштвеним

мрежама. NFC користи се у функцији Andorid Beam, служи сврху као Bluetooth, само на

много бржи и лакши начин. Виџетима је величина променљива. Последња верзија, тренутно

доступна, за Ice Cream Sandwich је 4.0.4.

4.8 Андроид 4.1 – Jelly Bean

Jelly Bean (Шарене бомбоне) је изашао крајем септембра 2012. год.

Доноси боље преформансе, флуидност у раду, захваљујући Project Butter-у,

чији је циљ био да графичко преоцесирање ради брже без иједног штуцања.

Једна од већих карактеристика, ове верзије, јесте Google Now, слична ствар

као са iPhone-ом, гласом можете навити аларм, одредити дестинацију,

претраживати интернет, углавном добијати информације на лакши и бржи

начин. Новитет код камере јесте што може да слика у сферном облику (слично сликама

улуца на Google Maps). Уз верзију 4.2 има промена у корисничком интерфејсу и штедњи

батерије. Тренутна, последња верзија је 4.2.

Слика 4.10 Графикон употребе других верзија оперативног система

Page 10: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

10

5 Кориснички интерфејс

Андроид је далеко најприлагодљивији оперативни систем за мобилне уређаје.

Добављчи телекомуникационих услуга и произвођачи мобилних уређаја прилагођавају га

својим и нашим потребама како би на неком нивоу остварили предност у односу на

конкурентска решења. Платформа Андроид најчешће се модификује додавањем нових

функционалности, апликација, виџета или сервиса, као и променом визуелног идентитета

корисничког окружења. Тако уз неке уређаје стиже тзв. Vanilla – не измењена, „фабричка“

Google-ова верзија Андроида, док са друге испоручује мање-више прилагођена варијанта,

било од стране оператера, или од стране произвођача, а понекад и комбиновано.

Искуство говори да напреднији корисници, навикнути на то да самостално „прчкају“ по

телефону и подешавају његове функције према својим специфичним потребама, преферирају

Vanilla Андроид, који растерећује хардвер телефона, најбрже добија надоградње.

5.1 Vanilla

Vanilla Андроид(слика 5.1.) је основни пакет који Google шаље произвођачима

телефона. Такав „сирови“ Андроид на први поглед није привлачан, али већини корисницима

се свиђа Vanilla, јер није оптерећена непотребним софтвером, којег са сваком новом верзијом

Custom UI има све више. Телефони брже раде кад нису оптерећени тешком „одећом“, па

треба добро размислити да ли ваш телефон може то да обради без проблема

. Слика 5.1.Vanilla Andorid (Google дизајн)

Page 11: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

11

5.2 Sense

Sense (Слика 6.) је несумњиво један од најпрепознатљивих и

свакако један од најомиљенијих корисничких окружења за Андроид

уређаје. Тајванска компанија HTC се и те како потрудила да Андроид

UI учини привлачнјим за просечног корисника паметних телефона.

Заштитни знак Sense-a је виџет који комбинује Flip сат и временску

прогнозу у лепо дизајнираном и јос боље анимираном маниру. Ради

изузетно глатко, без превеликог „штуцања“. Прилично је оптимизован

за брзину и функционалност. Sense је доста модификован у односу на

остале корисничке интефејсе, изгледа богато, а уједно и лепо.

Слика 5.2. Sense

5.3 Sony Ericsson UI

Sony Ericsson UI (Слика 7.) је елегантно

дизајниран, брз је, функционалан и, што је

најважније, стабилан. Прилагођен је до те мере да је

тешко препознати да се ради о Андроиду. Дословно

сваки његов елемент подложан је промени – од Home

екрана до иконица у Dock-у. Овај UI можете

прилагодити тако да вам све важне апликације и

функције увек буду на дохват прста, што ретко који

други UI нуди. Слика 5.3. SonyE UI

5.4 Touch Wiz

Samsung-ов TouchWiz (Слика 8.)

постао је један од најомиљенијих Андроид

корисничких окружења. Као и остали,

TouchWiz има позитивне и негативне стране.

Највећу замерку критичари проналазе у

дизајну – називају га копијом iOS-a. Брзина

је иста као код Vanilla варијанте, а што се

естетике тиче, корисници често кажу да је

истовремено и леп и ужасан. У односу на

Sense изгледа доста просто. TouchWiz je

конципиран логично, једноставан је за

коришћење и није превише прилагођен. Слика 5.4. Touch Wiz

Page 12: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

12

6 Google Play Store

Као Google-ов оперативни

систем за телефоне, Андроид је

осмишљен тако да ради у

комбинацији са другим Google-овим

сервисима. За потребе инсталације

програма на Андроид телефоне

створен је Google Play Store, сервис

који на једном месту окупља све

апликације намењене том

оперативном систему. То наравно,

није нова идеја. App Store за iPhone

постоји много дуже. Али Андроид је

успео и да обори његов рекорд по

броју апликација, Google Play Store

тренутно има 850,000 апликација. Слика 6.1. Изглед Play Store-a

Одлазак на Google Play Sotre не би требао да представља проблем, јер долази

преинсталиран на свим уређајима који имају оперативни систем Андроид. Апликације се

скидају уз пар додира и све се аутоматски инсталира и подешава. Пре инсталације требало би

погледати које све дозволе апликација захтева од оперативног система, као и коментаре

других корисника. Разлога за извесну опрезност има, у најбољем случају, можете да скинете

нефункционалну и баговиту апликацију, а у најгорем неку малициозну. Иако све апликације

Google контролише и даје одобрење за њих, ипак је све више оних сумнњивог порекла. На

пример, чудно би било да апликација за једноставно цртање тражи контролу над стањем

ГПРС конекције или дозволу да пошаље СМС-ове.

Неке апликације се не могу наћи Google Play Store, разлога за то може бити више. Уз

ваш налог на Google Play Store везује се и то који уређај (или випе њих) имате. Уколико га

апликација не подржава, она се неће појавити у претрази. Дешава се да апликација савршено

ради на вашем уређају, али да програмер није означио да је подржан ваш тип уређаја. То је

најчешћи случај код телефона са мањом резолуцијом екрана. Једини начин да дођете до

апликације коју не можете скинути преко Google Play Store-а јесте преко алтернативних

начина, путем интернета, где треба бити много више опрезнији. Апликације које се плаћају

можете куповати путем кредитних картица, све што вам је потребно јесте Google Checkout.

Google Play Store се може користити и на ручунару, преко претраживача. Преко

рачунара се могу инсталирати апликације са Google Play Sotre-a директно на мобилни или

таблет.

Page 13: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

13

7 Рутовање телефона

Рутовање телефона је добијање администраторских права на

телефону/таблету. Рут (Root) је коренски корисник Linux

оперативног система, онај који има максималне привилегије и за

који не постоје ограничења. Корисник на сопственом телефону

нема root привилегије. То је због логике која стоји иза оперативних

система базираних на Linux-у. Мања је могућност направити штету

без рутовања. С друге стране, ограничене су могућности

прилагођавања оперативног система сопственим потребама. Sadasdasdasda

7.1 Зашто рутовати телефон?

Постоје апликације које захтевају root да би радиле. Такве су, рецимо апликације које

бележе screenshot екрана телефона. Такође процесори на многим телефонима могу занатно да

се оверклокују. Уколико је телефон већег буџета, а процесор спор, на овај начин се могу

покретати захтевнији апликације, а и општи одзив телефона је бољи.

Други разлог је састављање custom ROM-ова. Сваки од произвођача испоручује уз

телефон и своју верзију Андроид оперативног система, нашминкану или прилагођену

телефону. Заједница која ради на развоју custom ROM-ова је огромна. Стављањем custom

ROM-а можете да убрзате телефон, да му дода нове могућности или да се једноставно

освежи и промени изглед телфона.

Трећи разлог је инсталација custom ROM-a који подржава партиције на SD картици.

Наиме, један од честих проблема код Андроид оперативног система је ограничење интерне

меморије на коју се инсталирају апликације. Решење је партиционисање SD картице тако да

на њој постоји EXT3 или EXT4 партиција, као и стандардна FAT партиција. Custom ROM

може да искористи EXT партицију као проширење интерне меморије, тако да телефон не

види разлику.

7.2 Ризици

Наравно, постоје и одређени ризици који у најгорем случају могу да резултују

такозваним brick-овањем телефона, тј. телефон постаје лепо дизајнирани притискач за папир.

Треба нагласити да се право харверско brick-овање телефона тешко постиже и веома се

ретко дешава. Чак и у том случају, штету је могуће исправити у сервису. Софтверско brick-

овање настало уписивањем погрешног ROM-а, неким грешкама и слично, у највећем броју

случајева исправља се веома лако – уписивањем исправног ROM-а или враћањем backup

оригиналног ROM-а, који је наравно, претходно направљен.

Слика 7.1. Superuser

Page 14: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

14

8 Закључак

Андроид је доживео низ промена у кратком временском року, нарочито у последње две

године. Са преко 500 милиона уређаја активирано и преко 1,3 милиона нових сваким даном,

Андроид ће имати велику будућност. Пружајући надоградње сваких шест месеци и са сваком

надоградњом нове промене, боља интеракција хардвера и софтвера, боље преформансе,

лепши дизајн и много тога још, сигурно ће бити водећа мобилна платформа широм света.

Page 15: Android operativni sistem seminarski

Игор Радивојевић НРТ-19-12 Андроид

15

9 Литература

[1] Свет Компјутера (издање - Јануар 2012)

[2] http://en.wikipedia.org/wiki/Android_(operating_system) – Све о Андроид

оперативном систему на енглеском (Посећено у новембру 2012.)

[3] http://sr.wikipedia.org/wiki/%D0%90%D0%BD%D0%B4%D1%80%D0%BE%D0%

B8%D0%B4_(%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8

%D0%B2%D0%BD%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0

%BC) – Све о Андроид оперативном систему на хрватском (Посећено у

новембру 2012.)

[4] http://developer.android.com/about/dashboards/index.html - Верзије Андроида

(Посећено у новемру 2012.)

[5] Свет компјутера јануарско издање 2012. год.