Android OS жұмыс істеу принципі және Android OS қосымша құру



Кіріспе 3
I Бөлім 5
Android OS жұмыс істеу принципі мен Android қосымшалары 5
Android қосымшасының компоненттері 5
Android операциялық жүйесінің архитектурасы 10
II БӨЛІМ 15
Android қосышаларын құру 15
Android.құрастырушысы құрал.саймандары 15
Java Development Kit орнату 17
Eclipse IDE орнату. 18
Android SDK.ні қондыру. 18
Android Development Tools.ті қондыру. 20
Android Development Tools.ты күйге келтіру. 21
III бөлім. 37
Электронды мәліметтерді алмастыратын қосымша. 37
Құжаттармен жұмыс жасауға арналған бағдарламалар. 37
Оперативті байланыс құратын бағдараламар 38
Толық қолжетімділік орнататын қосымшалар 40
Қорытынды 41
Қолданылған әдебиеттер тізімі : 41
Кез келген жаңа ғылым облысын зерттегеудің маңызды атрибуты қажетті әдебиетті, мануалдар мен мәлімет қорларын дұрыс таңдау болып табылады. Қажетті әдебиетті оқу туындап отырған мәселені шешуге зор ықпалын тигізеді. Мұнда біз Android платформасында бағдарламалауға арналған деректер қорын жинауға тырыстық.
Жүйені жалпы сипаттайтын, қосымшалардықұруға арналған құралдар мен жұмыс істеу механизмін түсіндіретін қысқа презентациялардан бастауды жөн көрдік
1. Introduction to Android for Developers
2. IntroductiontoAndroiddevelopment
3. Writing Real Time Games For Android - Chris Pruett
Тағы бір ресми мәлімет қоры ретінде Android SDK документациясы болып табылады.
Сонымен қоса толыққанда кітаптар мен шет ел авторларының кітаптары, интернетте табуға оңай ссылкалар: Pro Android Games (Автор: Vladimir Silva)
1. Android Essentials (Автор: Chris Haseman)
2. Beginning Android (Автор: Mark L. Murphy)
3. Pro Android (Авторы: Sayed Y. Hashimi, SatyaKomatineni)
4. Building Android Apps with HTML, CSS, and JavaScript (Автор: Jonathan Stark)
5. Professional Android 2 Application Development (Автор: Reto Meier)
6. Beginning Android 2 (Авторы: Mark Murphy, Apress)
7. Pro Android 2 (Авторы: SayedHashimi,SatyaKomatineni,Dave MacLean — Apress)
8. Android™ A Programmer’s Guide (Автор: J.F. DiMarzio)
9. Hello, Android. Introducing Google’s Mobile Development Platform (Автор: Ed Burnette)
1. GoogleAndroid программирование для мобильных устройств (Голощапов А.Л., 2011, BHV Санкт-Петербург)
2. Разработка приложений для Android (С. Хашими, С. Коматинени, Д. Маклинr, 2011)
3. Android 2. Программирование приложений для планшетных компьютеров и смартфонов (Рето Майер, Эксмо, 2011)
4. Больше книг об Android - http://4pda.ru/forum/index.php?showtopic=159318
5. Блог посвященный Android - http://android-zone.info
Блог разработчика Android - http://androidengineer.ru/

Қазақстан Республикасының
Білім және Ғылым Министрілігі
Л.Н.Гумилев атындағы
Еуразия Ұлттық Университеті
Ақпараттық жүйелер факультеті
Есептеу техникасы кафедрасы
КУРСТЫҚ ЖҰМЫС
Тақырыбы: Android OS жұмыс істеу принципі және Android OS қосымша құру

ЕТБҚ мамандығы бойынша

Жұмысты орындаған:
ЕТБҚ-23 тоьының студенті
Тынышбек Қанат
Тасқымбаев ҚуанышКурстық жұмысты қабылдаған:
аға оқытушы Адамова А.Д.

2013 жыл

Жоспар
Кіріспе 3
I Бөлім 5
Android OS жұмыс істеу принципі мен Android қосымшалары 5
Android қосымшасының компоненттері 5
Android операциялық жүйесінің архитектурасы 10
II БӨЛІМ 15
Android қосышаларын құру 15
Android-құрастырушысы құрал-саймандары 15
Java Development Kit орнату 17
Eclipse IDE орнату. 18
Android SDK-ні қондыру. 18
Android Development Tools-ті қондыру. 20
Android Development Tools-ты күйге келтіру. 21
III бөлім. 37
Электронды мәліметтерді алмастыратын қосымша. 37
Құжаттармен жұмыс жасауға арналған бағдарламалар. 37
Оперативті байланыс құратын бағдараламар 38
Толық қолжетімділік орнататын қосымшалар 40
Қорытынды 41
Қолданылған әдебиеттер тізімі : 41

Кіріспе
Кез келген жаңа ғылым облысын зерттегеудің маңызды атрибуты қажетті әдебиетті, мануалдар мен мәлімет қорларын дұрыс таңдау болып табылады. Қажетті әдебиетті оқу туындап отырған мәселені шешуге зор ықпалын тигізеді. Мұнда біз Android платформасында бағдарламалауға арналған деректер қорын жинауға тырыстық.
Жүйені жалпы сипаттайтын, қосымшаларды құруға арналған құралдар мен жұмыс істеу механизмін түсіндіретін қысқа презентациялардан бастауды жөн көрдік
1. Introduction to Android for Developers
2. Introduction to Android development
3. Writing Real Time Games For Android - Chris Pruett
Тағы бір ресми мәлімет қоры ретінде Android SDK документациясы болып табылады.
Сонымен қоса толыққанда кітаптар мен шет ел авторларының кітаптары, интернетте табуға оңай ссылкалар: Pro Android Games (Автор: Vladimir Silva)
1. Android Essentials (Автор: Chris Haseman)
2. Beginning Android (Автор: Mark L. Murphy)
3. Pro Android (Авторы: Sayed Y. Hashimi, Satya Komatineni)
4. Building Android Apps with HTML, CSS, and JavaScript (Автор: Jonathan Stark)
5. Professional Android 2 Application Development (Автор: Reto Meier)
6. Beginning Android 2 (Авторы: Mark Murphy, Apress)
7. Pro Android 2 (Авторы: Sayed Hashimi,Satya Komatineni,Dave MacLean -- Apress)
8. Android(TM) A Programmer's Guide (Автор: J.F. DiMarzio)
9. Hello, Android. Introducing Google's Mobile Development Platform (Автор: Ed Burnette)
10. Professional Android(TM) Application Development (Автор: Reto Meier)
11. Unlocking Android A Developers Guide (Авторы: W.Frank Ableson, Charlie Collins, Robi Sen)
12. The Android Developer's Cookbook: Building Applications with the Android SDK (Авторы: James Steele, Nelson To)
13. Android Application Development: Programming with the Google SDK (Авторы: Rick Rogers, John Lombardo, Zigurd Mednieks, G. Blake Meike )
14. andbook! (Android Programming with Tutorials from the anddev.org-Community)

I Бөлім
Android OS жұмыс істеу принципі мен Android қосымшалары
Android операциялық жүйесіне қосымшаларды жазу негізінде Java-ны қолданумен іске асады. Компилиацияланған бағдарламлық код (барлық ресурстық файлдар мен керекті информациялармен бірге ) арнайы архив-файлға жинақталады, Android Package. Бұл файл *.apk деген кеңейтілімге ие және арнайы aapt tool утилитамен жинақталады. Дәл сол файл кейінірек программа ретінде таралады және мобильдік құрылғыларға инсталлияцаланады. сондай бір файл бір бағдарлама кодымен байланысқан. Және Android-тағы әрбір бағдарлама өз әлемінде өмір сүреді - сондай машинада. Әдетте, әрбір бағдарлама өзінің жеке процессінде орындалады, оны Linux ядросы басқарып отырады, сонымен қатар жады менеджменті қызметін атқарады. Сондықтан, жиі бағдарлама коды басқа бағдарламалардан бөлек (изоляцияланған) күйде орындалады. Android қандай да бір бағдарламалық кодты орындауға қажеттілк туындағанда процесстерді бастайды және аяқтайды, яғни оған ешқандай қажеттілік жоқ кезде және жүйелік ресурстар басқа бағдарламаларға керек болғанда. Әдетте, әрбір бағдарламаға өзіне тиісті уникалды ID Linux-қолданушысы болады. Бағдарлама файлдары тек қана сол қолданушыға ғана және сол бағдарламаға көрінетіндей қолжетімділік құқығы орнатылған. Бірақ, басқа бағдарламаларға экспорттайтын тәсілдер бар. Мысалы, ID құқығын екі бағдарлама арасында бөлу тәсілі бар. Бұл жағдайда олар бір-бірінің файлын көре алады. Жүйелік ресурстарды үнемдеу үшін ID-і бірдей бағдарламаларды бір Linux-үрдісте жүргізуге болады, бір виртуалды машинаны бөле отырып.
Android қосымшасының компоненттері
Android операциялық жүйесігің ерекше қыры: бір қосымша өзінің функционалы үшін басқа қосымшаның элементтерін қолдана алады, әрине егер қолжетімділік құқығына ие болса. Мысалы, егер біздің қосымшамызға қозғалмалы суреттердің тізімі керек болса, ал басқа қосымшада жазылып қойылған сәйкес скроллер бар және басқа бағдарламаларға қолжетімді(қолдануға рұқсат) болса, онда оны жай ғана сол функцияны орындау үшін шақыруға болады,- жаңа қосымша үшін жазып отырудың қажеті жоқ. Сонымен қоса біздің қосымшамыздың коды басқа қосымша кодымен араласпайды және компиляцияланбайды. Тек қана басқа файлдың бір бөлігін ғана іске қосады, ондай қажеттілік туындағанда. Мұндай жұмыс жасау принципі қамтамасыз етілуі үшін, жүйе үрдісті оның кез-келген бір бөлігі керек жағдайда іске қосып және дәл сол бөлік үшін java-объекттердің экземплярын жасау керек. Сондықтан Android қосымшаларының бірегей кіру нүктесі жоқ, көптеген жүйелерде қабылданған принциптей емес. Оның орнына олардың кодтары өз алдына бөлек бүтін компоненттер мен бөліктердің жиыны болып келеді, ал жүйе қажеттілігіне қарай олардың экземплярларын жасап, қолдана алады.
Мұндай бөлік-компоненттердің төрт түрін бөліп көрсетуге болады. Әр қайсысын бөлек-бөлек қарастырайық.
Activities.
Activities өз алдына бір үрдіс үшін қолданушы орындай алатын сыртқы қолданушы интерфейсін ұсынады. Егер жай тілмен айтсақ, бұл жай ғана белсенділіктің бірлігі болып табылатын соңғы бір экран немес қолданушының әрекетіне қарай өзгеріп отыратын кадр. Ары қарай да activity терминін аудармасыз қолданамыз, жалпы есім ретінде. Сөзбе-сөз аудармасы белсенділік немесе әрекет, компоненттің мағынасын тура ашады.
Мысалы, activity менюдің батырмалар тізімін көрсетуі мүмкін, қолданушы ішінен біреуін таңдауы үшін немесе суреттерді атауларымен бірге көрсетуі мүмкін. Немесе басқа мысал - қосымша жылдам хабарлама алмасу үшін контакттар тізімін көрсету үшін бір activity қолдануы мүмкін, басқасы - таңдалған контакта хабарлама құру үшін, үшіншісі - хабарламалар тізімін көру үшін немесе күйге келтіру үшін және т.б.
Бір қосымша үшін барлық activity-лер бірге жұмыс істейді және қолданушы үшін бір бүтін интерфейс құрайды, бірақ олар өзара бір біріне тәуелсіз. Олардың әрқайсысы кодта, жаңа терезе құра алатын және программист онда визуалды интерфейс орната алатын мүмкіндікке ие Activity атты базалық класстың подкласстарында жазылған.
Қосымша бір ғана activity-ден тұруы мүмкін немесе жоғарыда мысалда көрсетілген мессенджер сияқты бірнешеуінен тұрады. Activity саны қанша болады және қандай болатыны қосымшаның мақстаты мен оның дизайнына байланысты. Әдетте, activity-дің біреуі бірінші болып белгіленеді де, қосымшаны қосқанда бірінші болып сол шығатын болады. Бір activity басқасын іске қоса алады. Сонда, бір activit-ден келесісіне өту алдыңғы activity-дің келесісін шақырғанда орындалады.
Әдетте, әрбір activity бір терезені ұсынады. Терезе толық экранды түрде тұрғызылады, бірақ ол барлық экранды алмауы да мүмкін және басқа терезелер үстінде де тұра алады. Activity басқа терезелерді де іске қоса алады - мысалы, activity-мен жұмыс жасау процесінде кенеттен шығатын диалогтық терезе немесе қандай да бір маңызды опцияны таңдау кезінде информация беретін терезе.
Терезенің визуалды құрамы визуалды компонент(немесе қойылымдардың)-обьекттердің иерархиясының көмегімен орнатылады, View базалық классында жазылған. Әрбір компонент тек терезе ішіндегі тікбұрышты кеңістікті ұсынады. Аталық компоненттер құрамында кішігірім компоненттер бар және аталық компоненттер олардың орналасуын ұйымдастырады. Компоненттер иерархиясын ағаш ретінде қарастыруға болады, ең төменгі бөлікте орналасқан элементтер (жапырақтар), кішірек бөліктері болмағандықтан тіктөртбұрышты облыс құрып, қолданушының осы облыстағы әрекетін күтеді. Осылай қолданушымен интерактивтік байланыс орнайды. Мысалы, ондай урдіс экранда кішкентай икона түрінде тұруы мүмкін және оны қолданушы басқанда қандай да бір әрекет орындайды. Android операциялық жүйесінде дайын визуалдық компонеттер жиыны бар, олар құрастырушылар үшін қолдануға қолжетімді. Жиынның құрамына түймелер (кнопка), тексттік облыстар, жылжыту жолдары, меню, ауыстыру жалаушалары және т.б.
Терезеге мұндай иерархия орнату үшін Activity.setContentView() әдісін шақыру қажет. Әдістің параметрі болып View классының экземпляры болып табылады, ол иерархия түбінде орналасады.

Services (сервистер) фондық режимде жұмыс істейтін компоненттерді ұсынады. Ол, әдетте, ұзақ операциялар немесе қиын процесстердің жұмыс істеуін қамтамасыз етуілуі үшін қажетті, бірақ жалпы жағдайда бұл жай ғана қосымша фокуста емес кезде функционалданатын режим. Процеске мысал ретінде музканы тыңдау бола алады, яғни қолданушы басқа нәрсе істеп жатқанда соңғы қосымшаны тоқтатпай, мәліметтер алмасуын айта аламыз. Сервис өз алдына ешқандай қолданушы интерфейсін ұсынбайды, яғни қолданушымен байланыспаған, тек қосылады, басқарылады және басқа компоненттермен байланысқан, мысалы, activity. Тағы жүйемен бірге қосыла алады.
Content providers Бұл компонент қосымша басқа қосымшаға беретін деректер қорын басқарады. Бұл деректер қоры қосымша қолжеткізе алатын файлдық жүйеде, SQLite деректер қорында, желіде, немесе басқа кез-келген тұрақты жерде сақталуы мүмкін. Сontent provider арқасында басқа қосымша мәліметтер сұрай алады, қолжетімділік құқығы бар жағдайда өзгерте де алады. Мысалы, Android жүйесі қолданушы контакттары жайлы информациясын өзгертетін content provider құрамында бар. Ол кез-келген қосымшаға, қажетті тиісті құқықтары бар ,нақты адам жайлы информация жаза алады, оқып және өзгерту үшін компонент құрамын шақыра алады.
Жалпы жағдайда бағдарламамен қолданылатын және басқаларға жабық мәліметтердіcontent provider арқылы оқып, жазу үшін қолдана аламыз. Мысалы, NotePad қосымшасы мұндай компонентті жазбаларды сақтау үшін қолданады.
Бұл компонент ContentProvider подклассы ретінде жазылған. Және, басқа қосымшалар мәліметтермен операция жасау үшін оларға стандартты API жиынын орнату керек.
Broadcast receivers. Бұл компонент жалпыжүйелік хабарламаларды тарату, бақылау және әрекетке реакция беруге жауап береді. Көптеген хабарламалар жүйеден келеді, мысалы, батарея заряды аз екендігі немесе экран өшірулі екендігі жайлы хабарламалар. Қосымшалар сонымен қоса мынадай хабарлар жіберуі мүмкін, мысалы, информация құрылғыға жүктелгендігі жайлы және қолдануға дайын екендігі жайлы мәліметтер. Сервистер сияқты, broadcast receivers ешқандай қолданушы интерфейсін ұсынбайды, бірақ ол күй жолында хабарламалар жазуы мүмкін, қолданушыны қандай-да бір жағдай болғандығы жайлы ескерту үшін. Бірақ жиі broadcast receivers минималды жұмыс көлемін орындау үшін басқа компоненттермен әрекеттеседі. Осылай ол қандай-да бір әрекетке байланысты сервистерді жұмысқа қоса алады.
Android операциялық жүйесінің архитектурасы

Егер Android компоненттік моделін иерархия түрінде келтіретін болсақ, ең астында, фундаментальды және базалық құрастырушы ретінде операциялық жүйенің ядросы орналасады.Жиі компоненттік модель ретінде тағы бағдарламалық стек деп атайды. Шынында да, бұл анықтама мұнда үйлесімді, себебі әңгіме бірге қорытынды нәтиже алуға бағытталған бағдарламалық өнімдер жиыны жайлы болмақ. Үрдістер бұл моделде кезектесе орындалады және иерархия дәрежелері де кезектесе отырып өзара бір-бірімен байланысады.
Белгілі болғандай, Android - Linux ОЖ бірнеше кесілген ядросына негізделген және сондықтан бұл деңгейде біз оны көре аламыз (2.6.х версия). Ол жүйенің функционалдануын қамтамасыз етеді және қауіпсіздік, жадымен басқару, энергожүйе мен процесстерге жауап береді, сондай-ақ желілік стекті ұсынады және драйверлер моделін. Ядро сонымен қатар абстракциялық деңгей ретінде құрылғылық қамтамасыз ету мен бағдарламалық стек арасында жұмыс атқарады.
Ядродан жоғарырақ , бағдарламалық қамтамасыз етуші ретінде аралық қабат, кітапханалар(Libraries) жиыны жатыр, қосымша үшін маңызды базалық функционалды қамтамасыз етуге арналған. Яғни дәл осы деңгей дайын алгоритмдерді жоғарыда орналасқан деңгейлерге жеткізіп отыруға жауап береді, файлдық форматтарды қолдау, кодтауды жүзеге асыру және мәліметтерді декодтау (мысал ретінде мультимедиялық кодектерді алсақ болады), графиктерді сорттау және т.б. CC++ тілінде дайын кітапханалар және арнайы құрылғылық қамтамасыз етуге жазылған көптеген кітапханалар да қолданылады.
Бірнешеуін қарастырайық:
Surface Manager - Android ОЖ-де композитті терезелер менеджері қолданылады, Compiz (Linux) сияқты, біақ біраз қарапайымдалған. Графиканы сорттау орындау кезінде тікелей дисплей буферіне жіберудің орнына, жүйе келіп жатқан сорттау командаларын кадрленген буферге жібереді, онда олар басқаларымен бірге жинақтала береді, қандайда бір композицияны құрып, кейін қолданушыға экранға шығарылады. Бұл жүйеге қызықты эффекттер құруға мүмкіндік береді, терезелердің мөлдірлігі мен бірқалыпты ауысуына.
Media Framework - PacketVideo OpenCORE базасында құрылған дайын кітапхана. Оның көмегімен жүйе аудио және видео контенттерді жазу мен ойнату мүмкіндігіне ие болады, сондай-ақ статикалық суреттерді шығара алады. Көптеген танымал форматтар қоланылады, тағы да MPEG4, H.264, MP3, AAC, AMR, JPG және PNG.
SQLite - жеңіл және өнімді релятивті ДҚБЖ, Android-та деректер қорымен жұмыстың негізгі қозғалтқышы ретінде қолданылады, қосымшалармен деректерді сақтау үшін қолданылады.
3D кітапханалар - жоғары оптималданған сорттау кезінде қолданылады.
3D графиктер, мүмкін жағдайда құрылғылық жылдамдықты қолданады. Олардың орындалуы API OpenGL ES 1.0. негізінде тұрғызылады.
1. OpenGL ES (OpenGL for Embedded Systems) - OpenGL графикалық бағдарламалық интерфейстік жиынша, орнатылған жүйелерде жұмыс істеуге арналған.
FreeType - Биттік карталармен жұмыс жасауға арналған кітапхана, сондай-ақ шрифттердің расстеризациясы мен олармен операция жүргізуге. Бұл жоғары деңгейдегі шрифттер мен текстті көрсету үшін арналған қозғалтқыш.
LibWebCore - танымал әрі жылдам WebKit браузерлік қозғалтқыштың кітапханасы, сонымен қатар Google Chrome мен Apple Safari сияқты десктоптық браузерлерде қолданылады.
SGL (Skia Graphics Engine) -2D-графикамен жұмыс жасауға арналған ашық қозғалтқыш. Графикалық кітапхана Google компаниясының продукты болып табылады және жиі өздерінің бағдарламаларында қолданылады. SSL - аттас криптографиялық протоколды қолдау үшін арналған кітапхана.
Libc - C тілінің стандартты кітапханасы, анығырақ оның BSD реализациясының, Linux базасында жұмыс жасауға арналған. Bionic атауын көтеріп жүр.
Дәл сондай деңгейде Android Runtime орналасқан - жұмыс жасау ортасы. Оның ерекшелігі оның құрамындағы ядроның кітапханалар жиыны мен Dalvik виртуалды машинасы болды. Кітапханалар көп бөлігін төмен деңгейдегі Java тілінің ядро кітапханаларына қолжетімді функционалдықты қамтамасыз етеді.
Бұл деңгейде тағы да орналасқан Android Runtime - орындау облысы. Оның арнайы құраушысы - ядро кітапханалары мен Dalvik виртуалды машинасы болып табылады. Кітапханалар көп жағдайда , Java тілі ядро кітапхасында орналасқан төмен деңгейдегі функционалдықты қамтамасыз етеді.
Android ОЖ-де әрбір қосымша Dalvik виртуалды машинасында өзіне тән экземплярда орындалады. Осылай арқылы, барлық қосылған процесстер бір-бірінен және операциялық жүйеден босатылған. Сонымен қатар, жалпы Android Runtime архитектурасы мынадай: қосымшаның жұмыс істеуі виртуалды машинаның қоршауында іске асады. Соның арқасында операциялық жүйенің ядросын басқа құраушыларының тарапынан мүмкін болатын қауіптерден қорғайды. Сондықтан қатесі бар код та, қауіпті бағдарлама да іске қосылғанда Android және оның базасындағы құрылғыларын құрта алмайды, мұндай қорғау функциясы Android Runtime-нің негізгі қасиеті болып табылады. Бір деңгей жоғары Application Framework орналасқан, кейде бағдарламалар тірегі деп те аталады. Дәл осы бағдарламар тірегі арқылы құрастырушылар жүйенің компоненті болып табылатын төменірек деңгейде орналасқан API қолжеткізе алады. Сонымен қоса Framework архитектурасы арқасында кез-келген қосымшаға басқа бағдарламарда дайын, рұқсат етілген мүмкіндіктерді пайдалану қамтамасыз етіледі.
Сервистер мен жүйелердің базалық жиынында, барлық бағдарламаның негізінде орналасқан және Framework бөліктеріне мыналар кіреді:
Үлкен көлемдегі және кең көрсетілімдер жиыны (Views), қосымшаның визуальдық компоненттерін тұрғызуда қолданылады, мысалы, тізімдер, тексттік жолдар, кестелер, батырмалар немесе керек болса web-браузер.
Контент-провайдерлер (Content Providers), мәлеметтерді басқаушылар, бұл бағдарламалар - басқа бағдарламарға өз жұмысына қолдануына мүмкіндік беру үшін ашып береді.
Ресурстар менеджері(Resource Manager), функционалдықсыз (кодсыз ) ресурстарға қолжетімдікті қамтамасыз етеді, мысалы, жолдық мәліметтерге, графикаларға, файлдар мен т.б.
Ескертулер менеджері (Notification Manager), осының арқасында бағдарламалар қолданушыға өзінің ескертулерін күй жолында жариялай алады.
Әрекеттер менеджері (Activity Manager), бағдарламаның өмірлік циклін басқарады, әрекеттерді тіркеп, сол жайлы мәліметтерді сақтайды, сондай-ақ навигация жүйесін ұсынады.
Орналасу менеджері (Location Manager), бағдарламаларға периодты түрде құрылғының географиялық орналасуы жайлы соңғы жаңартылған мәліметтер беріп отырады.
Осылайша, Application Framework арқасында, Android ОЖ-дегі бағдарламалар өздеріне қосымша функционалдар қосады, кейін бағдарлама мен жүйе компоненттерінің көп ретті қолдану принципі орнайды. Әрине, қауіпсіздік саясаты негізінде орнайды.
# Ескере кету керек, Framework тек қана ол үшін жазылған кодты орындайды, кітапханалардан ерекшелігі, олар өздігінен орындалады. Тағы да бір ерекшелігі Framework өзінің құрамында үлкен көлемдегі әртүрлі функционалды, әртүрлі міндетті кітапханаларды қосқан, ал кітапханалар логикалық жакын функциялар жиынынан тұрады.
Android бағдарламалық стегінің шыңында бағдарламалар (Applications) деңгейі жатыр. Бұған Android ОЖ орнатылған базалық бағдарламалар жиыны жатады. Мысалы, оған жататын браузер, почталық клиент, SMS жіберуші бағдарлама, карта, күнтізбе, кантакттар менеджері және т.б. Басқа бағдарламалар тізімі құрылғының моделі мен Android нұсқасына карай өзгеріп отырады. Тағы да бағдарламалардың базалық жиынына Android платформасына жататын барлық бағдарламалар жатады, сонымен қатар қолданушымен орнатылған бағдарламалар да. Android-қа қосымшалар Java тілінде жазылады деп есептеледі, бірақ ескере кететін жай, қосымшаларды CC++ тілінде де құрастыруға болады (Native Development Kit көмегімен ), және Basic-те (Simple көмегімен) және басқа тілдерді қолдану көмегімен. Сондай-ақ өзіңнің жеке бағдарламаңды конструкторлар арқылы да құрастыруға болады, мысалы App Inventor, бір сөзбен, мүмкіндіктер көп.

II БӨЛІМ
Android қосышаларын құру
Android-құрастырушысы құрал-саймандары
Әрине кез-келген платформаның программалаау практикасына көшу құрастыру үшін қолда бар құрал-саймандар арсеналын қарастырудан басталады. Құрал-саймандар таңдалғаннан кейін ғана (қалауы мен таңдауына сүйене отырып), қолдану ережесіне сәйкес жұмысқа дайындалғаннан соң, үлкен бағдарламалау мен икемдерді шыңдау басталады.
Android құралдарын қарастырмай тұрып, бірнеше жалпы түсініктер енгізуіміз керек, себебі бұл этапта бірнеше рет соқтығысуымыз мүмкін. Бірінші базалық түсінік - бұл SDK немесе Software Development Kit (devkit). Бұл құрастырушының құралдар жиыны, программисттерге берілген архитектураға бағдарлама құруға мүмкіндік береді - анықталған бағдарламалар пакетіне, апараттық немесе бағдарламалық платформаға, операциялық немесе компьютерлік жүйеге. SDK құрастыруға , әдетте, өзіне бағдарламаны дұрыстау құралдары мен анықтамалық материалдарды (кодтар мысалы, белгілер мен т.б.) қосатын кең құралдарын жиынын ұсынады. SDK жиі белгіленген платформада ұсынылады және онда оның ерекшеліктері ескеріледі. Мұнлай инструментарий (Android-тағыдай) тегін тарала алады. Бұл платформаға басқа құрастырушылардың әртүрлі бағдарламаларымен иемденуіне мүмкіндік береді.
Тағы да бір түсінік, әңгіме құрастыру құралы болған кезде IDE (Integrated development environment) кездеседі - интегралданған құрастыру ортасы. Ол бағдарламалық құралдар жиынын ұсынады, бағдарламалау процессі үшін ыңғайлы әрі оңай орта құру арқылы программисттің өнімділігін арттыруға негізделген. Бұл күрделі бағдарламалық комплекс өзіне тексттік редакторды қоса алады (жиі синтаксисті дұрыстау мен көмектер), компилятор немесе интерпретатор (кейде бірнеше тілдер қолдайды), интегралдандырылған дұрыстаушы мен жинауды автоматизациялайтын құралдар да жатады. Жиі басқа бағдарламалармен интегралдануы мүмкіндігі қамтамасыз етіледі, мысалы, проектрлеуді басқару немесе нұсқаны тексеру құралдары. Сонымен қоса, жиі IDE болашақ бағдарламаны тез құрастыру құралдары мен графикалық интерфейсті визуалдық редактрлеу құралдары бар, тағы класстар иерархиясының диаграммасы түріндегі құрал, класстар браузері, обьекттер инспекторы немесе ресурстар менеждері бар. Осылайша, интегралданған құрастыру ортасы бағдарламалық қамтамасыз ету жылдамдығын арттыру үшін әртүрлі құралдарды бір бағдарламалық комплекске жинауға негізделген. Бірақ іс жүзінде бағдарламалу үшін қандай-да бір IDE қолдану қажетті емес, егер құралдарды байланыстырғысы келмесе.
Android платформасына қосымша құру құралдар группасымен байланысты, бұлар Android SDK деп аталады. Тағы да Java SE (JDK)-да бағдарламалау үшін инструментарий қажет және интегралданған орта. Соңғысының орнына Eclipse IDE қолдану қабылданған, бізде солай жасаймыз, бірақ ескерте кететін жағдай бағдарламаны құру жай тексттік редакторда да істеуге болады немесе басқа IDE-лерде, тағы да құралдарды шақыру үшін скрипттер немесе командалық жолды қолдана алады. Бірақ Eclipse-те құрастыру тиімді әдіс болып табылады, себебі, біріншіден, бұл орта құралдарды тікелей шақыра алады, екіншіден, оган арналган арнайы плагин бар, Android Development Toolkit (ADT), бұл Eclipse IDE көмегімен Android-та бағдарлама құруға бұрынғыдан ыңғайлы өтуді қамтамасыз етеді.
Қортындылай келе, Android SDK - JDK 5-ші нұсқасын талап етеді немесе жаңарағын, тағы Eclipse 3.3 нұсқасын немесе жаңарағын. Құрастырушы сайтында SDK, Java мен Eclipse нұсқалары Windows, Linux пен Mac OS операциялық жүйесі үшін бар, ал SDK әрқайсысы үшін эмулятор бар. Жалпылай айтқанда, Android бағдарламалары виртуалды машинада орындалады, және операциялық жүйелердің ішінде ешқандай ОЖ мұндай мүмкіндік бермейді. Біздің келесі мысалдарымыз Windows ОЖ қарастырылады.
Java Development Kit орнату
Java тілінде қосымша құру үшін арнайы бағдарламалық қамтамасыз ету қажет. Ең соңғы нұсқадағы бағдарламалық қамтамасыз етуді өндірушінің ресми сайтынан жүктеп алуға болады, Oracle Corporation.
Бұл бағдарламалық комплекске мынадай құралдар жатқызылады: JRE (Java Runtime Environment) мен JDK (Java Development Kit). Бірінші құрал жұмыс істеу ортасын ұсынады - Java-дағы бағдарламалық код іске қосылғанды және жұмыс істегенде виртуалды машина минималды түрде ұсынады. Екінші құрал - бұл өз кезегінде толық құралдар жиыны, Java тіліндегі құрастырушының толық жинағы. Шын мәнінде, JRE - JDK құрамына кіреді, дәр тура бір Java-ның әртүрлі стандартты класстар кітапханалары, javac компиляторы, документация, кодтар мысалдары мен әртүрлі қосымша утилиттер сияқты. Бұл барлық құралдар жиыны еркін таратылады және әртүрлі ОЖ-ге нұсқалары бар, сондықтан оны кез-келген адам жүктеп алып, қолдана алады.
JDK құрамына интегралданған жұмыс істеу ортасы кірмейді, қолданушының өзі бөлек орнатады ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Android ОЖ
Android операциялық жүйесінің архитектурасы
Құрылғы пішін факторлары
Android белсенділігінің өмірлік циклі
Android телефондарға арналған алғашқы интерфейс
IOS және Android мобильді операциялық жүйелерін салыстыру
Жаңалықтар мобильді қосымшасы
Android Studio ортасында Мобильді қосымшаларды әзірлеу
Linux ядросының алғашқы нұсқасы
Үлестірілген ақпараттық жүйелер
Пәндер