«Исследование и разработка мобильных образовательных приложений». Работа посвящена созданию мобильного образовательного приложения с целью поиска методов, способных повысить интерес учеников к предмету при использовании мобильных устройств


Диссертацияның құрылымы және көлемі



бет8/10
Дата06.01.2022
өлшемі4,32 Mb.
#13933
түріДиссертация
1   2   3   4   5   6   7   8   9   10
Диссертацияның құрылымы және көлемі. Берілген диссертациялық жұмыс кіріспеден, 3 тараудан тұратын негізгі бөлімнен, қорытындыдан және пайдаланылған әдебиеттер тізімінен тұрады. Диссертацияның көлемі 65 бетті құрайды.

1 Мобильді құрылғыларға қосымшалар құрудың негіздері


1.1 Мобильді құрылғылар платформалары мен құру жабдықтарына
анализ
Бұл ғылыми-зерттеу жұмысты орындау кезінде жасаушы құралдардың
жаңашыл тәсілі Android платформасы, Java обьектіге бағытталған
программалау тілі және мобильді құрылғылардың Android SDK құралы
қолданылды.

Бүгінде мобильді құрылғылар нарығында үш компанияның басымдылығын байқауға болады. Оларды қолданушылар арасындағы танымалдылығы бойынша бөлетін болсақ, бірінші орында Apple, iOS платформасы (iTunesAppStore), екінші Google, Android платформасы (AndroidMarket), үшінші Microsoft, Windows Phone платформасы (Windows marketplace). Олармен қатарSymbian, BlackBerry OS и HP webOS платформалары да бар.

Шет ел мамандары мобильді құрылғыларға арналған мобильді
қосымшалардың қарқынды дамып кетуін алдынан болжаған болатын. 2009
жылдың өзінде IDC маркетингтік–аналитикалық агенттігі 2013 жылға қарай
әлем бойынша 1,19 миллиардтан астам маман (жалпы жұмыс күшінің 34,9%–
ы) мобильді технологияларды қолданатынын айтқан болатын.
Қазақстанда мобильді технологиялардың дамуы жоғарыда айтылған әлемдік
даму қарқынынан төмен. Қазақстанда мобильді қосымшаларды жасау және
ендірумен айналысатын компаниялар көп емес. Көптеген мобильді қосымша
жасаушылар өздері жұмыс жасауда. Бұған себеп – сұраныстың болмауы.
Мобильді қосымшалар бағасының жоғары болу себебінен аз сұанысқа ие
болып отыр.

Қазірге Қазақстанда мобильді қосымшаларға тек бірнеше үлкен банктер, интернет алаңдар және БАҚ ие.

Қазнет мониторингі нәтижесінде танымал мобильді қосымшалар тізімі
жасалды. Мысалға, MobileCreators командасы iOS және Android үшін «People o'Clock», «DialerOne», «Кинозавр» және «GQ BarLab» қосымшаларын жасады. «Глатис» студиясы өзінің iDrive.kz сайтына Android платформасында «iDrive: ПДД и штрафы РК» қосымшасын жасап шағарды. Және де Homebank.kz iPhone қосымшасының және Альянс–Банктың iOS қосымшасының дизайын құрды.

Kaznetmedia командасымен iOS және Android үшін «NewsBox» және Apple компаниясының құрылғылары үшін «Bnews.kz», «7 канал (Казахстан)», «Фокус», «Вести» және «PM.kz» қосымшалары жасалды. Android қосымшаларынның арасынан қазақ тілінде жазылған шығармаларды табуға болады. Бірақ бұл қосымшалар бір немесе бірнеше автордың шығармалар жинағы болып табылады және басқа шығармаларды оқуға мүмкіндік бермейді.

Мобильді құрылғыларға қосымша түсінігі. Мобильді қосымша – мобильді телефон, коммуникатор, смартфон және т.б. мобильді құрылғыларға арналған бағдарламалық жабдық. Мобильді қосымшалар бастамада жалпы құрылғының тиімділігін арттыру және ақпарат беру мақсатында жасалған болатын. Мысалға: электронды хат жолдау, күнтізбе, контактілер, фондтық биржа және ауа райы қосымшалары. Дегенмен көпшілік сұраныс пен қосымша жасау құралдарының дамуы мобильді ойындар, GPS және оның негізіндегі сервистер, банкинг, ұсыныс
қабылдау, билет сату секілді қосымшалардың пайда болуына әкелді.
Android операциялық жүйелердің арасында жаңалық болып табылады. Бұл
операциялық жүйе мобильді құрылғылардың кең шеңберіне арналған.
Android операциялық жүйесi коммуникаторларға, планшеттi
компьютерлерге, смартфондарға және нэтбуктерге орнатылады.
Бұл жүйенi жасап шығарған – «Android Inc.» компаниясы.Бұл компанияны
кейін «Гугл» (Google) компаниясы сатып алған болатын. Қазiргi уақытта
Android негізіндегі жүйелерді даму және өндіруді «OpenHandsetAlliance»
компаниясы қолға алған. «OpenHandsetAlliance» Гугл ғана емес, сонымен
қатар Моторола, HTC, Интэл, Самсунг және көптеген басқа да техникалық
өндiрiс алыптарын біріктіреді.

Android операциялық жүйесi Linux операциялық жүйесi негiзінде жасалған. Бiрақ Linux–тің барлық ерекшеліктерін қамтымайды. Бұл «Дэлвик»


виртуалды машинасын пайдаланумен байланысты. Барлық программалық
жабдықтың жұмысы осы виртуалды машинада атқарылады.
Өндірушілер бір орында тұрмайды. Android жүйесi үнемi жетiлдiріліп және
техниканың жаңа түрлерiне ендiрілуде.

Android операциялық жүйесi 2008 жылдың қыркүйегінде пайда болды.


Бастапқыда ол Т–Мобайл Г1 (T–MobileG1) коммуникаторы үшiн жасалды.
Жарты жылдан кейiн жаңа, жетiлдiрiлген әрі өте ыңғайлы 1.0 нұсқасы пайда
болды.

2009 жылы операциялық жүйенің төрт жаңартуы таныстырылған болатын. Осылай, ақпанда әр түрлi қателердi түзетумен 1.1 нұсқасы шықты. Сәуiрде және қыркүйекте тағы екi жаңарту жарыққа шықты – 1.5 «Cupcake» және 1.6 «Donut». «Cupcake» жаңартуы маңызды өзгерiстердi алып келдi: виртуалды пернетақта, видео жазу және ойнату, браузер және т.б. «Donut» жаңартуында алғаш рет әр түрлi экранның тығыздығы мен кеңейтілімдерін және CDMA желiлерiн қолдау пайда болды. Сол жылдың қазанында Google–дың бiрнеше аккаунттарын қолдануға мүмкіндік беретін, HTML5 тiлін және басқа да жаңалықтарды қолдайтын браузерi бар Android 2.0 «Eclair» операциялық жүйесi жасап шығарылды. 2010 жылдың ортасында Google «Froyo» атауымен Android 2.2 нұсқасын, ал 2010 жылдыдың соңында – Android 2.3 «Gingerbread» нұсқасын таныстырды.

«Froyo» жаңартуынан кейiн смартфонды қолжетімділік нүктесі ретiнде
пайдаланып, смартфонда дәстүрлi цифрлық немесе әрiптiк – цифрлы
кілттерді қолдануға мүмкіндік пайда болды, ал «Gingerbread»
жаңартуы «көшiру және қою» функцияларына толық бақылау жүргізуге,
қоректi басқару және қосымшаларды бақылауды жақсартға, бір құрылғыда
бiрнеше камераларды пайдалануға және т.б. мүмкіндік берді.

2011 жылдың 22 ақпанында планшеттарға бағытталған Android 3.0


«Honeycomb» нұсқасы ресми таныстырылған болатын.
2011 жылдың 19 қазанында шыққан Android 4.0 «IceCreamSandwich» –
планшеттерде және смартфондарда қолдануға арналаған алғаш әмбебап
нұсқа.

2012 жыл операциялық жүйенiң «JellyBean» нұсқасына дейін жаңартуын әкелді. Ол маусым айында 4.1–шi нұсқа ретінде таныстырылды, ал қазанның соңында шағын жаңартудан кейiн өз нөмiр 4.2–ге ауыстырды.


2008 жылдың 22 қазанында GoogleAndroid операциялық жүйесі үшiн онлайн
қосымшалар дүкенi – AndroidMarket–тің ашылуы туралы жариялады.
Келiсiмге бойынша өңдірушiлер – 70 %, мобильді байланыс операторлары 30
% пайдаға ие болады. 2009 жылдың ақпанда АҚШ және Ұлыбритания
өңдірушiлері AndroidMarket–гі өз қосымшалары үшiн төлем алу мүмкiндiгiн
алды. SonyEricsson – AndroidMarket қосымшалар дүкенiнде өз онлайн
арнасын iске қосқан бірінші компания. Арнада компания қолдануға кеңес
беретін ойындар және қосымшалар таныстырылған. 2011 жылдың
желтоқсанына дейін AndroidMarket–тен 10 миллиард қосымша жүктеп
алынған болатын.

Google компаниясы 2012 жылдың наурызында «Кiтап», «Android Market», «Музыка» және т.б. мультимедиа сервистерiн Google Play бiртұтас сервисіне топтастыды. Google Play интернет дүкені 190 елде жұмыс iстейдi, 700 мыңнан астам қосымшаны қамтиды, ал сервистiң жұмыс уақытында 25


миллиард шамасында жүктеу жасалған.Windows Phone – 2010 жылдың 11
қазанында жарық көрген Microsoft компаниясымен құрастырылған мобильді
операциялық жүйе.21 қазаннан бастап жаңа платформаға құралған алғашқы
құрылғылар сатылуға түсе бастады. Windows Phone сәйкес болмаса да
Windows Mobile операциялық жүйесінің толығымен жаңартылған интерфейсі
бар және алғашқы рет Microsoft–тың Xbox Live және Zune медиаплеері
қызметі интеграцияланған ізбасары саналады. Жүйенің тұсаукесері
Барселонада өткен Mobile World Congress 2010 шарасына байланыстырылды.

1.2 Eclipse IDE платформасы туралы


Eclipse IDE. Eclipse IDE – Java бағдарламалау тілінде қосымшаларды өңдеуге арналған біріктірілген өңдеу ортасы және есептеу техникасы, платформасы фреймворкі. Өзге бағдарламалау тілдері JavaScript, PHP, Python (Eclipse IDE 7–нұсқасында қосылмаған), Groovy, C, C++, Scala , Clojure және өзгелері.

Eclipse IDE IDE 7.0 нұсқасында Ruby және Ruby on Rails бағдарламалау


тілдері алынып тасталды, дегенімен қосымша plug–in ретінде орнатуға
болады.

Eclipse IDE жобасының демеушiсі Oracle компаниясы болып табылады,


дегенмен Eclipse IDE ортасын жасауды бағдарламашылардың тәуелсiз
бiрлестiгі (Eclipse IDE Community) және Eclipse IDE Org компаниясы
жүргiзедi.

Сапа және мүмкiндiктері бойыша Eclipse IDE соңғы нұсқалары Java тілінде бағдарламалауға арналған IntelliJ IDEA секілді коммерциялық біріктірілген өңдеу орталарынан кем түспейді. Eclipse IDE рефакторинг, ортаның жұмыс мiнездемелерiн жинақтау, синтаксистiк құрылымдарды түспен ерекшелеу, енгізіліп жатқан құрылымдарды автоматты түрде толықтыру, алдын ала анықталған код үлгiлерi және т.б. мүмкіндіктерді қолдайды.

Eclipse IDE ортасында бағдарлама жазу үшiн, ортаны орнатуы үшiн және оның жұмысына алдын ала орнатылған Sun JDK немесе J2EE SDK–тың
қажетті нұсқасы болуы керек. Eclipse IDE ортасында J2SE және J2EE
платформаларына арнап бағдарламалау қамтамасыз етілген. Eclipse IDE 6.0
нұсқасынан бастап жүйеде қосымша құрамдас бөлiктердi орнатпай J2ME,
C++ мобильді платформаларына және PHP платформасына арнап
бағдарламалау мүмкіндігі бар.

Eclipse IDE Java тілінде жазылған, ол Windows, OS X, Linux, Solaris ОС және өзге JVM бар платформаларда істеледі.

Eclipse IDE мүмкiндiктері. Eclipse IDE 6.1 нұсқасы UML, SOA, мобильді телефондарға қосымшалар жасау үшiн арналғын J2ME құралдарын, Ruby бағдарламалау тілін (Ruby on Rails – ты қоса) қолдайды. 6.5 нұсқасында PHP тiлін қолдау қосылған. Және де тестілеуді қолдау үшiн Python модулі
қосылған.

Eclipse IDE бағдарламашыларға ортаның мүмкiндiктерін кеңейтуге мүмкіндік беретін плагиндерді қолдайды. Танымал плагиндердің бiрi – iReport (JasperReports кiтапханасына негiзделген) қуатты есептер дизайнерi.


Eclipse IDE Microsoft Windows, Linux, FreeBSD, Mac OS X, OpenSolaris және
Solaris (SPARC үшiн де, сол сияқты x86 – Intel және AMD үшiн де)
платформалары үшiн дайын дистрибутивтер түрiнде таратылады. Барлық
қалған платформал үшiн Eclipse IDE–ты түпнұсқалардан компиляция жасау
арқылы алу мүмкiндiгi бар.

Eclipse IDE 6.7 нұсқасында Project Kenai, Groovy тiлін және Grails веб–


фреймворкін қолдау қосылған. 6.8 нұсқасында Symfony PHP–фреймворкін
қолдау, ал 6.9 нұсқасында Zend Framework–ты қолдау мүмкіндігі бар.
Eclipse IDE 7 нұсқасында өндiрушi Ruby және Ruby on Rails тiлдерін
қолдаудан бас тарытты (Ruby and Rails құрамдас бөлiктерін дамытуды
бiрлестiк өз қолына алды). Қорыта келгенде, соңғы Eclipse IDE нұсқалары
«қораптан» Java (Java FX, Java ME, Java EE–ды қоса), C/C++, Groovy, PHP,
HTML, JavaScript, CSS–ты ғана қолдайды және де Eclipse IDE 7 нұсқасында
UML-моделдеу құралдары қарастырылмаған.

Eclipse IDE тарихы. Eclipse IDE ортасын жасау 1996 жылы Xelfi атауымен Прага Карлов университеттiң математика және физика факультінiң


басшылығымен студенттердің Java IDE жасау жобасы ретiнде басталды. 1997
жылы Станек Роман жоба негізінде компания құрып, 1999 жылы Eclipse IDE
IDE құқықтарын Sun Microsystems–ке беруге дейiн ортаның коммерциялық
нұсқаларын шығарумен айналысты. Sun келесi жылдың маусымында Eclipse
IDE IDE ортасының бастапқы кодтарын жариялады.

Соңғы нұсқалар. Алдыңғы 5.5.1 нұсқа негiзде жасалған Eclipse IDE 6.0


нұсқасы IDE модульдарын және Eclipse IDE платформасына негізделген
интернет қосымшаларды жасауды, интерфейстердiң жаңа дизайнерiн
(«Matisse жобасы» атауымен белгiлi), CVS нұсқаларды басқару жүйесін
қолдаудың жаңа нұсқасын, Weblogic 9 және JBoss 4 серверлерін қолдау және
жетілдірілген редакторын пайдалануға мүмкіндік береді. Eclipse IDE 6.0
Ubuntu 8.04 және Debian дистрибутивтерiнің құрамына қосылған.
2008 жылды қараша айында шығарылған Eclipse IDE 6.5 (Java Persistence,
EJB 3 және JAX–WS–ты қолдауды қоса алғанда) Java EE мүмкiндiктерін
кеңейтеді. Бұған қосымша ретiнде, Eclipse IDE Enterprise Pack SOA визуалды
құралдарын, XML схемамен жұмыс құралдарын, веб–сервиспен жұмыс
құралдыран (BPEL үшiн), UML тiлiнде моделдеу мүмкіндіктерін қосады.
Eclipse IDE IDE Bundle for C/C++ жиыны C/C++ тiлдеріндегi жобаларды
қолдайды. Eclipse IDE 7.2. нұсқасында қолданылатын тiлдер тiзiмінен Ruby алып тасталынды.

1.3 Java Eclipse IDE платформасында мобильді құрылғыларға


қосымшалар құру мүмкіндіктері
Java ME, Java Card мобильді және кірістірілген қосымшаларын жасауды қолдау. Eclipse IDE платформасында келесі технологияларға толық қолдау қарастырылған:

  • MIDP 1.0, 2.0 және 2.1профилі;

  • CLDC 1.0 және 1.1 конфигурациясы;

  • CDC конфигурациясы;

  • Java ME SDK 3.0.5 пакетімен бірге жеткізіледі;

  • Java-карталары;

  • Apache Ant 1.8 сценарийі;

  • мәліметтерді оқшаулауды және жалғастыруды қолдайтын GUI
    Visual Mobile Designer көзбен шолу жобалаушысы;

  • мобильді қосымшаларға арналған экран жобалаушысы;

  • API MIDP 2.0 Game интерфейсіне арналған Mobile Game Builder;

  • SVG (JSR 226) графикалық элементтерін қолдаушы пайдаланушы интерфейсінің SVG құрамдастары бар SVG Composer құралы, SVG сипат
    редакторы;

  • құрамдастар палитрасы, пайдаланушылардың құрамдастарын
    жасаушы;

  • JMUnit 1.1.0 тестілеу;

  • мидлет сертификаттары мен қолтаңбаларын басқару;

  • Over–the–Air (OTA) біріктірілген эмуляциясы;

  • Push–registry эмуляциясы;

  • SMS және CBS хабарламалары үшін WMA эмуляциясының функциялары;

  • хабарламаларды сымсыз жіберуге арналған API интерфейсттері
    және API мультимедиялық интерфейсттері;

  • ProGuard 4.2 көмегімен кодты шатастыру;

  • бірнеше жобалары бар ортаны күйге келтіру;

  • құрылғыда тестілеу және ретке келтіру;

  • Java ME (JSR 172) мобильді веб–қызметі;

  • ОС Mac арналған SDK MpowerPlayer платформасын қолдау (орнату).

Мобильді қосымшалардың көбісінде Java Micro Edition (Java ME)
платформасы қолданылады. Бұл платформа мобильді телефон сияқты шағын
құрылғыларға арналған, бірақ алуан түрлі құрылғыларда қолданылып келеді.
Java ME платформасында Java SE құрамдастарының, виртуалды
машиналардың және API интерфейстерінің қысқартылған ішкі көпмүшелері
қолданылады. Оған қоса платформада мақсатты түрде мобильді және
кіріктірме құрылғыларға арналған API интерфейстері анықталған. Eclipse
IDE Java ME–мен бірге Java ME платформасының екі базалық күйін және
екі қосымша мобильді мен кіріктірме платформаларын қолдайды:

  • CLDC (Connected Limited Device Configuration) нұсқасы CDC
    негізіндегі құрылғыларға қарағанда жадының көлемі кіші және есептеу қуаты
    аз құрылғыларға арналған. CLDC нұсқасында MIDP (Mobile Information
    Device Profile) бейіні негізделген; қазіргі таңда әлемде MIDP
    құрылғыларының саны екі миллиардтан астамға жетеді;

  • CDC (Connected Device Configuration) нұсқасы жадының көлемі
    үлкен, есептеу қуаты айтарлықтай көп және желі ішінде байланысты
    қолдайтын құрылғыларға арналған. Мұндай құрылғыларға смартфондарды,
    телевизиялық компьютерлі қосымшаларды, кіріктірме серверлер немесе
    құрылғыларды жатқызуға болады;

  • Java Card платформасы Eclipse IDE ортасын қолдайды және смарт–
    карталар мен басқа шағын құрылғыларға арналған қосымшаларды жасап
    шығаруға мүмкіндік береді;

  • Mobile Information Device Profile (MIDP) 1.0, 2.0, 2.1 (MSA),
    Connected Limited Device Configuration (CLDC) 1.0 және 1.1, оған қоса
    Connected Device Configuration (CDC) арналған қосымшаларды жасаңыз,
    тестілеңіз және ретке келтіріңіз;

  • IDE CLDC және CDC әзірленімдерді қолдайдын Java ME SDK
    жиынтығымен бірге әкелінеді. «Қызмет көрсету» мәзіріндегі басқа да
    мобильді және кіріктірмелі платформаларды тіркеугі болады.
    1.1 суретте Java ME жобасын құру көрсетілген.


Сурет 1.1 – Java ME жобасын құру


Java Card. Java Card Platform – смарт–карталарда қосылатын Java виртуалды машинасы. Платформа таныс API Java интерфейстарын, мысалы,
сервлеттерді қолдайды да, алып жүруге ыңғайлы ықшам құрылғыларда
орындалатын веб–қосымшаларды жасауға мүмкіндік береді.
IDE Java Card жобаларын, Java Card апплеттерінің ашылуы мен Java Card
құрылғылары 1.2 суретте консольдарының күшеюін қолдайды.

Сурет 1.2 – Java Card құрылғылары консолі
Visual Mobile Designer Visual Mobile Designer көмегімен қолданушылардың сызбалық интерфейстерін жылдам жасау. Күту экраны, жүйеге ену экраны, файлдарды шолушы, SMS–хабарламаларды құрастыру құралы және экран-сурет сияқты орын ауыстырылатын құрамдастар қолдау табады.

Талдау құралы идентификация және қолданбайтын құрамдастарды жою есебінен файлдың өлшемін азайтуға мүмкіндік береді, оған қоса MIDP 1.0 платформасының сәйкестігін тексеруге мүмкіндік береді. VMD


қолданушылардың сызбалы интерфейстерін шоғырлауды жеңілдетеді.
Анығырақ 1.3 суртте қолжетімді плагиндер көрсетілген.

Сурет 1.3 – Қолжетімді плагиндер


Android платформасы үшін мобильді қосымшаларды жасауды қолдау. Eclipse IDE IDE Android плагинін орнату үшін Eclipse IDE’те «Қосылатын
модульдер» терезесін («Қызмет көрсету» –> «Қосылатын модульдер») ашып,
«Күйге келтіру» қосымша бетіне өтеміз. «Қосу» тетігін басамыз. Жаңадан
шыққан «Жаңару орталығын күйге келтіру» терезесінде «nbandroid» атын
(плагин жобасы осылай аталады) және URL–мекен–жайын
«http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updates.x
ml» жазамыз. «ОК» тетігін басып, «Қол жетімді қосылатын модульдер»
қосымша бетіне өтеміз, керек болған жағдайда «Каталогты қайта қосу»
тетігін басамыз да, одан кейін іздеу жолында «Android» сөзін енгіземіз. Қол
жетімді модульдер аумағында төмендегілер шығуы керек:

 Android;

 Android Test Runner for Eclipse IDE 6.9.1;

 Android Test Runner for Eclipse IDE 6.9;

 Android Test Runner for Eclipse IDE 7.0+.

Төменде 1.4 суретте Android платформасыныңқолжетімді модульдері


көрсетілген.

Сурет 1.4 – Қолжетімді модульдер


Өзіңіздің Eclipse IDE нұсқасына сәйкес келетін «Android Test Runner»
модулімен бірге «Android» модулін белгілеп «Орнату» тетігін басу керек,
одан кейін Eclipse IDE’ті қайта қосу керек. Осы амалдарды орындағаннан кейін «Android Project» және «Android Test Project» екі жобасы қол жетімді болады.

1.4 Android платформасы туралы


Android жүйесі архитектурасының ерекшелiгi. Android қосымша жасаудың
алдында, жүйенiң архитектурасымен және оның негiзгi ерекшелiктерiмен
танысу қажет.

Android жүйесi – операциялық жүйеден, аралық қабаттың бағдарламалық қамтамасыз етуінен (middleware), сонымен бiрге негiзгi қолданбалы қосымшалардан құралған мобильді құрылғыларға арналған программалық стек.

Android архитектурасын төрт деңгейге бөлу қабылданған:

 ядро деңгейi;

 орындалу ортасының кiтапханасы деңгейі;

 қосымшалар каркасының деңгейі;

 қосымшалар деңгейi.

Android ядросы Linux операциялық жүйенiң 2.6–шы нұсқасына негізделген, бірақ Android жүйесі таза күйіндегі Linuх–жүйе емес, ол бірқатар


ерекшеліктер мен өз жады бөлу механизмдері, процестер арасындағы
қатынас және т.б. Android жүйесіне тән ядроның қосымша кеңейтілмелеріне
ие.

Ядро жабдық пен программалық стектің қалған бөлiгі аралысындағы


абстракция қабаты болып табылады. Бұл деңгейде процестердi басқару,
жадты үлестiру және файл жүйесiн басқару тәрізді қызметтер орналасады.
Ядро деңгейiнiң негiзгi құрамдас бөлiктерi:

 процессораралық өзара әрекеттесу драйвері (IPC Driver);

 қоректенуді басқару драйвері (Android Power Management);

мобильді құрылғыны құрамына кiретін жабдықты басқару


драйверлеi.

Ядро деңгейiнен «жоғары», аралық қабат бағдарламалық қамтамасыз етуі ретінде қосымшалар үшiн ең маңызды негiзгi функционалды қамтамасыз етуi үшiн кітапханалар жиынтығы (Libraries) орналасқан. Яғни осы деңгей


жоғары жатқан деңгейлерге жүзеге асырылған алгоритмдерді беру, файлдық
форматтарды қолдау, ақпаратты кодтау және кері кодтауды жүзеге асыру
(мысалы, мультимедиа кодектері), сурет салу және т.б. үшiн жауап бередi.
Кiтапхана C/C++ тілінде жазылған және нақты аппараттық қамтамасыз етуге
арналып компиляция жасаған, сондықтан алдын ала орнатылған күйде
жеткізіледі. Кейбiрiн қарастырып өтейік:

 Android жүйесiндегі терезелердiң композитті менеджерi Linux–тың Compiz менеджерiне ұқсас, бiрақ ықшамдалған. Бұл жүйеге терезелердiң мөлдiрлiгi және бiр қалыпты өту әсерлерін жасауға мүмкіндік бередi;

 PacketVideo OpenCORE негізінде жүзеге асырылған кiтапхана. Олардың көмегімен жүйе аудио және видео контентті жазу және ойнатуды, сонымен қатар статикалық бейнелердi көрсетуді жүзеге асыра алады; Көптеген кең таралған форматтарды қолдайды: MPEG4, H.264, MP3, AAC, AMR, JPG және PNG;

 Android жүйесiнде деректер қорымен жұмыс жасауға арналған жеңiл және өнімді реляциялық ДҚБЖ;

 бит карталарымен жұмыс жасауға, сонымен бiрге шрифттардың растеризациясы және олармен операцияларды жүзеге асыруға арналған кiтапхана. Шрифттарды және мәтiнді бейнелеу үшiн арналған
жоғары сапалы қозғағыш;

 Google Chrome және Apple Safari браузерлері пайдаланылатын белгiлi WebKit браузер қозғағышының кiтапханалары;

 аттас криптографиялық хаттаманы қолдау үшiн арналған кiтапхана. Libc

– C тiлінің стандартты кiтапханасы, атап айтқанда оның Linux негізіндегі құрылғыларда жұмыс жасауға бағыттылған BSD нұсқасы. Bionic


атауына ие. Бұл деңгейде Android Runtime орындалу ортасы орналасқан. Оны
маңызды құраушылары: ядро кітапханалар жиынтығы және Dalvik
виртуалды машинасы.

Әр Android қосымшасы өз Dalvik виртуалды машинасында iске қосылады. Осының арқасында барлық жұмыс үстіндегі процестер операциялық жүйеден және бiр–бiрiнен оқшауланған. Жалпы Android Runtime архитектурасы программаға виртуалдық машина ортасы шеңберiнде ғана жұмыс жасауға мүмкіндік береді. Осылай операциялық жүйе ядросын оның басқа бөліктерінен келуі мүмкiн зияннан қорғаныс жүзеге асырылады. Сондықтан қате код немесе зиянды программа Android–ты және оның базасындағы құрылғыларды бүлдiре алмайды. Мұндай қорғаныс Android Runtime–ның маңызды функциясы болып табылады.

Бұл деңгейден жоғары кейде қосымшалар каркасы деп аталатын Application Framework деңгейі орналасады. Қосымшалар каркасы деңгейі арқылы өңдірушiлер төмен деңгейлерде жататын жүйенiң құрамдас бөлiктерi беретiн API–ға рұқсат алады. Одан басқа, фреймворк архитектурасының арқасында кез–келген қосымша басқа қосымшалардың рұқсат етілген жүзеге асырылған мүмкiндiктерiне қол жеткiзе алады. Әр қосымшаның негiзі және фреймворк бөлігі болып табылатын сервистер мен жүйелердің негiзгi жиынына кiредi:

 қосымшаларының визуалды компоненттерін(мысалы, тізім, мәтiндiк алаң, кестелер, батырма немесе тiптi кiрiктiрме web–браузер) жасау үшін


қолданылатын көріністердің (Views) бай және кеңейтiлетiн тiзiмі;

 бiр қосымшалар басқа қосымшалар өз жұмысына пайдалану үшiн ашқан мәлiметтерді басқарушы контент – провайдерлер (Content Providers);

 функционалсыз ресурстарға (жол мәлiметтерге, кесте, файл және т.б.) қол жетімділікті қамтамасыз ететiн ресурс менеджер (Resource Manager);

 әрбір қосымшаға өз мәлiмдемелерін қалып–күй жолында бейнелеуге мүмкіндік беретін хабарламалар менеджері (Notification Manager);

 қосымшалардың өмірлік циклын басқаратын, әрекеттермен жұмысы туралы мәлiметтердi сақтайтын, сонымен бiрге әрекеттер арасында навигация жүйесiн қамтамасыз ететін әрекеттер менеджері (Activity Manager);

 қосымшаларға құрылғының ағымдағы географиялық орын туралы жаңартылған мәлiметтерді мерзiмдi алуға мүмкіндік беретiн орналасу менеджері (Location Manager).

Қорыта келгенде, Application Framework арқасында Android қосымшасы қосалқы функционалды қолдану мүмкіндігіне ие. Яғни қосымшалар және операциялық жүйе құрамдас бөлiктерiн бiрнеше рет пайдалану қағидасы жүзеге асырылған.

Android программалық стегінің жоғарғы қабатында қосымшалар деңгейi (Applications) орналасқан. мұнда Android ОЖ–не алдын ала орнатылған қосымшалардың негiзгi жиыны жатады. Мысалы, оған SMS жiберу қосымшасы, карталар, күнтiзбе, браузер, пошталық клиент және т.б.


бағдарламалар кiредi. Интегралданған қосымшалардың тiзiмi құрылғы түріне
және Android нұсқасына байланысты өзгеруі мүмкiн. Және бұл қосымшалар
деңгейiне негiзгi жиыннан басқа Android қосымшаларының бәрi жатады.

1.5 Android SDK құралы туралы


Мобильді құрылғыларға арналған Android операциялық жүйесінің алғашқы шығарылымынан біраз уақыттан кейін, артынша танымалдылығының айтарлықтай артуынан кейін жасаушыларға арналған құрал–жабдықтар шығарылды.

Android SDK – Android операциялық жүйесі үшін қосымшаларды жасау


ортасы. Бағдарлама мобильді құрылғы камерасын, акселерометр, компас,
GPS мәліметтерді, Bluetooth, Wi–Fi, EDGE және 3G бойынша рұқсатты
қолданатын Android–қосымшаларын жасау мен тестілеуге мүмкіндік береді.
Оған қоса мультимедиялық контентпен (MPEG4, H.264, MP3, AAC, AMR,
JPG, PNG және GIF форматтарындағы аудио, бейнелер, суреттер), SQLite
мәліметтер базасымен, WebKit қозғалтқышындағы біріктірілген браузермен,
Dalvik виртуалды машинасымен, GSM телефониямен және тағы
басқаларымен жұмыс жасауды қолдайды. Оған қоса Android SDK
қолданушылары қосымша орнатылған эмулятор көмегімен өздері жасап
шығарған қосымшаларды тестілей алады. Linux’ке негізделген Android SDK ортасы қосымшаларды іске қосу үшін виртуалды құрылғыны қолданады және 3G, WiFi, GPS, сенсорлы экран сияқты және заманауи мобильді телефондарда бар басқа да стандартты функцияларды қолдайды.

1.6 Java бағдарламалау тілі туралы


Java тілі. Java тілі бұл Internet желісінде жұмыс істейтін объектілі–
бағытталған, платформалы – тәуелсіз, желі ішінде жұмыс істейтін
тармақталған қосымшалардың өңдеуіне қолданылатын программалау тілі.
Java жобасы 1995 жылы Sun Microsystems бірлестігінде басталды. Java
бағдарламалау жүйесі кішкене интерактивті қолданбалы программалар –
апплеттерді таратуға интернетті қолдануға мүмкіндік береді. Олар Internet
серверлерінде орналасып, таратылады, клиентке желі арқылы
тасымалданады, автоматты түрде орнатылады және www құжатының бөлігі
ретінде орындалады. Апплетке клиент компьютері қорларына
қолжетімділігіне шек қойылған, сондықтан да ол жанама мультимедиялық
интерфейсті бере алады және дисқіде сақталған мәліметтерге ешқандай ақау
келтірместен күрделі есептеулерді жүргізе алады. Бағдарламалардың басқа
түрі ретінде Java қосымшаларын қарастыруға болады. Олар кез келген
компьютерде, тіпті оның архитектурасына қарамастан орындалатын,
тасымалдана алатын бағдарламалар болып табылады. Генерацияланатын
байт код виртуалды Java – машинадағы (JVM – Java Virtual Machine)
виртуалды код интерпретаторында орындалатын нұсқаулардың жиынтығы
болып табылады. Клиенттерге сервердегі қосымшаларға және деректер
базасына қолжетімділікке мүмкіндік беретін JSP ( Java Server Pages ) және
сервлеттер өте кең ауқымда таралуға мүмкіндік алды.
Java тілі С++ тілінің синтаксисын қолданады, бірақ объектілік үлгі Smalltalk
тілінен алынған. Осыдан Java тілінің С++ тілімен ұқсастықтары тек қана
сыртқы түрде екенін көруге болады. Java көрсеткіштерді (С++, Pascal және
тағы да басқа тілдердің ең қауіпті құралы) қолдамайды, себебі, жадтың
жанама адрестерімен типі көрсетілмеген көрсеткіштер арқылы жұмыс істеу
мүмкіндігі жадтың қорғанышын елемеуге рұқсат береді. Java тілінде
айнымалы арифметикалық есептеудің тәсілдері өзгерген, сондықтан да
платформа түрлерінің арасында аралық код үйлесімділігін қамтамасыз ету
үшін strictfp кілттік сөзі енгізілді. Ол компиляторға айнымалы үтірі бар
сандар үшін арифметикалық әрекеттерді кез келген платформада бірдей
орындау керек екендігін көрсетеді. Тіл кластарының жүйелік кітапханасы кластар және пакеттерден тұрады, олар тілдің әртүрлі базалық мүмкіншіліктерін жүзеге асырады. Бұл кітапханаларға қосылған кластардың әдістері JVM–нан Java – бағдарламаның интерпретациясы кезінде шақырылады. Java–да бағдарламаның барлық объектілері динамикалық жадта орналасқан (heap) және стектерде сақталынатын объекті сілтемелер арқылы қолжетімді. Бұл шешім жадқа тікелей қолжетімсіздікке мүмкіндік берді, бірақ массив элементтерімен жұмыс істеуді қиындатып жіберді. Java тіліндегі объектілі сілтемелер өздері бағытталып тұрған объектілердің класы туралы хабардан тұрады. Сондықтан да объектілі сілтемелер дегеніміз, көрсеткіштер емес, олар объектілердің дескрипторлары. Дескрипторлардың болуы JVM–ге код интерпретациясы фазасында типтердің сәйкес келуін тексеруге мүмкіндік береді. Java–да жадты динамикалық бөлу концепциясы да қайта қарастырылған: динамикалық бөлінген жадты босату тәсілдері жоқ. Оның орнына new операторының көмегі арқылы көрсетілген жадты автоматты түрде босату жүйесі(қоқыс жинаушысы) іске асырылған. Java – бағдарламаларда класс спецификациясы мен оның жүзеге асырылуы әрқашан да тек қана бір файлда болады. Java–да көптік мұрагерлік жоқ, тек конструктор бар, бірақ деструкторлар жоқ (қоқысты автоматты түрде жинастыру қолданылады), тілдің резервтелген сөздері бола тұрса да, goto операторы және const сөзі қолданылмайды. Java тілінде пайда болған маңызды мүмкіндіктер – интерфейстер мен көп ағымдылық (бағдарлама бөлімдерінің бір уақытта орындалу мүмкіндігі). Лексикалық негіздер. Түсіндірменің программаның орындалуына ешқандай нәтижені әкелмесе де, оны қолдану бағдарламашыға жеңілдік туғызады. Бір жолды түсіндірме // түрінде ашылады. Резервтелген кілтті сөздер. Резервтелген кілтті сөздер ол арнаулы сөздер индентификаторлар, олар java тілінде кірістірілген типтерді, модификаторларды және программаны басқару құралдарды идентификациялау үшін керек.

Қазіргі кезде java тілінде 59 резевтелінген сөздер бар. Оларды тек қана мақсатына қарай қолдануға болады сіз резервтельген сөздер тізімін 1.1 кестеде көре аласыз. Ал айнымалылар, класстар немесе әдістер индентификатор ретінде қолдануға болмайды.


Кесте 1.1

Java тіліндегі резервтелінген сөздер




Резерв сөздер

abstract

boolean

break

byte

byvalue

case

cast

catch

char

class

const

continue

default

do

double

else

extends

false

final

finally

float

for

future

generic

goto

if

implements

import

inner

instanceof

int

interface

long

native

new

null

operator

outer

package

private

protected

public

rest

return

short

static

super

switch

syncronized

this

throw

throws

transient

true

try

var

void

volatile

while



Айталық byvalue, cast, const, future, generic, goto, inner, operator, outer, rest, var осы сөздер Java–да резервтелінген, бірақ олар қолданылмайды. Java–да


әдістердің резервтелінген аттары бар. Оларды 1.2 кестеде көре аласыз.

Кесте 1.2

Java-да әдістердің резервтелінген аттары


Резерв аттары

clone

equals

finalize

getClass

hashCode

notify

notifyAll

toString

wait



Идентификаторлар. Идентификаторлар класстардың, әдістердің және


айнымалыларды атауға үшін қолданылады. Идентификатордың қандайда бір
әріптер не сандардың, символдар($,_) реттері бола алады. Java тілі регистрге
өте тәуельді болады.

Литералдар. Java–да константалар литералды түрде беріледі. Бүтін сандар, жылжымалы нүкте сандары, логикалық нәтижелер, символдарды және жолдарды әр бір жерде орналастыруға болады.

Бүтін литералдар. Бүтін сандар ол бүтін литералдар. Осы тип
программаларда көбінесе қолданылады. Әр бір сан –1,2,3,4,15 ол бүтін
литерал. Ондық литералдан басқа компьютерде екілік, сегіздік, оналтылық
сандар қолданылады. Жылжымалы нүтелі литералдар. Жылжымалы нүктелі литералдар олар саның нақты түрін айтады. Логикалық литералдар. Логикалық литералда тек қана екі мәні болады – true (ақиқат) және false (жалған). True және false шығармалар ешқандай сандық нәтижеге ауыспайды. Java да true және false cөздері ешқанда 0 және 1 болмайды. Символдық литералдар. Java да символдар UNICODE кестесіндегі индекстер. Олар 16 битті мәнді береді, оларды бүтін санға ауыстыруға болады. 1.3 кестеде көрсетілген.
Кесте 1.3

Басқару символдар тізбегі




Басқару тізбегі

Сипаттама

\ddd

Сегіздік символ (ddd)

\uxxxx

Оналтылық символ символ UNICODE (xxxx)

\'

Апостроф

\"

Тырнақша

\\

Кері қиғаш сызықша

\r

Карретканың қайтаруы (carriage return)

\n

Жолды түсіру (line feed, new line)

\f

Бетті түсіру (form feed)

\t

Горизонтальді табуляция (tab)

Оператор – ол қандай да бір әрекетті екі немесе бір аргументтерге орындап нәтижені шығарады. Синтакстикалық тұрғыда операторлар идентификатор және литерал арасында орналасады. 1.4 кестеде операторлар түрлері көрсетілген.


Кесте 1.4

Java тілінің операторлары




Операторлар

+

+=



–=

*

*=

/

/=

|

|=

^

^=

&

&=

%

%=

>

>=

<

<=

!

!=

++

––

==

=

~

?:




instanceof

[ ]



Бөлгіштер. Тек қана бірнеше символдардың тобы Java–программада


қолданылады және олар аталған жоқ. Олар программаның сыртқы бетіне,
функционалдығына қарапайым бөлгіштер жауап береді. 1.5 кестеде
бөлгіштерді көре аласыз.
Кесте 1.5

Java тіліндегі бөлгіштер




Символдар

Аты

Не үшін қажет

( )

Дөңгелек
жақша

Жариялауда және әдісте параметрлердің тізімін белгілейді. Сонымен бірге тапсырманың операция шығарылуын приоритетін есепте белгілейді.

{ }

Фигурлық
жақша

Массивтің инициализациялау кезінде оның мәнің бергенде және класста әдісте блокты шектеу.

[ ]

Квадратты
жақша

Массивті жасау кезінде және оның жеке
элементтерін пайдалану кезінде қолданылады.

,

Үтір

Айнымалыларды жариялау кезінде
идентификаторларды бөледі, for циклда
операторларды бөлу кезінде қолданылады.

Айнымалылар. Айнымалы бұл java программада ақпаратты сақтау негізгі элемент болып саналады. Айнымалы индентификатордың комбинациямен, типімен және орындалу аймағымен сипатталады.


Айнымалыларжы сипаттау. Айнымалыларды сипаттау формасы осындай:

 идентификатор типі[=мәні] [, идентификатор [ = мәні 7...];

 тип – бұл кірістірілген типтердің бірі byte, short, int, long, char, float,
double, boolean, немесе класс интерфейс аты.
Айнымалылар жазу үлгілері 1.6 кестеде көрсетілген.
Кесте 1.6

Айнымалыларды сипаттау




Мәні

Айнымалылар

Int a, b, с;

а, b, с үш бүтін айнымалыны сипаттаймыз.

Int d = 3, e, f
= 5;

Тағыда үш айнымалыны сипаттаймыз d және f мәнің
инициализациялаймыз..

byte z = 22;

Z инициализияциялау.

Келтірілген мысалда үш айнымалы жасалынады. Тік бұрышты үшбұрышқа сай, содан кейн Пифагор теоремасы бойынша гипотенузаның ұзындығы табылады ол 5 ке тең:

class Variables {

public static void main (String args []) {

double a = 3;

double b = 4;

double c;

с = Math.sqrt (a · a + b · b);

System.out.println ("c = "+ c);

} }


Қарапайым типтер. Қарапайым типтер java тілінде объектілі–бағытталған болып анықталмайды. Олар алғашқы тілдердегі типтеріне ұқсайды. Java–да сегіз қарапайым типтер бар:– byte, short, int, long, char, float, double және boolean. Оларды төрт бөлікке бөлуге болады:

 оларға byte, short, int и long типтер жатады. Осы типтер бүтін белгі


сандар үшін қолданылады;

 жылжымалы нүктемен типтер – float и double. Олар бөлшегі бар сан үшін қолданылады;

 char символдық тип. Символдар таблицадан элементтер үшін қолданылады, мысалы әріптер мен сандар;

 логикалық boolean типі. Бұл арныйы тип, логикалық өлшемдер үшін.


Java тілінде кейбір тілдерден айырмашылығы автоматты типтердің
бейімделенуі жоқ болады. Типтердің сәкес келмеуі программада ескертуге
емес қатені туғызыды. Әр бір тип үшін мәндердің мүмкін жиыны және
операциялардың рұқсат түрлері болады.

Бүтін сандар byte – бұл 8–битті тип. Оның диапазоны – 128 ден 127 – дейін byte b. Егер биттермен манипуляция емес, онда осы типті қолдануға шектеу керек, оның орнына int типін қолдану артық болады. Short – 16–битті тип. Оның диапазоны – 32768 ден 32767 – дейін. Java–да ең аз қолданыстағы тип оның басты байты бірінші тұрады. Int типі 32–битті бүтін сандарды ұсыну үшін қолданылады. Оның диапозоны 2147483648–дан 2147483647 дейін. Көбінесе ол жай бүтін екі миллиардқа дейін типтер үшін қолданылады. Бұл тип массивтер мен счетчитер үшін қолдану аясында жақсы келеді. Long типі 64–битті сандар ұсыну үшін қолданылады. Оның диапозоны кеңістіктегі барлық атомдарды санап шығуға болады.

1.7 кестеде бүтін типтердің дәрежелілгі және олардың диапозоны
берілді.
Кесте 1.7

Бүтін типтердің диапазоны




Аты

Дәрежелілігі

Диапозоны

long

64

–9, 223, 372, 036, 854, 775, 808.. 9, 223, 372, 036, 854, 775, 807

Int

32

–2, 147, 483, 648.. 2, 147, 483, 647

Short

16

–32, 768.. 32, 767

byte

8

–128.. 127

Жылжымалы нүктесі бар сандар. Жылжымалы нүктелі сандарды жиі нақты сандар айтады. Оны бөлшек бар амалдарды шешу үшін қолданылады. Java– да келесі нақты типтер – float және double. Оларды 1.8 кестеде көре аласыз.


Кесте 1.8

Нақты тип




Аты

Дәрежелік

Диапазоны

double

64

1. 7е–308.. 1. 7е+ 308

float

32

3. 4е–038.. 3. 4е+ 038

Егер сізге қарапайым немесе біртекті дәлдікпен айнымалы керек болса онда float типті қолдану керек. Ол 32 битті орын алады.


Double. Екілік дәлдік қажет етілсе біз double кілтті сөзді қолданамыз. Ол 64–
битті болады. Трансценденттік sin, cos, sqrt, математикалық функциялар
double типінде нәтижені қайтарады.

Типті келтіру (type casting) – бұл С++ нашар қасиеттің бірі, сонымен қатар типті келтіру Java тілінде сақталған. Кейде бізде бір кез келген типіміз бар, бірақта оны бір басқа типке келтіру керек болады. Кейбір типтерге типті


келтіру онсызда іске асыруға болады. Java–да типтердің келтіру автоматты
түрде орындалады егер типтердің өлшемі сәйкес келсе. Осындай кельтіру
болады егер byte немесе short типті int типке келтірілсе. Оны
кеңейтілу(widening) дейді немесе жоғарыту(promotion), кіші типтегі
айнымалы үлкен типтегі айнымалыға ауысады. Егер айнымалыны улкен
типтен кіші типке ауыстырсақ онда кішіреу (narrowing) деп атаймыз:
int a = 100;

byte b = (byte) a;

Типтердің автоматты келтіруі. Қашан сіз мәнің нәтижесін шығарғанда
аралық мәндердің дәлдігі ақырғы мәннен жоғары болу керек жағдайлар да
туады:
byte a = 40;

byte b = 50;

byte с = 100;

int d = a  b / с;


Аралық шығарманың мәні (а * b) byte диапозонынан шығу да мүмкін.
Сондықтан Java әр бір өрнектін бөлігінде мәнді int типіне келтіреді.
Типтердің автоматты түрде келтіруі кейде күтпеген жайтағы қателердің
шығу хабарламалар шығуы да мүмкін. Мысалы бізбен келтірілген код
бірінші көз қарасқа дұрыс, бірақ трансляция фазасында қатені туғызады. Біз
50*2 мәнді byte айнымалысына жазамыз, ол сол айнымалыға сияды. Бірақ int
типіне автоматикалық келтіруден біз тронаслятордан қате тұғызған жағдайды
естиміз. Өйткені int типінен byte типіне келтірген жағдайда дәлдік жоғалу
мүмкін:

byte b = 50;

b = b·2
Incompatible type for =. Explicit cast needed to convert int to byte (үйлесімді
емес тип =. Int типті byte типіне тура келтіру қажет).
Түзетілген мәтін:
byte b = 50;

b =(byte) · ( b·2)


Егер өрнекке byte, short және int типі жазылса, онда типтің шектен аспау үшін ол барлығы int–ке деін ұлғаяды. Егер өрнекте Long типті айнымалы болса онда нәтиже long типіне ауысады. Java JDK платформасында бағдарламаларды құру. Java тілінде түпкі файл ол бір текстік файл бір немесе бірнеше класс сипаталып жазылады. Java трансляторы программаның түпкі коды java кеңейтілуіндегі файлдарда сақталғаның жариялайды. Транстляциялау кезіндегі код әр бір классқа жеке шығу файлға жазылады, класстың атымен сәйкес келеді және class кеңейтілуінде болады. Алдымен біз мысалға “Hello World” программаны жазайық. Содан кейін барлық негізгі лексикалық элементтерді қарастырайық. Оларға пробел, сілтеме, кілтті сөздер, идентификаторлар литералдар, операторлар жатады. Сонымен java да бірінші бағдарламамыз:
class HelloWorld {

public static void main (String args []) {

System. out. println ("Hello World"); } }

Java тілі барлық программалық код аталған класстардың ішінде болғаның қажет етеді. Келтірілген мысал HelloWorld.java файлында жазылғаның қажет етеді. Кодты трансляциялау үшін Java – javac траснляторы қажет: Транслятор HelloWorld.class процессордан әмбебаб байт кодты файлын құрады. Файлды іске асыру үшін бізге java іске қостыру ортасын қостыру керек.

Осы жолда class резервтелген сөз қолданылған. Ол трансляторға жаңа
классты сипаттайтымыз деп айтады. Класстың толығымен сипаттауымыз
фигурлық жақшалар ішінде сипатталады. Осындай бірінші көзқарасқа қиын жол java да құрастыру кезінде өте керек міндет болады. Өйткені java да глобальді функциялар жоқ болады. Осы жол көп кездесетіндіктен біз оны қарастырайық.

Public. Бұл – бағдарламашыға кез келген әдiстiң көрiнетiндiгiмен басқаруға мүмкiндiк берген және кез келген айнымалы рұқсаттың түрлендiргiшi. Осы мысалда public рұқсат модификаторы main әдісі әр бір классқа көрінеді және ашық болады.

Static. Келесі кілтті сөз ол – static. Осы класстың әдістері локальді не
статикалық айнымалылармен ғана істей алады.

Void. Сізде әдістерді қолдану барысында нәтижені қандай да бір типте


шығаруын қажет етеді. Мысалы int бүтін, float нақты. Біздің мысалда экранға
жай ғана жолды шығару керек.

Main. main классыз java трансляторы программаны іске қоса алады, ал java интерпреторы онсыз программаны қоспайды. Осы жолда println әдісі out объектісінде орындалады.

1.7 Git файл нұсқаларын басқарудың таратылған жүйесі туралы
Нұсқаларды бақылау жүйелерi туралы. Нұсқаларды басқару жүйесі (ағылш. Version Control System, VCS немесе Revision Control System) – өзгермелі ақпаратпен жұмыс істеуді жеңілдетуге арналған бағдарлама. Ол бiр немесе бiрнеше файлдардағы өзгісті одан әрi бұл файлдардың нақтылы ескi
нұсқаларына қайтып келуге болатындай етiп есепке алатын жүйе.
VCS жеке файлдарды бұрынғы түрге қайтаруға, барлық жобаны бұрынғы
жағдайға қайтаруға, уақытпен болып жататын өзгерудi қарауға, кiм соңғы
өзгеріс жасағанын анықтауға мүмкіндік бередi. Егер VCS пайдаланған
жағдайда файлды бүлдiрiп немесе жоғалтып алған жағдайда, бәрiн қалпына
келтiруге болады.

Нұсқаларды бақылаудың жергiлiктi жүйелерi. Әдетте нұсқаларды бақылау файлдарды басқа директорияға көшіру арқылы ғана жүргізіледі (әдетте, директория атауына ағымдағы күндi қоса). Мұндай тәсілдеме кең таралған, бiрақ ол өз қарапайымдылығынан қателіктерді жиi болдырады. Төменде 1.5 суретте жергiлiктi VCS сұлбасы берілген.



Нұсқаларды бақылаудың орталықтандырылған жүйелерi. Келесi негiзгi
мәселе басқа компьютерлердегі бағдарламашылармен бірігіп жұмыс жасау
қажеттiлiгі болды. Оны шешу үшiн нұсқаларды бақылаудың
орталықтандырылған жүйелерi жасалды.

Сурет 1.5 – Жергiлiктi VCS сұлбасы
Мысалы, CVS, Subversion және Perforce сияқты бақылау жүйелерінде барлық файлдарды сақтайтын орталық сервер және одан файлдардың көшiрмелерін алып отыратын клиенттер бар. Көптеген жылдар бойы бұл нұсқаларды бақылау жүйелерi үшiн стандарт болды. 1.6 суретте GitHab желісінің орталықтандырылған VSC сұлбасы көрсетілген.

Сурет 1.6 – Орталықтандырылған VCS сұлбасы
Мұндай тәсілдеме көптеген артықшылықтарға ие, әсiресе жергiлiктi VCS- ге қарағанда. Мысалға, жобада кім қандай өзгеріс жасағаны белгілі.
Администраторларда қолданушылардың рұқсат деңгейін шектеу мүмкіндігі
бар және орталықтандырылған VCS ді басқару әр клиенттегі жергiлiктi VCS
ді басқаруға қарағанда әлдеқайда оңай.

Дегенмен мұндай тәсілдемеде бірнеше кемшілік бар. Орталықтандырылған сервер барлық жүйенің осал жер болып табылады. Егер сервер бір сағатқа өшiрiлсе, онда бағдарламашылар осы сағаттың ішінде өзара әрекет ете алмайды, және ешкiм өз жұмысын сақтай алмайды. Егер орталық сервер дискi бүлінсе және резерв көшiрме жоқ болса, пайдаланушылардың жұмыс нұсқаларынан басқа жобаның барлық тарихы жоғалады. Нұсқаларды бақылаудың жергiлiктi жүйелерi де осы кемшілікке ие: егер жобаның барлық тарихы бiр жерде сақталса, сiз барлық мәліметті жоғалтуға тәуекел етесiз.

Нұсқаларды бақылаудың таратылған жүйелерi. Бұл мәселені нұсқаларды бақылаудың таратылған жүйелерiн шешеді. Git Mercurial, Bazaar немесе Darcs сияқты жүйелерде клиенттер файлдардың соңғы нұсқаларын ғана емес, барлық репозиторийларды толық көшiрiп алады.

Сондықтан жұмыс сервері пайдасыз болған жағдайда, кез келген клиент репозиторийы деректерді қалпына келтiру үшiн серверге керiле алады.



Клиент файлдардың жаңа нұсқаларын алған кезде әрбiр рет ол барлық
деректердiң толық көшiрмесiн құрады. 1.7 суретте кескіні көрсетілген.

Сурет 1.7 – Таратылған VCS сұлбасы
Git тарихы. Linux ядросы – үлкен ашық жоба. Linux ядросының (1991–2002) өзгерістерінің көптеген бөлігі патчтар және архивтелген файлдар түрiнде тарады. Жоба 2002 жылы BitKeeper нұсқаларды бақылаудың таратылған
жүйесіне көштi. 2005 жылы Linux ядросы қоғамдастығы мен BitKeeper жүйесін жасаушы компания арасында қатынас бұзылды және өнiмді тегiн пайдалануын құқығы жойылды. Бұл Linux қоғамдастығын (және оны ойлап тапқан Линус Торвальдсты) өз нұсқаларды бақылау жүйесін жасауға итермеледi. Жаңа жүйеге қойылған негiзгi талаптар келесi:

 жылдамдық;

 дизайн қарапайымдылығы;

 сызықты емес жобаны қолдау (мың қатарлас бұтақтар);

 толық таратылған жүйе;

 Linux ядросы сияқты үлкен жобалармен тиiмдi жұмыс жасау мүмкiндiгі (жылдамдық және деректердiң көлемі бойынша). Git 2005 жылы жасалғаннан бері өзінің бастапқы қасиеттерін сақтай отырып, пайдалануда ыңғайлы әрі оңай бола түсті.





    1. GitHub жобалар хостингы веб сервисі туралы

GitHub – жобалардың хостингы мен оларды бірігіп жасаудың ең үлкен веб-сервисі. Git нұсқаларының бақылау жүйесіне негізделген және бұрындары Logical Awesome компаниясы болып танылған GitHub, Inc компаниясымен Ruby on Rails пен Erlang‘те жасалынған. Жасаушылары – Крис Ванстрас, PJ Хиетт және Том Престон–Вернер. Шығыс коды ашық жобаларға сервис тегін және оларға (SSL’ды қоса алғанда) барлық мүмкіндіктерді береді, ал жеке жобаларға әртүрлі таривті жоспарларды ұсынады. Сервистің ұраны – «Social Coding» – қазақ тіліне «Кодты бірге жазайық» деп аударуға болады. Ал жейделерде мүлдем басқа сөз орамын жазады: «Fork you» («Тармақтан!»). Мүмкіндіктері. Сервисті жасаушылар GitHub–ты «жасаушыларға арналған әлеуметтік желі» деп атайды. Кодты орналастырумен қатар қатысушылар өзара байланысып, бір–бірінің жасаған түзетулеріне түсінік жазып, таныстарының жаңалықтарын бақылай алады. Git’тің кең ауқымды мүмкіндіктерінің арқасында бағдарлама жасаушылар өз репозиторийларын біріктіре алады. Ол үшін GitHub ыңғайлы интерфейстті ұсынады және әрбір қатысушының үлесін шежіре түрінде кескіндей алады.


Жобалар үшін жеке парақтар, шағын Викилер және қателерді бақылайтын
жүйе бар. Сервистің өзінде біршама тілдердің синтаксисі жарық болатын
жобалардың файлдарын көруге болады. Ақылы тарифтік жоспарларды
қолданған кезде қолданушылардың шектелген ортасына ғана қол жетімді
болатын репозиторийлерді жасауға болады.

Сервисте 2012 жылдың 5 желтоқсанынан бастап оның веб–интерфейсі


арқылы өз репозиториіне жаңа файлдарды тікелей қосу мүмкіндігі қосылған.
Жобалардың кодын Git арқылы көшіріп қана қоймай, сайттан кәдімгі
мұрағатты жүктеуге болады.

Git'тен басқа сервис кодты SVN және Mercurial арқылы алуды және


өзгертулер енгізуді қолдайды. Бұрында Ruby–жобалар сервистің RubyGems–репозиториінде автоматты түрде жарияланатын, бірақ 2009 жылдың қазан айынан бастап GitHub бұл сервистен бас тартты. Оған қоса сайтта код фрагменттерін тез жариялауға арналған pastebin-сервисі (gist.github.com) бар.

Танымалдылығы. Бірінші жеке репозиторий 2008 жылдың 12 қаңтарында жасалынып шығарылды. 2011 жылдың аяғына қарай жобада 1 миллионнан астам қатысушы және 2 миллионнан астам репозиторийлер тіркелген.

2008 жылдың аяғында GitHub «Үздік стартап–дебют» марапатына ие болды. GitHub сервисі Ruby–жасаушылар арасында өте танымал және жиі
қолданылып келеді. Көптеген ауқымды және маңызды жобалар өздерінің
ресми репозиторийлерін осы сервиста орналастырады. Facebook, Twitter, HP webOS, Yahoo, Per, Erlang, Scala, Ruby on Rails, CyanogenMod, PHP, JUnit, jQuery, Prototype, MooTools, Microsoft IronRuby, osCommerce,Valve.

2 Android платформасы үшін мобильді қосымшаны жобалау және құру

2.1 Бағдарламалау кезеңі

Бағдарламалау кезеңін бастау үшін дербес компьютерге бағдарламалық қамсыздандырудың келесі жиынтығын орнату қажет болды:

 Java SE 6 JDK. Oracle компаниясымен таратылған Java тіліндегі қосымшаларды әзірлеу жинағы. Бұл жинақтың құрамында бар: JRE жүйесін орындайтын компилятор (javac), класстардың стандартты кітапханасы, түрлі утилиттер мен құжаттамалар.

 Eclipse интеграцияланған әзірлеу ортасы. JDK құрамына әзірлеудің интеграцияланған ортасы жоқ болғандықтан, бағдарламалау ыңғайлылығы үшін үшінші тарапты шешімдерді пайдалану қажет. Eclipse Java тілінде жазылған ашық бастапқы коды бар бағдарламалық платформа болып табылады. Оны құрудың негізгі мақсаты – бағдарламалық қамтамасыз етуді әзірлеу процесінің өнімділігін жоғарылату.

 Eclipse үшін ADT плагині. Eclipse интеграцияланған ортасындағы Android үшін қосымшаларды әзірлеу үшін Eclipse үшін ADT атты плагинді орнату керек. Бұл плагин қосымшаларды әзірлеу үшін өте қуатты интеграциялық орта болып табылады, ол Eclipse-тің мүмкіндіктерін айтарлықтай кеңейтеді, бұл жобалармен жұмысты жеңілдетуге мүмкіндік береді.

 Android SDK. Құрамында бар: Android кітапханасының API, Android мобильдік құрылғысының интерактивті эмуляторы, әзірлеу үшін аспаптық құрылғылар, кодтар мысалдары, сонымен бірге құжаттама.

Барлық қажетті бағдарламалар пакетін орнатқаннан кейін Android операциялық жүйесіне виртуалды құрылғы құру керек. Бұны Android SDK құрамында бар Android эмуляторының көмегімен жүзеге асыруға болады. Бұл эмулятор Android қосымшаларын шынайы құрылғыда емес, эмуляцияланған ортада орындауға мүмкіндік береді. Пиксельдегі экран өлшемін, пиксельді тығыздықты, физикалық экран өлшемін, жады картасының көлемін және басқа да параметрлерді көрсету қажет. Құрылғы толығымен шынайы құрылғының сипаттамасына ұқсайды, біздің жағдайда біз LG Nexus 5 смартфонының сипаттамасын қолданамыз.

Барлық дайындық қадамдары орындалғаннан кейін бағдарламалық кодты жүзеге асыру кезеңіне өтуге болады. Бағдарламалау кезеңінде техникалық тапсырманы дайындау кезеңінде қойылған барлық талаптары орындалды. Бағдарламалық өнімді әзірлеу тиімділігін арттыру үшін берілген қосымшаның құрылымын жеке модульдер түрінде жасау шешілді.

2.2 Бағдарламалық қамсыздандыру құрылымын әзірлеу және деректер қорын ұйымдастыру және жүргізу

Бағдарламалық өнімді құру үшін «SQLite» деректер қоры қолданылады. «SQLite» типіндегі деректер қоры таңдалған себеп, Android платформасы sqlite деректер қорын басқару үшін кірістірілген құралдар жинағының бар болуында.

Деректер қорының және оның кестесінің құрылымы төменде келтірілген (2.1-2.5 кесте), кесте өрістерінің құрамы пайдаланушымен өзгеруі мүмкін болатындықтан, өзгертілетін объектілер «Кеңейтілген» түрде болады:

Кесте 2.1

Кесте (chapters)





Өріс атауы

Өріс сипаттамасы

Типі

Өлшемі

1

_id

Идентификатор

integer




2

chapter

Тарау атауы

text




Кесте 2.2

Кесте (themes)





Өріс атауы

Өріс сипаттамасы

Типі

Өлшемі

1

_id

Идентификатор

integer




2

id_chapter

Тарау атауы

integer




3

theme

Тақырып атауы

text




4

txt

Мәтін

text




Кесте 2.3

Кесте (test)



Өріс атауы

Өріс сипаттамасы

Типі

Өлшемі

1

_id

Идентификатор

integer




2

id_theme

Тақырып идентификаторы

integer




Кесте 2.4

Кесте (test_answers)





Өріс атауы

Өріс сипаттамасы

Типі

Өлшемі

1

id_test

Тест идентификаторы

integer




2

txt

Мәтін

integer




3

answer

Жауаптың мәні

integer




Кесте 2.5

Кесте (test_users)





Өріс атауы

Өріс сипаттамасы

Типі

Өлшемі

1

id_test

Тест идентификаторы

integer




2

answered

Тестке жауап кілттері

Логикалық

Иә/Жоқ

Бағдарламаның функционалды бөліктерінің (модульдер/ішкі жүйелер) әзірлемесі және сипаттамасы:

MainActivity-де орналасқан процедуралар:



  • onCreate (Bundle) – (Activity-ді құру әдісі)

  • onClick(View v) – (Басу өңдегіші)

CheckActivity-де орналасқан процедуралар:



  • selectItem (int position)

  • setTitle(CharSequence title) – (Тақырыпты орнатады)

  • onClick(View v) – (Басу өңдегіші)

  • onCreate (Bundle) – (Activity-ді құру әдісі)

LearnActivity-де орналасқан процедуралар:



  • selectItem (int position)

  • setTitle(CharSequence title) – (Тақырыпты орнатады)

  • onClick(View v) – (Басу өңдегіші)

  • saveText() – (Позицияны сақтайды)

  • loadText() – (Позицияны жүктейді)

  • onCreate (Bundle) – (Activity-ді құру әдісі)

DB-да орналасқан процедуралар:

  • open() – (қосылуды ашу)

  • close() – (қосылуды жабу)

  • getTheme(int id) – (тақырыпты алып шығу)

  • getTextChapter(int id) – (тақырыптарды алып шығу)

  • getTestChapter(int id) – (тесттерді алып шығу)

  • setAnswered(int id, int answer) – (тестке жауап)

HelpTestActivity-де орналасқан процедуралар:

  • onCreate (Bundle) – (Activity-ді құру әдісі)

2.3 Қажетті құралдарды дайындау

Eclipse IDE – Java бағдарламалау тілінде қосымшаларды өңдеуге арналған біріктірілген өңдеу ортасы және есептеу техникасы, платформасы фреймворкі. Өзге бағдарламалау тілдері JavaScript, PHP, Python (Eclipse IDE 7–нұсқасында қосылмаған), Groovy, C, C++, Scala , Clojure және өзгелері.

Eclipse IDE IDE 7.0 нұсқасында Ruby және Ruby on Rails бағдарламалау
тілдері алынып тасталды, дегенімен қосымша plug–in ретінде орнатуға
болады.

Eclipse IDE жобасының демеушiсі Oracle компаниясы болып табылады,


дегенмен Eclipse IDE ортасын жасауды бағдарламашылардың тәуелсiз
бiрлестiгі (Eclipse IDE Community) және Eclipse IDE Org компаниясы
жүргiзедi.

Сапа және мүмкiндiктері бойыша Eclipse IDE соңғы нұсқалары Java тілінде бағдарламалауға арналған IntelliJ IDEA секілді коммерциялық біріктірілген өңдеу орталарынан кем түспейді. Eclipse IDE рефакторинг, ортаның жұмыс мiнездемелерiн жинақтау, синтаксистiк құрылымдарды түспен ерекшелеу, енгізіліп жатқан құрылымдарды автоматты түрде толықтыру, алдын ала анықталған код үлгiлерi және т.б. мүмкіндіктерді қолдайды.

Eclipse IDE ортасында бағдарлама жазу үшiн, ортаны орнатуы үшiн және оның жұмысына алдын ала орнатылған Sun JDK немесе J2EE SDK–тың
қажетті нұсқасы болуы керек. Eclipse IDE ортасында J2SE және J2EE
платформаларына арнап бағдарламалау қамтамасыз етілген. Eclipse IDE 6.0
нұсқасынан бастап жүйеде қосымша құрамдас бөлiктердi орнатпай J2ME,
C++ мобильді платформаларына және PHP платформасына арнап
бағдарламалау мүмкіндігі бар.

Eclipse IDE Java тілінде жазылған, ол Windows, OS X, Linux, Solaris ОС және өзге JVM бар платформаларда істеледі.

Eclipse IDE мүмкiндiктері. Eclipse IDE 6.1 нұсқасы UML, SOA, мобильді телефондарға қосымшалар жасау үшiн арналғын J2ME құралдарын, Ruby бағдарламалау тілін (Ruby on Rails – ты қоса) қолдайды. 6.5 нұсқасында PHP тiлін қолдау қосылған. Және де тестілеуді қолдау үшiн Python модулі
қосылған.

Eclipse IDE бағдарламашыларға ортаның мүмкiндiктерін кеңейтуге мүмкіндік беретін плагиндерді қолдайды. Танымал плагиндердің бiрi – iReport (JasperReports кiтапханасына негiзделген) қуатты есептер дизайнерi.


Eclipse IDE Microsoft Windows, Linux, FreeBSD, Mac OS X, OpenSolaris және
Solaris (SPARC үшiн де, сол сияқты x86 – Intel және AMD үшiн де)
платформалары үшiн дайын дистрибутивтер түрiнде таратылады. Барлық
қалған платформал үшiн Eclipse IDE–ты түпнұсқалардан компиляция жасау
арқылы алу мүмкiндiгi бар.

Eclipse IDE 6.7 нұсқасында Project Kenai, Groovy тiлін және Grails веб–


фреймворкін қолдау қосылған. 6.8 нұсқасында Symfony PHP–фреймворкін
қолдау, ал 6.9 нұсқасында Zend Framework–ты қолдау мүмкіндігі бар.
Eclipse IDE 7 нұсқасында өндiрушi Ruby және Ruby on Rails тiлдерін
қолдаудан бас тарытты (Ruby and Rails құрамдас бөлiктерін дамытуды
бiрлестiк өз қолына алды). Қорыта келгенде, соңғы Eclipse IDE нұсқалары
«қораптан» Java (Java FX, Java ME, Java EE–ды қоса), C/C++, Groovy, PHP,
HTML, JavaScript, CSS–ты ғана қолдайды және де Eclipse IDE 7 нұсқасында
UML-моделдеу құралдары қарастырылмаған.

Eclipse IDE тарихы. Eclipse IDE ортасын жасау 1996 жылы Xelfi атауымен Прага Карлов университеттiң математика және физика факультінiң


басшылығымен студенттердің Java IDE жасау жобасы ретiнде басталды. 1997
жылы Станек Роман жоба негізінде компания құрып, 1999 жылы Eclipse IDE
IDE құқықтарын Sun Microsystems–ке беруге дейiн ортаның коммерциялық
нұсқаларын шығарумен айналысты. Sun келесi жылдың маусымында Eclipse
IDE IDE ортасының бастапқы кодтарын жариялады.

Соңғы нұсқалар. Алдыңғы 5.5.1 нұсқа негiзде жасалған Eclipse IDE 6.0


нұсқасы IDE модульдарын және Eclipse IDE платформасына негізделген
интернет қосымшаларды жасауды, интерфейстердiң жаңа дизайнерiн
(«Matisse жобасы» атауымен белгiлi), CVS нұсқаларды басқару жүйесін
қолдаудың жаңа нұсқасын, Weblogic 9 және JBoss 4 серверлерін қолдау және
жетілдірілген редакторын пайдалануға мүмкіндік береді. Eclipse IDE 6.0
Ubuntu 8.04 және Debian дистрибутивтерiнің құрамына қосылған.
2008 жылды қараша айында шығарылған Eclipse IDE 6.5 (Java Persistence,
EJB 3 және JAX–WS–ты қолдауды қоса алғанда) Java EE мүмкiндiктерін
кеңейтеді. Бұған қосымша ретiнде, Eclipse IDE Enterprise Pack SOA визуалды
құралдарын, XML схемамен жұмыс құралдарын, веб–сервиспен жұмыс
құралдыран (BPEL үшiн), UML тiлiнде моделдеу мүмкіндіктерін қосады.
Eclipse IDE IDE Bundle for C/C++ жиыны C/C++ тiлдеріндегi жобаларды
қолдайды. Eclipse IDE 7.2. нұсқасында қолданылатын тiлдер тiзiмінен Ruby алып тасталынды.

Java Development Kit (JDK) құралын орнату. JDK құралынның 7–ші нұсқасын [http://www.oracle.com/technetwork/java/javase] сайтынан жүктеп алып, орнату қажет.



Eclipse IDE бағдарламалау ортасын орнату. [http://Eclipse IDE.org] сайтынан Eclipse IDE соңғы 7.3 нұсқасын жүктеп алу қажет. Орнату үшін Windows операциялық жүйесіне арналған Eclipse IDE-7.3rc2-windows.exe файлын жүргіземіз (сурет 2.1).


Сурет 2.1 – Eclipse IDE бағдарламалау ортасын орнату терезесі



Келесі қадамда орнатылатын пакеттер тізімін көреміз (сурет 2.2).

Сурет 2.2 – Eclipse IDE орнатылатын пакеттер тізімі терезесі



Customize батырмасын басып, пакеттер тізімін өзгерту мүмкіндігі бар (сурет 2.3).

Сурет 2.3 – Eclipse IDE орнатылатын пакеттер тізімін өзгерту терезесі



Келесі қадамда қолданушы лицензиясын қабылдаймыз (сурет 2.4).

Сурет 2.4 – Eclipse IDE қолданушы лицензиясын қабылдау терезесі



Келесі қадамда JUnit құралының қолданушы лицензиясын қабылдаймыз (сурет 2.5).

Сурет 2.5 – JUnit қолданушы лицензиясын қабылдау терезесі



Келесі қадамда Eclipse IDE орнату директориясын және JDK директориясын көрсетеміз (сурет 2.6).

Сурет 2.6 – Eclipse IDE орнату директориясын және JDK директориясын


көрсету терезесі

Келесі қадамда GlassFish серверінің орнату директориясын көрсетеміз (сурет 2.7).



Сурет 2.7 – GlassFish серверінің орнату директориясын көрсету терезесі



Жаңартуларға тексеру қажет жағдайда Check for Updates нұсқасын белгілеп, Instаll батырмасын басамыз (сурет 2.8).

Сурет 2.8 – Check for Updates нұмқасын таңдау



Келесі қадамда Eclipse IDE ортасын орнату көрсетілген (сурет 2.9).

Сурет 2.9 – Eclipse IDE ортасын орнату барысы



Келесі суретте Eclipse IDE ортасының аяқатлуы (сурет 2.10).

Сурет 2.10 – Eclipse IDE ортасын орнатудың аяқталуы



Eclipse IDE платформасының ортасы (сурет 2.11).

Сурет 2.11 – Eclipse IDE ортасы



Android платформасына қосымша құруды бастамастан бұрын, плагинін
орнату қажет. Ол үшін бас мәзірдің Tools > Plugins > Settings терезесіне өтіп,
жаңа конфигурация құрамыз (сурет 2.12).

Сурет 2.12 – Бас мәзірдің Tools > Plugins > Settings терезесі



Android отрасында жаңа конфигурация құру (сурет 2.13).

Сурет 2.13 – Жаңа конфигурация құру



Одан кейін Tools > Plugins > Available Plugins терезесіне өтіп, Android
плагинін орнатамыз (Сурет 2.14).

Сурет 2.14 – Android плагинін орнату



Android плагинін орнату кезінде қолданушы лицензиясын қабылдау қажет (сурет 2.15).

Сурет 2.15 – Android плагинінің қолданушы лицензиясы

Android SDK құралын орнату. Android SDK құралын
http://developer.android.com/sdk/index.html сайтынан жүктеп алу қажет.
Орнату үшін Windows операциялық жүйесіне арналған installer_r21.1–
windows.exe файлын жүргіземіз.

2.4 Қосымшаның Java Eclipse IDE платформасында жүзеге асырылуы



Қосымшаны құрмас бұрын қосымшаларды тестілеуге арналған виртуалды Android–құрылғы құрамыз. Android Virtual Device (AVD) бұл Android операциялық жүйесі негізіндегі виртуалды смартфон. Android Virtual Device артықшылығы қосымшаны әртүрлі смартфондарға орнатып, тестілеу
мүмкіндігінде. Ол үшін бас мәзірдің Tools > AVD Manager терезесіне өтеміз (сурет 2.16).


Сурет 2.16 – AVD Manager терезесі



Жаңа құрылғы құру үшін New батырмасын басып, Name (құрылғы атауы), Target (құрылғы Android нұсқасы), CPU/ABI (процессор), SD Card Size (сыртқы жады өлшемі) параметрлерін толтырып, батырмасын басамыз
(Сурет 2.17).


Сурет 2.17 – Жаңа құрылғы құру



Eclipse IDE ортасында жаңа жоба құру үшін бас мәзірдің File > New Project терезесіне өтеміз. Android бөлімінде Android Project жоба нұсқасын
таңдаймыз (сурет 2.18).

Сурет 2.18 – Android жаңа жобасын құру

3 Мобильді қосымшаны құру
3.1 Талаптарды орындау кезеңдері
Қосымшаны әзірлеу үшін келесі талап түрлері қойылды:

- Қолданбалы:

- Қосымша оқу материалын ойын формасында ұсыну керек;

- Функционалдық:

- «Тестілеу» ойынының режімі - бұл режимде пайдаланушыға оқу материалынан қандай да бір тарауды таңдаған кезде бес кездейсоқ есеп көрсетіледі, олардың әрқайсысына оқу материалынан белгілі бір тақырып түрінде көмек алуға болады. Барлық есептерді шешудің нәтижесі болып дұрыс шешілген есептерге берілген жалпы ұпай саны табылады.

- «Оқыту» режимі - в этом режиме пользователю выводится весь учебный материал для самостоятельного изучения пайдаланушыға өзіндік оқу үшін барлық оқу материалы шығады.

- Көмек;

- Дизайнға қойылатын талаптар:

- Интуитивті түсінікті интерфейс;

- Тегіс анимация;

- Көркем дизайн;

- Жүйелік:

- 4.0.3 және одан жоғары нұсқадағы Android платформасындағы смартфон.

3.2 Жобалау кезеңі


3.2.1 Класстар диаграммасын, қолдану және тізбектілігін нұсқаларын құру
Қосымшаны жобалау үшін CASE - Rational Rose құралы қолданылды. Модель қолдану нұсқаларының арасындағы арақатынасты көрсетеді. 3.1 суретте қолдану нұсқаларының диаграммасы көрсетілген.




Сурет 3.1 – Қолдану нұсқаларының диаграммасы

Класстар диаграммасы 3.2 суретте көрсетілген

Сурет 3.2 – Класстар диаграммасы

3.3 суретте тізбектілік диаграммасы көрсетілген.



Сурет 3.3 – Тізбектілік диаграммасы

3.3 Бағдарламаның интерфейсті бөлігін әзірлеу кезеңі
Қойылған міндетті зерделеу барысында интерфейс әзірлемесіне көп көңіл бөліну керек екендігі анықталды. Нашар ойластырылған интерфейс бағдарламаны жүзеге асыру үшін қолданылған аппараттық-бағдарламалық құралдарға қарамастан бағдарламамен жұмыс істеу қаламауына әкеп соғуы мүмкін.

Интерфейс пайдаланушы мен компьютер арасындағы байланысты қамтамасыз етеді – ол қойылған мақсаттарға қол жеткізуге, қойылған міндеттерді шешуін сәтті түрде табуға мүмкіндік береді.

Қосымша интерфейсі интерфейстерді әзірлеу принциптеріне сәйкес жасалынған. Сондай-ақ электронды құралдар нарығында жақсы интерфейстер мысалдарын табу мақсатымен шағын зерттеу жүргізілді. Пайдаланушыға өте жағымды интерфейстер орташа қалыпты және интерфейстерді әзерлеудің негізгі принциптеріне сәйкес келмейтін интерфейстерге қарағанда үлкен сұранысқа ие деген заңдылық анықталды.

Пайдаланушы интерфейсін құру үшін пайдаланушылардың оңтайлы қабылдауы үшін интерфейс келесі қасиеттерге ие болуы қажет:



  • Интерфейстің келісімділігі;

  • Интерфейстің «достығы»;

  • «Кері байланыс» принципі;

  • Интерфейстің қарапайымдылығы;

  • Интерфейстің икемділігі;

  • Эстетикалық тартымдылығы.

3.3.1 Интерфейс макетін құру

Электронды құрылғыларда шешілетін нұсқалар диаграммасы және есептер анализі түріндегі функционалдық талаптар жинағын алып, сондай-ақ нарықта ұсыныстарды талдап және интерфейсті әзірлеудің барлық принциптерін салыстыра отырып, электронды құрылғы макетінің интерфейсі (Mockup) - интерфейс формаларының жиынтығы әзірленді, онда функционалдық талаптар жүзеге асырылуы керек.



Осылайша Екі негізгі режим белгіленеді: тест, оқу. Оқу режиміне келесі функциялардың жүзеге асырылуы артылады:

    • оңай оқылу;

    • материалдың көрнекілігі;

    • қажетті материалды ыңғайлы түрде іздеу;

    • таңдалған тақырыптар бойынша есептер.

Басты экрандағы режим батырмасының орналасуы 3.4 суретте көрсетілген.

Сурет 3.4 – Басты мәзірдегі орналасу

Оқу режиміндегі оқу материалы 3.5 және 3.6 суретте көрсетілген.



Сурет 3.5 – Ағымдағы тарау

Сурет 3.6 - «Тарауға өту» және «Есептерге өту» қайта оралу батырмалары



Шығарылған есептер бойынша нәтижелер «Нәтижелер» бөлігінде көрсетіледі (3.7 сурет).


Сурет 3.7 – Нәтиженің шығуы


Тест режиміне келесі функциялардың жүзеге асырылуы артылған:

– оқулық пайдаланушысының білімін тестілеу;

– тест тапсырмаларының арасына ыңғайлы навигацияны қамтамасыз ету;

– тест сұрақтарының қол жетімділігі мен дұрыстығы;

– көмек;

– нәтижелерді шығару.



Басты экрандағы режим батырмаларының орналасуы 3.8 суретте көрсетілген.

Сурет 3.8 – Басты мәзірдегі орналасу


Тест режиміндегі оқу материалы 3.9 және 3.10 суретте көрсетілген.

3.9 сурет – Ағымдағы тарау




Сурет 3.10 - Есептер бөлігі және «Тарауға қайта оралу» мен «Көмек» батырмалары



Берілген режимнің ерекшеліктерінің бірі 3.11 суретте көрсетілгендей көмектің шығуы.


Сурет 3.11 – Көмектің шығуы


Сондай-ақ тест режимі нәтижелерінде шешілген тапсырмалардың негізінде білім деңгейін көтеру бойынша ұсыныстарды көрсетеді. Батырманың орналасуы 3.12 суретте көрсетілген.


Сурет 3.12 - Нәтижелерді шығару және «Ұсыныстар» батырмасы



      1. Пайдаланушы интерфейсін бағдарламалық жүзеге асыру

«Математика 5 сынып» электронды оқулығы Eclipse ортасында жобалық құжаттамада көрсетілген талаптарға сәйкес әзірленген. Алдында құрылған макеттерге сүйене отырып, қосымшаның жалпы құрылымы мен интерфейсі құрылды. Java көмегімен негізгі функциялар жүзеге асырылды. Интерфейсті әзірлеу принциптерінің көмегімен пайдаланушы интерфейсінің элементтері құрылды, олар Adobe Photoshop CS6 графикалық редакторында құрылған.

Android қосымшасына арналған графикалық пайдаланушы интерфейсі View және ViewGroup объектілері иерархиясын қолданумен құрылған. View объектілері, әдетте

– бұл UI виджеттер, бұндай батырмалар немесе мәтіндік өрістер және ViewGroup, сондай-ақ child-элементтерді, мысалы торда немесе вертикальды тізімде, қалай пайдаланатынын анықтайтын көрінбейтін жүксауыттар.

Сонымен бірге нарықта қосымша тез табылып, оңай танылуы үшін оның белгішесі әзірленген.



Құрылғы қосымшасының мәзіріндегі қосымша белгішесінің сыртқы пішіні 3.13 суретте келтірілген.

Сурет 3.13 – Мәзірдегі қосымша белгішесі


Басты мәзір интерфейсінің сыртқы көрінісі 3.14 суретте көрсетілген.

Сурет 3.14 – Басты мәзір

Басты мәзірде келесі батырмалар орналасқан:

– Тест;


– Оқу;

– Баптаулар;

– Көмек;

– Шығу.


«Тест» батырмасына басқан кезде батырма анимациясы жүреді және тест мәзірі ашылады.

Сурет 3.15 – «Тест» режимінің мәзірі


Тарауды кездейсоқ түрде таңдаған кезде таңдалған бес есеп 3.16 суретте көрсетілгендей тақырып атауымен жеке шығарылады.

Сурет 3.16 - Тест мәзіріндегі таңдалған тарау бойынша тапсырмалар

«Көмек» батырмасын басқан кезде берілген есеп бойынша көмек көрсетіледі, мысалы 3.17 суретте келтірілген.



Сурет 3.17 – Көмек мысалы



«Нәтиже» бөлігінде шешілген есептер бойынша білім бағасы көрсетіледі, нәтиженің мысалы 3.18 суретте көрсетілген.

Сурет 3.18 – Нәтиже мысалы

«Оқу» батырмасын басқан кезде батырманың анимациясы жүреді және оқу мәзірі ашылады.

Сурет 3.19 – «Оқу» режимінің мәзірі



Тарауды таңдаған кезде 3.20 суретте көрсетілгендей тараудың барлық материалы көрсетіледі.

Сурет 3.20 – Таңдалған тарау бойынша оқу материалы





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет