Байланысты: Д ріс Кіріспе. Заманауи мобильді осымшалар. Мобильді интернет ж
Қосымшалар деңгейі (Applications) - алдын ала орнатылған негізгі қосымшалар жиынтығы.
Платформа сәулетінің көрнекі бейнесі
Платформа компоненттерін толығырақ қарастырайық. Компоненттік иерархия негізіне Linux 2.6 ОЖ ядросы (біршама қысқартылған) жатады, аппараттық және бағдарламалық жасақтама арасындағы аралық деңгей ретінде қызмет етеді, жүйенің жұмыс істеуін қамтамасыз етеді және ядро жүйесінің қызметтерін ұсынады: жад, қуат жүйесі және процестерді басқару, қауіпсіздік, желі және драйверлер.
Бір деңгей жоғары кітапханалар тізімі мен орындалу ортасы орналасқан. Кітапханалар келесі функцияларды орындайды: жоғары деңгейге арналған алгоритмдерді қамтамасыз ету; файл форматтарына қолдау көрсетеді; ақпаратты кодтауды және декодтауды қамтамасыз етеді (мысалы, мультимедиялық кодектер); Графикалық сурет салады т.б. Кітапханалар C / C ++ түрінде енгізіліп, өндірушінің алдын ала анықталған түрде жеткізетін құрылғының арнайы жабдықтары үшін жинақталған.
Кейбір кітапханаларды қарастырайық:
Surface Manager - құрама терезе менеджері. Кіріс сызбасының командалары кадрдан тыс буферде жиналады, онда олар жинақталады, белгілі бір композицияны құрайды, содан кейін экранда көрсетіледі. Бұл жүйеге кез-келген қызықты әсерлерді, терезе мөлдірлігі мен тегіс ауысулар жасауға мүмкіндік береді.
Media Framework - PacketVideo OpenCORE негізінде жүзеге асырылған кітапханалар. Аудио және бейне мазмұнын жазу және ойнату, сонымен қатар статикалық кескіндерді шығару үшін қолданылады. Қолдау көрсетілетін форматтар: MPEG4, H.264, MP3, AAC, AMR, JPG және PNG.
SQLite - дерекқорлармен жұмыс істеудің негізгі қозғалтқышы ретінде Android-де қолданылатын жеңіл және өнімді реляциялық ДҚБЖ.
3D кітапханалар - олар аппараттық үдеуді қолдану мүмкіндігі болғанда 3D-графиканы жоғары оңтайландырылған суреттеу үшін қолданылады. Кітапханалар OpenGL | ES API негізінде жүзеге асырылады. OpenGL | ES (OpenGL for Embedded Systems) - ендірілген жүйелерде жұмыс істеуге бейімделген OpenGL графикалық бағдарламалау интерфейсінің ішкі жиынтығы.
LibWebCore - әйгілі Google Chrome және Apple Safari браузерлерінде қолданылатын WebKit браузерлік қозғалтқышының кітапханалары.
SGL (Skia Graphics Engine) - 2D графикасымен жұмыс істеуге арналған ашық қозғалтқыш. Графикалық кітапхана Google өнімі болып табылады және басқа бағдарламаларда жиі қолданылады.
SSL - бірдей атаудағы криптографиялық хаттаманы қолдауға арналған кітапханалар.
Libc - C тілі стандартты кітапханасы, дәлірек айтқанда оның BSD іске асырылуы, Linux негізіндегі құрылғыларда жұмыс істеуге арналған.
Орындалу ортасы құрамына Java ядросының кітапханалары мен Dalvik виртуалды машиналары үшін қол жетімді төменгі деңгейлердің көпшілігін қамтамасыз ететін ядро кітапханалары және қосымшаларды іске қосуға мүмкіндік беретін виртуалды машина кіреді. Әрбір бағдарлама виртуалды машинаның жеке нұсқаларында жұмыс істейді, осылайша жұмыс істеп тұрған қосымшаларды ОЖ-ден және бір-бірінен оқшаулайды. Dalvik виртуалды машинасында орындау үшін Java сыныптары Android SDK құрамына кіретін dx құралын қолданып .dex кеңейтімімен орындалатын файлдарға жиналады. DEX (Dalvik Executable) - бұл Dalvik виртуалды машинасы үшін жадтың ең аз мөлшерін пайдалану үшін оңтайландырылған орындалатын файл пішімі. Eclipse IDE және ADT (Android Development Tools) плагиндерін пайдалану кезінде Java сыныптары автоматты түрде .dex форматында құрастырылады.
Android Runtime архитектурасы - бұл бағдарламалар ОЖ ядросын оның басқа компоненттерінен болатын зияннан қорғауға мүмкіндік беретін виртуалды машина ортасында қатаң түрде орындалады. Сондықтан, қате коды немесе зиянды бағдарлама олар жұмыс істеген кезде Android пен оған негізделген құрылғыны бүлдіре алмайды.
Архитектурасы кез-келген қосымшаларға қол жеткізуге болатын басқа қосымшалардың бұрыннан іске қосылған мүмкіндіктерін пайдалануға мүмкіндік беретін, қосымша каркасы (Application Framework) одан да жоғары деңгейде орналасқан.
Каркас келесі компоненттерден тұрады:
қосымшалардың визуальді компоненттерін құру үшін пайдаланылатын, бай және кеңейтілетін көріністер жиынтығы (Views), мысалы, тізімдер, мәтіндік өрістер, кестелер, түймелер немесе тіпті кіріктірілген веб-шолғыш;