Мобилді қосымшалардың архитектурасы
Android қолданбасының архитектурасы жұмыс үстелі қолданбасына қарағанда сәл күрделірек , тек компьютерлік қолданбаның негізгі экраннан немесе қолданбалар мәзірінен бір кіру нүктесі болғандықтан , содан кейін ол монолитті процесс принципі бойынша жұмыс істейді. Android қолданбасының архитектурасы әртүрлі, себебі оның көптеген бөлек құрамдастары бар, мысалы:
іс-шаралар ;
фрагменттер;
қызметтер;
мазмұн провайдерлері;
Әдетте, осы қолданба құрамдастарының барлығы бір файлда, қолданба манифестінде жарияланады. Ал Android операциялық жүйесінің өзі «манифестке» сүйене отырып, қолданбаңызды пайдаланушы құрылғысына қалай бейімдеу керектігін шешеді.
Android қосымшасын жасау кезінде қолданбаның өзі бірнеше құрамдас бөліктерден тұратынын және құрылғыны пайдаланушының бір уақытта бірнеше телефон бағдарламасымен әрекеттесе алатынын ескеру қажет, сондықтан қолданба компоненттері осыған бейімделе алуы керек. пайдаланушы жасай алатын әртүрлі жағдайлар, процестер және тапсырмалар.
Пайдаланушы әлеуметтік медиа қолданбасында өз суретін бөлісуді шешетін қарапайым өмірлік мысалды қарастырыңыз.
Фотосуретті бөлісу мүмкіндігін іске қосқаннан кейін пайдаланушы қолданбасы жаңа суретке түсіру үшін камераны қосу мүмкіндігін сұрайды. Дәл осы уақытта қолданба Android операциялық жүйесіне камераны пайдалану ниеті туралы сұрау жібереді. Бірақ қолданушы кенет өз ойын өзгертіп, әлеуметтік желідегі қойындыны жауып тастады.
Сонымен қатар, пайдаланушы басқа қолданбаларды аша алады, олар да құрылғының камерасын пайдаланғысы келетінін мәлімдейді.
Пайдаланушы әлеуметтік желі қолданбасына оралады және сол жерде «Галереядан» суретті қосады.
Пайдаланушы кез келген уақытта өзінің жеке суреттерін іздеуде әртүрлі қолданбалар арқылы «көтерілгенде» оның әрекетін кіріс дауыстық қоңырау, SMS немесе мессенджердегі хабарлама тоқтатуға болады. Ықтимал, құрылғының пайдаланушысы сөйлесуді аяқтаған кезде ол әлеуметтік желі қолданбасындағы суретті жаңарту «жұмысын» жалғастыра алады деп күтеді. Яғни , Android қолданбасының архитектурасы келесі процестерде дұрыс әрекеттесу үшін құрылуы керек:
кез келген әрекеттерді орындау үшін операциялық жүйеге сұраныстарды уақытында бастау ;
бірнеше қолданбалар құрылғының кез келген құрамдас бөлігін талап етсе, өз кезегін «күту» мүмкіндігі ;
фондық режимде жұмыс істей білу;
пайдаланушы орындаған барлық әрекеттерді сақтай отырып және жұмыстың жалғасуын күте отырып, «кішірейтілген» режимде жұмыс істей білу.
Сонымен қатар, ұялы телефонның ресурстары өте шектеулі екенін ескеру маңызды, сондықтан сіздің қосымшаңыз бос режимде, тіпті жұмыс процесінде де көптеген ресурстарды ала алмайды. Өйткені бұл жағдайда операциялық жүйе кез келген уақытта пайдаланушы пайдаланғысы келетін басқа қолданбалар үшін орынды босату үшін қолданбаңыздың кейбір процестерін тоқтатуға немесе тіпті жоюға мүмкіндігі бар.
Сондықтан мобильді қосымшалардың дамуы компоненттермен сипатталады. Бұл сіздің қолданбаңыз бөлек жұмыс істей алатын және бір-біріне тәуелді емес бөлек құрамдастардан тұратын кезде болады.
Модель қолданбаға арналған ақпаратты өңдеуге жауапты бөлек құрамдас болып табылады. Модельдердің қолданба құрамдастарына тәуелділігі жоқ, сондықтан олар қолданба құрамдастарымен байланысты мәселелер арқылы ешбір жолмен " портфолиоланбайды " .
Тұрақты модельден интерфейсті басқару принципін сақтау маңызды, өйткені ол келесі қасиеттерге ие:
Android операциялық жүйесі қолданбаңызды жойып, жүйелік ресурстарды босатқан жағдайда қолданбаңыздың пайдаланушылары деректерін жоғалтпайды;
құрылғы желіге қосылмаған немесе желіге қосылу әлсіз және тұрақсыз болса да өніміңіз жұмыс істейді .
Бір нақты Android мобильді қосымшасының архитектурасын екіншісінен жақсы немесе нашар деп айту мүмкін емес және қате. Әртүрлі қолданбаларға арналған жұмыс сценарийлері әр түрлі болады, сәйкесінше архитектура және қолданбаларды әзірлеу тәсілдері де әртүрлі болады. Сондықтан, егер сіз сәтті Android қосымшаларын жасау үшін өзіңіздің архитектуралық принциптеріңізді қалыптастырсаңыз, оларды өзгертпеу керек. Егер сіз ең басында болсаңыз және қандай архитектураны пайдалану керектігін білмесеңіз, Android әзірлеу тобы ұсынған архитектураны пайдалана аласыз. Қажет болса, оны өз қалауыңыз бойынша өзгертуге немесе қайта анықтауға болады. Бұл көріністі 3.1- суреттен көруге болады.
2.2 – сурет. Android қолданбасының архитектурасы
Бұл жерде:
«Әрекет» және «Фрагмент» «Көру» қабатының бөлігі болып табылады, бұл олардың қолданбадағы іскерлік логикаға және/немесе күрделі процестерге ешқандай қатысы болмауы керек дегенді білдіреді. «Көру» тек пайдаланушы мен қолданба арасындағы өзара әрекеттесу үшін жауап береді, осы процесті талдайды және бақылайды.
«ViewModel» «LifeCycles» күйін талдайды және Android қолданбасының конфигурациялары өзгерген жағдайда құрамдас бөліктер арасындағы сәйкестікті сақтайды, бұл «Репозиторийден» деректерді алу арқылы да мүмкін болады. "ViewModel" тікелей "Көрініспен" әрекеттеспейді, бірақ мұны "LiveData" нысанының көмегімен жасайды.
«Репозиторий» кейбір арнайы Android құрамдас бөлігі емес . Бұл өте қарапайым сынып, оның негізгі міндеті әртүрлі көздерден, соның ішінде деректер қорынан және әртүрлі веб-қызметтерден деректерді таңдау болып табылады. Таңдалған деректер, бұл сынып оларды LiveData құрамдас бөлігі бақылай алатындай етіп түрлендіреді және олар ViewModel құрамдас үшін қолжетімді болады.
«Бөлме» — «SQLite» деректер қорымен өзара әрекеттесу процесін жеңілдететін кітапхана. Сондай-ақ оның жауапкершілігі саласында: әрекет үлгілерін жазу, компиляция кезінде қателерді тексеру, «LiveData» арқылы тікелей «байланыс».
Бұл архитектурада назардың бір бөлігі «LiveData» және «Lifecycle» компоненттерінен тұратын «бақылаушы үлгісіне» аударылады. Бұл «үлгі» ең алдымен қолданбада болатын барлық өзгерістер мен жаңартуларды қадағалау және олар туралы «Әрекет» құрамдас бөлігін хабардар ету үшін қажет.
Android әзірлеушілерінің маңызды ұсынысы қолданбаның архитектурасын біріктіру үшін «Тәуелділік инъекциясы» жүйесін немесе «Қызметті анықтаушы» үлгісін пайдалану болып табылады.
Кез келген Android қолданбасының архитектурасы - шығармашылықтың кең өрісі, ал жалпы бағдарламалау - бұл шығармашылық, мұнда кез келген мәселені бірнеше жолмен шешуге болады, жалпы алғанда, нақты «автор» шешімді көреді.
Android қолданбаларының сипатталған архитектурасын Google ұсынады, бірақ бұл міндетті емес - айтпақшы, бұл туралы Google өзі жазады.
Достарыңызбен бөлісу: |