Android белсенділігінің өмірлік циклі
АҢДАТПА
Бұл димломдық жобада Android Studio қосымшалары қаратырылды, Android платформасында бағдарламалық қосымшалар әзірленді. Қазіргі уақытта мобильді құрылғылар өте тез дамып келе жатыр.Көптеген тұтынушылар мобильді құрылғыларды пайдалануға көп уақыт жұмсайды. Осыған байланысты ішкі бөлінудің екі құрамдас бөлігіне зейін бөлуге болды: қолданбаны пайдаланушы және мобильді веб-шолғыш. Android ОЖ негізінде мобильді құрылғыларға арналған қолданбалар Android Studio бағдарламасының және java немесе Kotlin тілінің көмегімен әзірленген.
АННОТАЦИЯ
В этом димломном проекте были разработаны приложения Android Studio, разработаны программные приложения на платформе Android. В настоящее время мобильные устройства развиваются очень быстро.Многие потребители тратят много времени на использование мобильных устройств. Из-за этого можно было сосредоточиться на двух компонентах внутреннего разделения: пользователь приложения и мобильный веб-браузер. Приложения для мобильных устройств на базе ОС Android разработаны с использованием программы Android Studio и языка java или Kotlin.
ANNOTATION
In this graduation project, Android Studio applications were developed, software applications on the Android platform were developed. Currently, mobile devices are developing very fast.Many consumers spend a lot of time using mobile devices. Because of this, it was possible to focus on two components of the internal separation: the application user and the mobile web browser. Applications for Android-based mobile devices are developed using the Android Studio program and the java or Kotlin language.
КІРІСПЕ
Қазіргі таңда мобильді қосымша адамның ажырамас бөлігі. Мобильді құрылғыларда адамдар арасында ақпарат алмасуға ыңғайлы көптеген қосымшалар орналасқан. Сонымен қоса мобильді құрылғыларда сүйікті әндерді тыңдауға, аудиовизуалды ақпарат алмасуға арналған тағы көптеген қосымшалар бар. Мобильді құрылғы - бұл компьютердің көшірмесі. Бұл құрылғыны қолға ұстауға ыңғайлы.
Қазіргі уақытта мобильді құрылғы қолданушылар саны өте көп. Кез келген саланың нарығы мобильді құрылғылармен маркетинг бойынша да және тұтынушымен де өзара әректтесіп отырады. Қазіргі таңда тұтыншылар өзінен керекті кез-келген тауарды мобильді құрылғылар арқылы тапсырыс бере алады. Көптеген тұтынушылар мобильді құрылғыларды пайдалануға көп уақыт жұмсайды. Осыған байланысты ішкі бөлінудің екі құрамдас бөлігіне зейін бөлуге болды: қолданбаны пайдаланушы және мобильді веб-шолғыш.
Мобильді қосымша мен мобильді браузерлерді қолданушылар саны күннен-күнге артып келе жатыр. 2024 жылы смартфон пайдаланушылары мобильді интернетті пайдалану үшін күніне шамамен 8 сағат 21 минут жұмсайды, пайдаланушылар смартфондағы уақыттың 85% браузерге емес, қосымшаларға жұмсайды. Бұл компаниялардың веб-сайттарын мобильді құрылғыларға оңтайландырып қана қоймай, сонымен қатар қосымшаларды құрудың маңыздылығын көрсетеді.
Жұмыстың өзектілігі-сайтта деректерді синхрондау үшін android қосымшасы жасалғандығына байланысты.
Сайттың негізгі міндеті
Зерттеу нысаны-Android OS негізіндегі мобильді құрылғыларға арналған қосымшаны жобалау.
Зерттеу тақырыбы: Kotlin және Java бағдарламалау тілі.
Дипломдық жобаның мақсаты-деректерді сайтпен синхрондау үшін Android OS негізіндегі мобильді құрылғыларға арналған қосымшаны жобалау .
Тапсырмалар:
қолданыстағы қосымшаларды талдау;
Android Studio-да қолдану үшін Java немесе Kotlin бағдарламалау тілін үйрену;
Android-те мобильді қосымшаға арналған сайтты әзірлеу.
1 ЕСЕПТЕУ-ТЕОРИЯЛЫҚ БӨЛІМ. ANDROID ПЛАТФОРМАСЫН
ЗЕРТТЕУ
1.1 Тапсырма Қою
Қазіргі уақытта смартфондар нарығының 70% қолданыста. Android платформа - бұл көптеген қолданушыларға арналған жүйе, онда әрбір қосымша жеке бір қолданушы болып табылады. Жүйе өзінің жеке процесі мен кодты іске асыруға арналған виртуальды машинасы бар. Бұл жүйенің ұйымы қауіпсіздікті жақсартады, өйткені әрбір қосымша тек ресурстарды ғана пайдалана алады.
Android жүйесінің архитектурасы жүйемен өзара әрекеттесуге мүмкіндік беретін төрт негізгі компонентті ұсынады. Қолданбаны орындалатын жүйеге айналдыру үшін Android қолданбасы осы компоненттердің кем дегенде біреуін іске асыруы керек. Барлық компоненттер қолданба Манифестінде сипатталуы керек, XML файлы, жүйеден қолданба талап ететін барлық компоненттер мен рұқсаттар жазбаларын қамтиды. Android қосымшасының негізгі компоненттері-әрекеттер, қызметтер, мазмұн жеткізушілері және таратушылар.
қолданыстағы қосымшаларды талдау;
Android Studio-да қолдану үшін Java немесе Kotlin бағдарламалау тілін үйрену;
Android-те мобильді қосымшаға арналған сайтты әзірлеу.
1.2 Android Manifest
Android Manifest - Android қосымшасын жасауға қажетті файл (AndroidManifest.xml). Манифестте Android қосымшаға арналған барлық ақпарат ұсынылады. Ақпаратпен қатар қосымшаның идентификаторы ретінде қызмет ететін Java пакетінің атауын анықтауға жауап береді. Manifest файлында Android құрастыру құралдары, Android операциялық жүйесі және Google Play қолданбасы туралы маңызды ақпарат бар. Бұлардан басқа manifest файлы келесілерді жариялауы керек:
Қолданба компоненттері, соның ішінде барлық әрекеттер, қызметтер, хабар тарату қабылдағыштары және мазмұн жеткізушілері. Әрбір компонент өзінің Kotlin немесе Java сынып атауы сияқты негізгі қасиеттерді анықтауы керек. Ол сондай-ақ мүмкіндіктерді, мысалы, қандай құрылғы конфигурацияларын өңдей алатынын және компонентті қалай іске қосуға болатынын сипаттайтын ниет сүзгілерін жариялай алады.
Жүйенің қорғалған бөліктеріне немесе басқа қолданбаларға қол жеткізу үшін қолданбаға қажет рұқсаттар. Сондай-ақ, егер олар осы қолданбаның мазмұнына қол жеткізгісі келсе, басқа қолданбаларда болуы керек рұқсаттарды жариялайды.
Қолданбаға қажет аппараттық және бағдарламалық жасақтама мүмкіндіктері Google Play-ден қандай құрылғыларды орната алатындығына әсер етеді.
Қолданбаны жасау үшін Android Studio қолданбасын пайдалансаңыз, manifest файлы автоматты түрде жасалады және қолданба жасалған кезде, әсіресе код үлгілерін пайдаланған кезде manifest-тің негізгі элементтерінің көпшілігі қосылады .
Сурет 1.1 - "Android Manifest құрылым"
1.3 Әрекет (Activity)
Android қосымшалары Әрекеттер деп аталатын бір немесе бірнеше компоненттерді біріктіру арқылы жасалады. Әрекет - бұл әдетте бір пайдаланушы интерфейсінің экранымен және оның сәйкес функционалдығымен тікелей корреляцияланатын қолданба функцияларының жалғыз, дербес модулі. Кездесулерге арналған қолданбада, мысалы, ағымдағы күнге орнатылған кездесулерді көрсететін әрекет экраны болуы мүмкін. Сондай-ақ қолданба пайдаланушы жаңа кездесулерді енгізуі мүмкін экраннан тұратын екінші әрекетті пайдалануы мүмкін.
Жүйедегі әрекеттер әрекет стектері ретінде басқарылады . Жаңа әрекет басталған кезде, ол әдетте ағымдағы стектің жоғарғы жағына қойылады және орындалатын әрекетке айналады -- алдыңғы әрекет әрқашан оның астында стекте қалады және жаңа әрекет аяқталғанға дейін қайтадан алдыңғы қатарға шықпайды. Экранда бір немесе бірнеше әрекет стектері көрінуі мүмкін. Іс-әрекеттің төрт күйі бар:
Егер әрекет экранның алдыңғы жоспарында болса, ол белсенді немесе орындалып жатыр. Әдетте бұл әрекеттер қазіргі уақытта пайдаланушымен өзара әрекеттеседі.
Егер әрекет өз фокусын жоғалса, бірақ әлі де пайдаланушыға көрініп тұрса, ол тұрақты көрінетін болады. Бұл мүмкін, егер жаңа толық өлшемді емес немесе мөлдір әрекет сіздің әрекетіңіздің жоғарғы фокусында орналасқан болса, басқа әрекет көп терезелі режимде ең жоғарғы позицияда болса немесе әрекеттің өзі ағымдағы терезе режимінде бағытталуы мүмкін емес. Бұндай белсенділік толық белсенді болып саналады.
Егер әрекет толығымен басқа әрекетпен қабаттасса, ол әрекет тоқтатылады немесе жасырынылады. Ол бұрынғыдай барлық жай-күйі мен мүшелері туралы ақпаратты сақтап тұрады. Бірақ ол пайдаланушыға көрінбейтін болады. Өйткені оның терезесі жасырын және жады басқа жерге қажет болғанда жиі жүйеден жабылып тұрады.
Жүйе әрекетті жадыдан жоя алады немесе жәй аяқтауды сұрайды немесе жай ғана прцессті жояды.
Келесі диаграмма әрекет күйінің маңызды жолдарын көрсетеді. Квадрат тіктөртбұрыш кері қоңырау әдістерін ұсынады. Операцияларды орындау үшін оларды сіз жүзеге асыра аласыз. Белсенділік(Activity) күйлер арасында қолғалыста болады. Түрлі-түсті сопақшалар белсенділік(Activity) болуы мүмкін деген негізгі күйлерді белгілейді.
Сізді қызықтыру мүмкін деген үш негізгі цикл бар:
Осы уақытқа дейін белсенділік бірінші шақырудан орын алады. onCreate(Bundle) бір соңғы шақыруға дейін onDestroy(). Бұл әрекет бүкіл орнатулардың жаһандық күйін орындайды onCreate() және бүкіл қалған ресурстарды босатады onDestroy(). Мысалы, егер фондық режимде, желіден деректерді жүктеуге арналған ағын жұмыс істеп тұрса, ол сол ағынды жасай алады onCreate(), содан соң сол ағынды тоқтата алады onDestroy().
Белсенділіктің көрінетін өмір уақыты шақыру арасында орындалады onStart() және тиісті шақыруға дейін onStop(). Осы уақыт аралығында пайдаланушы экрандағы әректтерді көре алады. Дегенмен ол алдыңғы жоспарда болмауы мүмкін және пайдаланушымен де өзара әрекеттесе алмауы мүмкін. Осы екі әдіс арасында пайдаланушы әрекетін көрсету керек деген ресурстарды қолдануға болады. Мысалы, пайдаланушы интерфейсіне әсер ететін өзгертулерді бақылау үшін Broadcast Receiver on Start() деген әдісті тіркей алады және ол тіркеудің күшін жоя алады onStop() деген әдіспен, содан соң пайдаланушы көрсетіліп тұрған ақпаратты көрмейтін болады. Пайдаланушы өз ыңғайыңызға қарай onStart() әдіс пайдаланушы көрсетіліп тұрған ақпаратты көрсетеді, onStop() әдіс пайдаланушы көрсетіліп тұрған ақпаратты көрсетпей жасырады.
Белсенділіктің өмір уақыты алдыңғы жоспарда шақыру арасында орын алады onResume() және тиісті шақыруға дейін onPause(). Осы уақыт аралығында белсенділік көрініп тұрады және белсенді пайдаланушымен әрекеттеседі. Әрекет жиі күйілерді арасында өзгеріп тұрады. Мысалы құрылғы ұйқы режиміне өтсе, әрекеттің нәтижесі жеткізіледі және жаңа ниет жеткізіледі. Сондықтан бұл әдістер код айтарлықтай оңай болуы керек.
Сурет 1.3.1 - "Android белсенділігінің өмірлік циклі"
1.4 Қызметі (Services)
Android Қызметтері - бұл фондық режимде жұмыс істейтін және пайдаланушы интерфейсі жоқ процестер. Оларды іс-шаралардан, хабар тарату қабылдағыштарынан немесе басқа қызметтерден бастауға және кейіннен басқаруға болады. Android қызметтері қолданба тапсырмаларды орындауды жалғастыруы қажет, бірақ пайдаланушыға көрінуі үшін міндетті түрде пайдаланушы интерфейсі қажет емес жағдайлар үшін өте қолайлы. Қызметтерде пайдаланушы интерфейсі болмаса да, олар хабарландырулар арқылы оқиғалар туралы пайдаланушыны хабардар ете алады, Сонымен қатар ниет білдіре алады.
Android қызметі-дерекқорды немесе серверді жаңарту, кері санақты іске қосу және дыбысты ойнату сияқты ұзақ процестерді орындауға көмектесетін компонент. Әдепкі қызмет бойынша Android қолданбаның негізгі ағынымен бірдей процесте орындалады. Қызметтің бұл түрі жергілікті қызмет ретінде де белгілі.Ресурстарды қажет ететін тапсырмалар үшін қызмет фондық ағынмен жұмыс істейді. Бұл пайдаланушыға алаңдамай әрекеттерді орындауға мүмкіндік береді. Мысалы, егер пайдаланушы серверді жаңарту кезінде қоңырау шалғысы немесе хабарламаларды тексергісі келсе, оны жаңарту әрекетін үзіліссіз немесе үзбей жасай алады.
Android қызметінде пайдаланушы интерфейсі болмағандықтан, ол әрекеттің өмірлік цикліне байланысты емес. Бұл пайдаланушы қолданбамен әрекеттеспесе де, оны іске қосуға болатынын білдіреді.
Сурет 1.4.1 - "Android қызметінің құрылымы"
1.5 Мазмұн Провайдері (Content Provider)
Мазмұн провайдері-бұл деректер қамтылған қабық (wrapper). Егер сіздің қолданбаңыз SQLite дерекқорын пайдаланса, оған тек сіздің қолданбаңыз ғана қол жеткізе алады. Бірақ деректерді жалпылау қажет болатын жағдайлар бар. Қарапайым мысал-телефон кітапшасындағы контактілер де Дерекқорда бар, бірақ қолданбаңыз да контактілер тізімін шығара алатындай деректерге қол жеткізгіңіз келеді. Сіз басқа біреудің қосымшасының дерекқорына қол жеткізе алмайтындықтан, өз деректеріңізді барлық тілек білдірушілерге бөлісуге мүмкіндік беретін арнайы механизм ойлап табылды. Мазмұн провайдері деректерді құрылғыда жұмыс істейтін басқа қолданбалармен бөліскіңіз келетін жағдайларда ғана қолданылады.
Мазмұн провайдерлері қолданбалар арасында деректер алмасу механизмін жүзеге асырады. Кез келген қолданба басқа қолданбаларға мазмұн провайдері арқылы негізгі деректеріне қол жеткізе алады, соның ішінде деректерді қосу, жою және сұрай алады. Деректерге қол жеткізу мазмұн провайдері анықтаған әмбебап ресурс идентификаторы арқылы анықталады.
Сурет 1.5.1 - Мазмұн Провайдері (Content Provider)
1.6 Фрагменттер (Fragments)
Фрагмент қолданбаңыздың пайдаланушы интерфейсінің қайта пайдалануға болатын бөлігін білдіреді. Фрагмент өзінің орналасуын анықтайды және басқарады, өзінің өмірлік циклі бар және өзінің енгізу оқиғаларын өңдей алады. Фрагменттер өздігінен өмір сүре алмайды. Оларды әрекет немесе басқа фрагмент орналастыру керек. Фрагменттің көрініс иерархиясы хосттың көрініс иерархиясының бөлігі болады немесе оған бекітіледі. Fragment сыныбын кеңейту арқылы фрагменттерді жасайсыз және фрагментті әрекеттің орналасу файлында fragment элементі ретінде жариялау арқылы әрекет орналасуына енгізуге болады. Фрагментті енгізуге дейін шектеулер болды, өйткені экранда белгілі бір уақытта бір ғана әрекетті көрсетіледі. Сондықтан құрылғы экранын бөліп, әртүрлі бөліктерді бөлек басқара алмайды. Бірақ фрагментті енгізу арқылы икемділікке ие болып және экранда бір уақытта бір әрекетті орындауға шектеуді алып тасталынады. Енді бір әрекет болуы мүмкін, бірақ әрбір әрекет өзінің орналасуы, оқиғалары және толық өмірлік циклі болатын бірнеше фрагменттерден тұруы мүмкін. Төменде фрагменттермен анықталған екі UI модулін планшет дизайны үшін бір әрекетке біріктіру, бірақ телефон құрылғысы дизайны үшін бөлудің әдеттегі мысалы келтірілген.
Сурет 1.6.1 - Фрагменттері бар қосымшаның құрамы
1.7 Ниеттер (Intents)
Ниеттер-бұл бір әрекеттің екіншісін іске қосуға және қосымшаны құрайтын әрекеттер арқылы ағынды жүзеге асыруға қабілетті механизм. Ниеттер орындалатын операцияның сипаттамасынан және орындалатын деректерден тұрады. Ниеттер нақты болуы мүмкін, өйткені олар әрекетте сынып атауы бойынша сілтеме жасау арқылы белгілі бір әрекетті іске қосуды сұрайды немесе орындалатын әрекет түрін көрсету немесе әрекет орындалатын белгілі бір түрдегі деректерді беру арқылы жасырын болуы мүмкін. Жасырын ниеттер болған жағдайда, Android жұмыс уақыты іске қосылатын әрекетті таңдайды, ол ниет шешімі деп аталатын процесті қолдана отырып, ниетпен көрсетілген критерийлерге сәйкес келеді.
Ниет - бұл бір операцияны сипаттау механизмі - фотосуретті таңдау, электрондық поштаны жіберу, қоңырау шалу, браузерді іске қосу және көрсетілген мекенжайға өту. Android қолданбаларында көптеген операциялар ниеттер арқылы жұмыс істейді. Ниет үшін ең көп тараған пайдалану жағдайы қолданбаңызда басқа әрекетті іске қосу болып табылады. Бірақ бұл ниетті пайдаланудың жалғыз жағдайы емес. Сондай-ақ қандай да бір әрекетті орындауға бағытталған әрекеттің немесе қызметтің іске қосылғаны туралы хабарлау немесе белгілі бір оқиға болғаны туралы хабарландырулар жіберу үшін пайдалануға болады.
Ниеттер хабарларды бүкіл жүйеде тарату үшін пайдаланылуы мүмкін. Кез келген қолданба таратылатын қабылдағышты тіркей алады және оларға жауап беру мүмкіндігімен осы ниеттерді бақылай алады. Бұл сыртқы бағдарламалар арқылы тасымалданатын ішкі, жүйелік немесе үшінші тарап оқиғаларына негізделген оқиға үлгісін пайдаланатын қолданбаларды жасауға мүмкіндік береді.
Android желілік қосылым күйіндегі немесе батарея деңгейіндегі өзгерістер сияқты жүйелік оқиғаларды жариялау ниеттерін таратады. Нөмір тергіштер немесе SMS менеджерлері сияқты Android жүйесіндегі жүйелік қолданбалар кіріс қоңырау немесе жаңа SMS хабары сияқты көрсетілген ниеттерді бақылайтын құрамдастарды тіркеп, сәйкесінше жауап береді.
Сурет 1.7.1 - Ниет құрылымы
1.8 XML
XML ақпарат алмасуға арналған өте танымал пішім болып табылады, бірақ ол бірте-бірте жылдамырақ және үнемді JSON пішіміне өз орнын жоғалтады. Дегенмен, XML әлі күнге дейін валюта бағамдарын, ауа райы болжамын, жер сілкінісі нүктелерін және т.б. ұсынатын көптеген веб-қызметтерде қолданылады. Android кітапханаларында бағдарламашыны шатастырып, оны ұйқыдан айыру үшін ерікті құрылымы мен мазмұны бар XML құжаттарымен жұмыс істеуге арналған бірнеше сыныптар жинағы бар. Қолдау көрсетілетін технологиялар: SAX, XML Pull Parser, Limited DOM Level 2 негізгі қолдауы және т.б.
Cурет 1.8.1 - XML ресурстарының мысалы
1.9 Негізгі бағдарламалау тілін таңдау
Бірінші бағдарламаны бастамасын бұрын оның ең алдымен бағдарламалық тілін таңдау керек. Бағдарламаны жүзеге асырмас бұрын Java немесе Kotlin тілдері туралы кішкене ақпарат.
Java -- Android жүйесінің ең көне және ресми ана тілі; бұл сонымен қатар ең танымал мобильді қосымша. Оған Android Studio әзірлеу ортасы қолдау көрсетеді. Дегенмен, бұл меңгеру үшін өте қиын мобильді әзірлеу құралы және баяу болуы мүмкін.
Kotlin 2017 жылы Google қосымша ресми тіл ретінде енгізілді. Ол көп жағынан Java-ға ұқсас, бірақ пайдалану оңай. Бұл тіл өзара әрекеттеседі және оны Java тілімен біріктіруге болады. Ол барған сайын жаңа стандартқа айналуда және оны бірнеше құралдар мен IDE-де қолдануға болады. Kotlin бірдей функционалдылыққа қол жеткізу үшін кодтың аз жолын қажет етеді. Kotlin және Java - бұл өздерінің артықшылықтары мен кемшіліктері бар жергілікті бағдарламалау қолданбалары.
1.10 Context
Context-бұл қосымшаның негізгі функцияларына қол жеткізуге мүмкіндік беретін объект: ресурстарға, файлдық жүйеге қол жеткізу, белсенділікке қоңырау шалу және т.б. Activity-бұл context-тің ішкі класы, сондықтан кодта оны ActivityName.this немесе қысқартылған енгізу this деп пайдаланылады. Service, Application және т. б. сыныптары да контекстпен жұмыс істейді. Контекстке әртүрлі ... жалғасы
Бұл димломдық жобада Android Studio қосымшалары қаратырылды, Android платформасында бағдарламалық қосымшалар әзірленді. Қазіргі уақытта мобильді құрылғылар өте тез дамып келе жатыр.Көптеген тұтынушылар мобильді құрылғыларды пайдалануға көп уақыт жұмсайды. Осыған байланысты ішкі бөлінудің екі құрамдас бөлігіне зейін бөлуге болды: қолданбаны пайдаланушы және мобильді веб-шолғыш. Android ОЖ негізінде мобильді құрылғыларға арналған қолданбалар Android Studio бағдарламасының және java немесе Kotlin тілінің көмегімен әзірленген.
АННОТАЦИЯ
В этом димломном проекте были разработаны приложения Android Studio, разработаны программные приложения на платформе Android. В настоящее время мобильные устройства развиваются очень быстро.Многие потребители тратят много времени на использование мобильных устройств. Из-за этого можно было сосредоточиться на двух компонентах внутреннего разделения: пользователь приложения и мобильный веб-браузер. Приложения для мобильных устройств на базе ОС Android разработаны с использованием программы Android Studio и языка java или Kotlin.
ANNOTATION
In this graduation project, Android Studio applications were developed, software applications on the Android platform were developed. Currently, mobile devices are developing very fast.Many consumers spend a lot of time using mobile devices. Because of this, it was possible to focus on two components of the internal separation: the application user and the mobile web browser. Applications for Android-based mobile devices are developed using the Android Studio program and the java or Kotlin language.
КІРІСПЕ
Қазіргі таңда мобильді қосымша адамның ажырамас бөлігі. Мобильді құрылғыларда адамдар арасында ақпарат алмасуға ыңғайлы көптеген қосымшалар орналасқан. Сонымен қоса мобильді құрылғыларда сүйікті әндерді тыңдауға, аудиовизуалды ақпарат алмасуға арналған тағы көптеген қосымшалар бар. Мобильді құрылғы - бұл компьютердің көшірмесі. Бұл құрылғыны қолға ұстауға ыңғайлы.
Қазіргі уақытта мобильді құрылғы қолданушылар саны өте көп. Кез келген саланың нарығы мобильді құрылғылармен маркетинг бойынша да және тұтынушымен де өзара әректтесіп отырады. Қазіргі таңда тұтыншылар өзінен керекті кез-келген тауарды мобильді құрылғылар арқылы тапсырыс бере алады. Көптеген тұтынушылар мобильді құрылғыларды пайдалануға көп уақыт жұмсайды. Осыған байланысты ішкі бөлінудің екі құрамдас бөлігіне зейін бөлуге болды: қолданбаны пайдаланушы және мобильді веб-шолғыш.
Мобильді қосымша мен мобильді браузерлерді қолданушылар саны күннен-күнге артып келе жатыр. 2024 жылы смартфон пайдаланушылары мобильді интернетті пайдалану үшін күніне шамамен 8 сағат 21 минут жұмсайды, пайдаланушылар смартфондағы уақыттың 85% браузерге емес, қосымшаларға жұмсайды. Бұл компаниялардың веб-сайттарын мобильді құрылғыларға оңтайландырып қана қоймай, сонымен қатар қосымшаларды құрудың маңыздылығын көрсетеді.
Жұмыстың өзектілігі-сайтта деректерді синхрондау үшін android қосымшасы жасалғандығына байланысты.
Сайттың негізгі міндеті
Зерттеу нысаны-Android OS негізіндегі мобильді құрылғыларға арналған қосымшаны жобалау.
Зерттеу тақырыбы: Kotlin және Java бағдарламалау тілі.
Дипломдық жобаның мақсаты-деректерді сайтпен синхрондау үшін Android OS негізіндегі мобильді құрылғыларға арналған қосымшаны жобалау .
Тапсырмалар:
қолданыстағы қосымшаларды талдау;
Android Studio-да қолдану үшін Java немесе Kotlin бағдарламалау тілін үйрену;
Android-те мобильді қосымшаға арналған сайтты әзірлеу.
1 ЕСЕПТЕУ-ТЕОРИЯЛЫҚ БӨЛІМ. ANDROID ПЛАТФОРМАСЫН
ЗЕРТТЕУ
1.1 Тапсырма Қою
Қазіргі уақытта смартфондар нарығының 70% қолданыста. Android платформа - бұл көптеген қолданушыларға арналған жүйе, онда әрбір қосымша жеке бір қолданушы болып табылады. Жүйе өзінің жеке процесі мен кодты іске асыруға арналған виртуальды машинасы бар. Бұл жүйенің ұйымы қауіпсіздікті жақсартады, өйткені әрбір қосымша тек ресурстарды ғана пайдалана алады.
Android жүйесінің архитектурасы жүйемен өзара әрекеттесуге мүмкіндік беретін төрт негізгі компонентті ұсынады. Қолданбаны орындалатын жүйеге айналдыру үшін Android қолданбасы осы компоненттердің кем дегенде біреуін іске асыруы керек. Барлық компоненттер қолданба Манифестінде сипатталуы керек, XML файлы, жүйеден қолданба талап ететін барлық компоненттер мен рұқсаттар жазбаларын қамтиды. Android қосымшасының негізгі компоненттері-әрекеттер, қызметтер, мазмұн жеткізушілері және таратушылар.
қолданыстағы қосымшаларды талдау;
Android Studio-да қолдану үшін Java немесе Kotlin бағдарламалау тілін үйрену;
Android-те мобильді қосымшаға арналған сайтты әзірлеу.
1.2 Android Manifest
Android Manifest - Android қосымшасын жасауға қажетті файл (AndroidManifest.xml). Манифестте Android қосымшаға арналған барлық ақпарат ұсынылады. Ақпаратпен қатар қосымшаның идентификаторы ретінде қызмет ететін Java пакетінің атауын анықтауға жауап береді. Manifest файлында Android құрастыру құралдары, Android операциялық жүйесі және Google Play қолданбасы туралы маңызды ақпарат бар. Бұлардан басқа manifest файлы келесілерді жариялауы керек:
Қолданба компоненттері, соның ішінде барлық әрекеттер, қызметтер, хабар тарату қабылдағыштары және мазмұн жеткізушілері. Әрбір компонент өзінің Kotlin немесе Java сынып атауы сияқты негізгі қасиеттерді анықтауы керек. Ол сондай-ақ мүмкіндіктерді, мысалы, қандай құрылғы конфигурацияларын өңдей алатынын және компонентті қалай іске қосуға болатынын сипаттайтын ниет сүзгілерін жариялай алады.
Жүйенің қорғалған бөліктеріне немесе басқа қолданбаларға қол жеткізу үшін қолданбаға қажет рұқсаттар. Сондай-ақ, егер олар осы қолданбаның мазмұнына қол жеткізгісі келсе, басқа қолданбаларда болуы керек рұқсаттарды жариялайды.
Қолданбаға қажет аппараттық және бағдарламалық жасақтама мүмкіндіктері Google Play-ден қандай құрылғыларды орната алатындығына әсер етеді.
Қолданбаны жасау үшін Android Studio қолданбасын пайдалансаңыз, manifest файлы автоматты түрде жасалады және қолданба жасалған кезде, әсіресе код үлгілерін пайдаланған кезде manifest-тің негізгі элементтерінің көпшілігі қосылады .
Сурет 1.1 - "Android Manifest құрылым"
1.3 Әрекет (Activity)
Android қосымшалары Әрекеттер деп аталатын бір немесе бірнеше компоненттерді біріктіру арқылы жасалады. Әрекет - бұл әдетте бір пайдаланушы интерфейсінің экранымен және оның сәйкес функционалдығымен тікелей корреляцияланатын қолданба функцияларының жалғыз, дербес модулі. Кездесулерге арналған қолданбада, мысалы, ағымдағы күнге орнатылған кездесулерді көрсететін әрекет экраны болуы мүмкін. Сондай-ақ қолданба пайдаланушы жаңа кездесулерді енгізуі мүмкін экраннан тұратын екінші әрекетті пайдалануы мүмкін.
Жүйедегі әрекеттер әрекет стектері ретінде басқарылады . Жаңа әрекет басталған кезде, ол әдетте ағымдағы стектің жоғарғы жағына қойылады және орындалатын әрекетке айналады -- алдыңғы әрекет әрқашан оның астында стекте қалады және жаңа әрекет аяқталғанға дейін қайтадан алдыңғы қатарға шықпайды. Экранда бір немесе бірнеше әрекет стектері көрінуі мүмкін. Іс-әрекеттің төрт күйі бар:
Егер әрекет экранның алдыңғы жоспарында болса, ол белсенді немесе орындалып жатыр. Әдетте бұл әрекеттер қазіргі уақытта пайдаланушымен өзара әрекеттеседі.
Егер әрекет өз фокусын жоғалса, бірақ әлі де пайдаланушыға көрініп тұрса, ол тұрақты көрінетін болады. Бұл мүмкін, егер жаңа толық өлшемді емес немесе мөлдір әрекет сіздің әрекетіңіздің жоғарғы фокусында орналасқан болса, басқа әрекет көп терезелі режимде ең жоғарғы позицияда болса немесе әрекеттің өзі ағымдағы терезе режимінде бағытталуы мүмкін емес. Бұндай белсенділік толық белсенді болып саналады.
Егер әрекет толығымен басқа әрекетпен қабаттасса, ол әрекет тоқтатылады немесе жасырынылады. Ол бұрынғыдай барлық жай-күйі мен мүшелері туралы ақпаратты сақтап тұрады. Бірақ ол пайдаланушыға көрінбейтін болады. Өйткені оның терезесі жасырын және жады басқа жерге қажет болғанда жиі жүйеден жабылып тұрады.
Жүйе әрекетті жадыдан жоя алады немесе жәй аяқтауды сұрайды немесе жай ғана прцессті жояды.
Келесі диаграмма әрекет күйінің маңызды жолдарын көрсетеді. Квадрат тіктөртбұрыш кері қоңырау әдістерін ұсынады. Операцияларды орындау үшін оларды сіз жүзеге асыра аласыз. Белсенділік(Activity) күйлер арасында қолғалыста болады. Түрлі-түсті сопақшалар белсенділік(Activity) болуы мүмкін деген негізгі күйлерді белгілейді.
Сізді қызықтыру мүмкін деген үш негізгі цикл бар:
Осы уақытқа дейін белсенділік бірінші шақырудан орын алады. onCreate(Bundle) бір соңғы шақыруға дейін onDestroy(). Бұл әрекет бүкіл орнатулардың жаһандық күйін орындайды onCreate() және бүкіл қалған ресурстарды босатады onDestroy(). Мысалы, егер фондық режимде, желіден деректерді жүктеуге арналған ағын жұмыс істеп тұрса, ол сол ағынды жасай алады onCreate(), содан соң сол ағынды тоқтата алады onDestroy().
Белсенділіктің көрінетін өмір уақыты шақыру арасында орындалады onStart() және тиісті шақыруға дейін onStop(). Осы уақыт аралығында пайдаланушы экрандағы әректтерді көре алады. Дегенмен ол алдыңғы жоспарда болмауы мүмкін және пайдаланушымен де өзара әрекеттесе алмауы мүмкін. Осы екі әдіс арасында пайдаланушы әрекетін көрсету керек деген ресурстарды қолдануға болады. Мысалы, пайдаланушы интерфейсіне әсер ететін өзгертулерді бақылау үшін Broadcast Receiver on Start() деген әдісті тіркей алады және ол тіркеудің күшін жоя алады onStop() деген әдіспен, содан соң пайдаланушы көрсетіліп тұрған ақпаратты көрмейтін болады. Пайдаланушы өз ыңғайыңызға қарай onStart() әдіс пайдаланушы көрсетіліп тұрған ақпаратты көрсетеді, onStop() әдіс пайдаланушы көрсетіліп тұрған ақпаратты көрсетпей жасырады.
Белсенділіктің өмір уақыты алдыңғы жоспарда шақыру арасында орын алады onResume() және тиісті шақыруға дейін onPause(). Осы уақыт аралығында белсенділік көрініп тұрады және белсенді пайдаланушымен әрекеттеседі. Әрекет жиі күйілерді арасында өзгеріп тұрады. Мысалы құрылғы ұйқы режиміне өтсе, әрекеттің нәтижесі жеткізіледі және жаңа ниет жеткізіледі. Сондықтан бұл әдістер код айтарлықтай оңай болуы керек.
Сурет 1.3.1 - "Android белсенділігінің өмірлік циклі"
1.4 Қызметі (Services)
Android Қызметтері - бұл фондық режимде жұмыс істейтін және пайдаланушы интерфейсі жоқ процестер. Оларды іс-шаралардан, хабар тарату қабылдағыштарынан немесе басқа қызметтерден бастауға және кейіннен басқаруға болады. Android қызметтері қолданба тапсырмаларды орындауды жалғастыруы қажет, бірақ пайдаланушыға көрінуі үшін міндетті түрде пайдаланушы интерфейсі қажет емес жағдайлар үшін өте қолайлы. Қызметтерде пайдаланушы интерфейсі болмаса да, олар хабарландырулар арқылы оқиғалар туралы пайдаланушыны хабардар ете алады, Сонымен қатар ниет білдіре алады.
Android қызметі-дерекқорды немесе серверді жаңарту, кері санақты іске қосу және дыбысты ойнату сияқты ұзақ процестерді орындауға көмектесетін компонент. Әдепкі қызмет бойынша Android қолданбаның негізгі ағынымен бірдей процесте орындалады. Қызметтің бұл түрі жергілікті қызмет ретінде де белгілі.Ресурстарды қажет ететін тапсырмалар үшін қызмет фондық ағынмен жұмыс істейді. Бұл пайдаланушыға алаңдамай әрекеттерді орындауға мүмкіндік береді. Мысалы, егер пайдаланушы серверді жаңарту кезінде қоңырау шалғысы немесе хабарламаларды тексергісі келсе, оны жаңарту әрекетін үзіліссіз немесе үзбей жасай алады.
Android қызметінде пайдаланушы интерфейсі болмағандықтан, ол әрекеттің өмірлік цикліне байланысты емес. Бұл пайдаланушы қолданбамен әрекеттеспесе де, оны іске қосуға болатынын білдіреді.
Сурет 1.4.1 - "Android қызметінің құрылымы"
1.5 Мазмұн Провайдері (Content Provider)
Мазмұн провайдері-бұл деректер қамтылған қабық (wrapper). Егер сіздің қолданбаңыз SQLite дерекқорын пайдаланса, оған тек сіздің қолданбаңыз ғана қол жеткізе алады. Бірақ деректерді жалпылау қажет болатын жағдайлар бар. Қарапайым мысал-телефон кітапшасындағы контактілер де Дерекқорда бар, бірақ қолданбаңыз да контактілер тізімін шығара алатындай деректерге қол жеткізгіңіз келеді. Сіз басқа біреудің қосымшасының дерекқорына қол жеткізе алмайтындықтан, өз деректеріңізді барлық тілек білдірушілерге бөлісуге мүмкіндік беретін арнайы механизм ойлап табылды. Мазмұн провайдері деректерді құрылғыда жұмыс істейтін басқа қолданбалармен бөліскіңіз келетін жағдайларда ғана қолданылады.
Мазмұн провайдерлері қолданбалар арасында деректер алмасу механизмін жүзеге асырады. Кез келген қолданба басқа қолданбаларға мазмұн провайдері арқылы негізгі деректеріне қол жеткізе алады, соның ішінде деректерді қосу, жою және сұрай алады. Деректерге қол жеткізу мазмұн провайдері анықтаған әмбебап ресурс идентификаторы арқылы анықталады.
Сурет 1.5.1 - Мазмұн Провайдері (Content Provider)
1.6 Фрагменттер (Fragments)
Фрагмент қолданбаңыздың пайдаланушы интерфейсінің қайта пайдалануға болатын бөлігін білдіреді. Фрагмент өзінің орналасуын анықтайды және басқарады, өзінің өмірлік циклі бар және өзінің енгізу оқиғаларын өңдей алады. Фрагменттер өздігінен өмір сүре алмайды. Оларды әрекет немесе басқа фрагмент орналастыру керек. Фрагменттің көрініс иерархиясы хосттың көрініс иерархиясының бөлігі болады немесе оған бекітіледі. Fragment сыныбын кеңейту арқылы фрагменттерді жасайсыз және фрагментті әрекеттің орналасу файлында fragment элементі ретінде жариялау арқылы әрекет орналасуына енгізуге болады. Фрагментті енгізуге дейін шектеулер болды, өйткені экранда белгілі бір уақытта бір ғана әрекетті көрсетіледі. Сондықтан құрылғы экранын бөліп, әртүрлі бөліктерді бөлек басқара алмайды. Бірақ фрагментті енгізу арқылы икемділікке ие болып және экранда бір уақытта бір әрекетті орындауға шектеуді алып тасталынады. Енді бір әрекет болуы мүмкін, бірақ әрбір әрекет өзінің орналасуы, оқиғалары және толық өмірлік циклі болатын бірнеше фрагменттерден тұруы мүмкін. Төменде фрагменттермен анықталған екі UI модулін планшет дизайны үшін бір әрекетке біріктіру, бірақ телефон құрылғысы дизайны үшін бөлудің әдеттегі мысалы келтірілген.
Сурет 1.6.1 - Фрагменттері бар қосымшаның құрамы
1.7 Ниеттер (Intents)
Ниеттер-бұл бір әрекеттің екіншісін іске қосуға және қосымшаны құрайтын әрекеттер арқылы ағынды жүзеге асыруға қабілетті механизм. Ниеттер орындалатын операцияның сипаттамасынан және орындалатын деректерден тұрады. Ниеттер нақты болуы мүмкін, өйткені олар әрекетте сынып атауы бойынша сілтеме жасау арқылы белгілі бір әрекетті іске қосуды сұрайды немесе орындалатын әрекет түрін көрсету немесе әрекет орындалатын белгілі бір түрдегі деректерді беру арқылы жасырын болуы мүмкін. Жасырын ниеттер болған жағдайда, Android жұмыс уақыты іске қосылатын әрекетті таңдайды, ол ниет шешімі деп аталатын процесті қолдана отырып, ниетпен көрсетілген критерийлерге сәйкес келеді.
Ниет - бұл бір операцияны сипаттау механизмі - фотосуретті таңдау, электрондық поштаны жіберу, қоңырау шалу, браузерді іске қосу және көрсетілген мекенжайға өту. Android қолданбаларында көптеген операциялар ниеттер арқылы жұмыс істейді. Ниет үшін ең көп тараған пайдалану жағдайы қолданбаңызда басқа әрекетті іске қосу болып табылады. Бірақ бұл ниетті пайдаланудың жалғыз жағдайы емес. Сондай-ақ қандай да бір әрекетті орындауға бағытталған әрекеттің немесе қызметтің іске қосылғаны туралы хабарлау немесе белгілі бір оқиға болғаны туралы хабарландырулар жіберу үшін пайдалануға болады.
Ниеттер хабарларды бүкіл жүйеде тарату үшін пайдаланылуы мүмкін. Кез келген қолданба таратылатын қабылдағышты тіркей алады және оларға жауап беру мүмкіндігімен осы ниеттерді бақылай алады. Бұл сыртқы бағдарламалар арқылы тасымалданатын ішкі, жүйелік немесе үшінші тарап оқиғаларына негізделген оқиға үлгісін пайдаланатын қолданбаларды жасауға мүмкіндік береді.
Android желілік қосылым күйіндегі немесе батарея деңгейіндегі өзгерістер сияқты жүйелік оқиғаларды жариялау ниеттерін таратады. Нөмір тергіштер немесе SMS менеджерлері сияқты Android жүйесіндегі жүйелік қолданбалар кіріс қоңырау немесе жаңа SMS хабары сияқты көрсетілген ниеттерді бақылайтын құрамдастарды тіркеп, сәйкесінше жауап береді.
Сурет 1.7.1 - Ниет құрылымы
1.8 XML
XML ақпарат алмасуға арналған өте танымал пішім болып табылады, бірақ ол бірте-бірте жылдамырақ және үнемді JSON пішіміне өз орнын жоғалтады. Дегенмен, XML әлі күнге дейін валюта бағамдарын, ауа райы болжамын, жер сілкінісі нүктелерін және т.б. ұсынатын көптеген веб-қызметтерде қолданылады. Android кітапханаларында бағдарламашыны шатастырып, оны ұйқыдан айыру үшін ерікті құрылымы мен мазмұны бар XML құжаттарымен жұмыс істеуге арналған бірнеше сыныптар жинағы бар. Қолдау көрсетілетін технологиялар: SAX, XML Pull Parser, Limited DOM Level 2 негізгі қолдауы және т.б.
Cурет 1.8.1 - XML ресурстарының мысалы
1.9 Негізгі бағдарламалау тілін таңдау
Бірінші бағдарламаны бастамасын бұрын оның ең алдымен бағдарламалық тілін таңдау керек. Бағдарламаны жүзеге асырмас бұрын Java немесе Kotlin тілдері туралы кішкене ақпарат.
Java -- Android жүйесінің ең көне және ресми ана тілі; бұл сонымен қатар ең танымал мобильді қосымша. Оған Android Studio әзірлеу ортасы қолдау көрсетеді. Дегенмен, бұл меңгеру үшін өте қиын мобильді әзірлеу құралы және баяу болуы мүмкін.
Kotlin 2017 жылы Google қосымша ресми тіл ретінде енгізілді. Ол көп жағынан Java-ға ұқсас, бірақ пайдалану оңай. Бұл тіл өзара әрекеттеседі және оны Java тілімен біріктіруге болады. Ол барған сайын жаңа стандартқа айналуда және оны бірнеше құралдар мен IDE-де қолдануға болады. Kotlin бірдей функционалдылыққа қол жеткізу үшін кодтың аз жолын қажет етеді. Kotlin және Java - бұл өздерінің артықшылықтары мен кемшіліктері бар жергілікті бағдарламалау қолданбалары.
1.10 Context
Context-бұл қосымшаның негізгі функцияларына қол жеткізуге мүмкіндік беретін объект: ресурстарға, файлдық жүйеге қол жеткізу, белсенділікке қоңырау шалу және т.б. Activity-бұл context-тің ішкі класы, сондықтан кодта оны ActivityName.this немесе қысқартылған енгізу this деп пайдаланылады. Service, Application және т. б. сыныптары да контекстпен жұмыс істейді. Контекстке әртүрлі ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz