Жобаның файлдық құрылымы
10 cуретте тесттік бағдарламаның жоба файлдық құрылымы көрсетілген. Құрастыру кезінде жобаның негізгі файлдары болып мыналар табылады:
- «/gen/R.java» файлы – бұл қосымша ресурстарына қолжетімділікті қамтамасыз ететін арнайы генерацияланған класс.
- «/res/drawable-dpi/» бумасы – экраннның түрлі өлшемдері үшін қосымшада қолданылатын барлық графикалық файлдарды қамтиды.
- «/res/layout/» бумасында – XML форматта пішіннің сыртқы бейнесін сипаттайтын файлдар орналасқан.
- «/res/layout/main.xml» файлы мәтіндік терезелер, батырмалар және т.б экран элементерінен тұратын пішінді қамтиды.
- «/res/values/» бумасы қосымшаға арналған барлық тұрақтыларды қамтитын файлдардан тұрады.
- «/res/values/strings.xml» файлы қосымшада қолданылатын барлық жолдық тұрақтыларды қамтиды.
- «/src/» бумасы Java тіліндегі бағдарламаның шығыс кодынан тұрады.
- «/src/Hello.java» файлы қосымшаны басқаратын негізгі функциялардан және XML-файлдарды іске қосу функцияларынан тұрады.
- «/src/DBAdapter.java» файлы деректер қорымен жұмыс істеуге арналған функциялардан тұратын программа модулі.
- «AndroidManifest.java» файлында жобаның ортақ қасиеттері сақталады, сонымен қатар, жобадағы барлық пішіндер (Activities) сақталады.
- Пакет атауы Android ОЖ бағдарламалары арасындағы жобаның бірегей атауын анықтайды. Пакет атауы әдетте, компания атауы және қосымша атауынан тұрады. Мысалы, «com.mycompany.appname».
- Пішін (Activity) қолданушы интерфейсі элеметтері терезесінен тұрады. Берілген терезе қосымшаның кейбір функционалдарын іске асырады және жүйенің түрлі оқиғаларын өңдей алады.
Пішіндерді басқару пішіндер стегі көмегімен іске асырылады. Іске қосылған пішін стек шыңына орналасады, алдыңғы ашылған пішін мәліметтері сақталып, автоматты түрде бір стек деңгейіне төмен орын ауыстырады. Әр пішіннің төрт функциялану күйі болады:
Cурет 10. Жобаның файлдық құрылымы
Android операциялық жүйесіндегі қосымша негізінде Java-ның қолдануымен жұмыс істейді. Есептелінген программалық код (қордың барлық файлдары және басқа да қажетті ақпараттарымен бірге) арнайы файл-мұрағатта, AndroidPackage, жабдықталады. Бұл файлда *.apk кеңейтілуі бар және ол арнайы aapttool утилитасымен жабдықталады. Нақ атап айтқанда ол алдағы кезеңдерде программа ретінде таралады және мобильдік құрылғыларға орнатылады. Осындай бір файл бір қосымшаның кодымен байланысқан. Android-тағы әрбір қосымша өзінің әлемінде – осындай машинада өмір сүреді. Үнсіз күйде, әрбір программа Linux ядросының басқаруымен және менеджмент жадысын жузеге асыру арқылы өзінің өзіндік процесінде орындалады. Осылайша, қосымшаның коды жиі барлық басқа қосымшалардан оқшау орындалады. Android кез келген бір программалық кодты орындау қажеттілігі туындағанда процесті іске қосады, сонымен қатар онда ешқандай қажеттілік болмағанда және басқа қосымшаларға жүйелік ресурстар қажет болғандаоны аяқтайды. Үнсіз күйде,әрбір қосымшағаLinux-қолданушының өзінің бірегей ID меншіктеледі. Рұқсат құқығы қосымшаның файлдары тек осы қолданушыға және берілген қосымшаға ғана көрінетіндей орнатылады. Сонымен бірге оларды басқа қосымшаларға экспорттауға мүмкіндік беретін әдістер де бар. Мысалы, екі қосымшаның арасында бір ғана қолданушылық ID-дің «бөліну» мүмкіндігі қолданылады. Мұндай жағдайда, олар бір-бірінің файлдарын көре алады. Жүйелік ресурстарды үнемдеу үшін бірдей ID қосымшаларды бір ғана виртуалды машинаны бөлумен қатарбір ғана Linux-процесте жүргізуге келісім жасауға болады.