«Исследование и разработка мобильных образовательных приложений». Магистрлік диссертация
Скачать 4.32 Mb.
|
. Алдыңғы 5.5.1 нұсқа негiзде жасалған Eclipse IDE 6.0 |
Резерв сөздер | ||||
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 жылы жасалғаннан бері өзінің бастапқы қасиеттерін сақтай отырып, пайдалануда ыңғайлы әрі оңай бола түсті.
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 ортасының бастапқы кодтарын жариялады.
Соңғы нұсқалар