1.2.1 AndroidManifest.xml дегеніміз не
Android жүйесінде жасалған кез келген қолданбада жобаның түбірлік каталогында сақталған AndroidManifest.xml манифест файлы бар. Манифест қолданбаңыздың құрылымы мен метадеректерін, оның құрамдас бөліктері мен талаптарын сипаттауға мүмкіндік береді.
Манифест сіздің қосымшаңызды құрайтын әр компонентке (іс-шараларға, қызметтерге, деректер көздеріне және хабар таратқыштарға) арналған түйіндерді (тегтерді) қамтиды және Intent Filters мен өкілеттіктерді қолдана отырып, олардың бір-бірімен және үшінші тарап бағдарламаларымен қалай әрекеттесетінін анықтайды.
Манифест метадеректерді (белгішелер мен визуалды стильдер) көрсетуге арналған атрибуттарды ұсынады. Айта кету керек, қосымша деңгейдегі түйіндерді қауіпсіздік параметрлерін, қондырғыларды, аппараттық және жүйелік талаптарды сипаттау үшін пайдалануға болады.
Манифестте жоба пакетіне сілтеме жасайтын package атрибуты бар түбірлік тегі бар. Әдетте, бұл тег файл ішіндегі жүйелік түйіндер қолдайтын xmlns:android төлсипатын да қамтиды.
VersionCode атрибуты қосымшаның ағымдағы нұсқасын бүтін сан ретінде көрсетуге арналған. Бұл ішкі мән бағдарламаның нұсқаларын салыстыру үшін қолданылады. Пайдаланушыларға көрсетілетін жалпыға қол жетімді нұсқаны көрсету үшін VersionName төлсипатын қолданыңыз.
Типтік тегі код үзіндісінде көрсетілген.
[ ... вложенные узлы манифеста ...]
< Manifest > тегі бағдарламалық жасақтама компоненттерін, қауіпсіздік параметрлерін, тестілеу сыныптарын және қосымшаны құрайтын талаптарды сипаттайтын түйіндерді қамтиды. түйінінде қол жетімді тегтерді, сондай-ақ осы тегтерді қалай пайдалану керектігін көрсететін XML форматындағы код бөліктерін көрсетіңіз.
Uses-sdk
Қолданбаңыз дұрыс жұмыс істеуі үшін құрылғыда қол жетімді болуы керек SDK минималды, максималды және мақсатты нұсқаларын орнатуға мүмкіндік береді. Орнатылған платформа қолдайтын SDK нұсқасына сүйене отырып және minsdkversion, maxSDKVersion және targetSDKVersion атрибуттарының тіркесімін қолдана отырып, сіз қосымшаны іске қосуға қабілетті құрылғылардың шеңберін шектей аласыз.
Minsdkversion төлсипаты сіздің бағдарламаңызда қолданылатын API бар SDK-нің минималды нұсқасын көрсетеді. Егер сіз минималды нұсқаны орнатпасаңыз, әдепкі мән қолданылады және егер ол ағымдағы құрылғыда жоқ API-ге кіруге тырысса, сіздің бағдарламаңыз дұрыс жұмыс істей алмайды.
Maxsdkversion атрибуты сіз қолдауға дайын ең соңғы нұсқаны анықтауға мүмкіндік береді. Сіздің қосымшаңыз Android Market-те жаңа нұсқасы бар жүйемен басқарылатын құрылғылар үшін көрінбейтін болады. Бұл атрибут үшін мәнді орнату, егер сіз бағдарламаның жоғарыда көрсетілген нұсқасы бар платформада жұмыс істемейтініне сенімді болсаңыз ғана ұсынылады.
TargetSDKVersion сізге қосымшаны жасап, сынап көрген платформаны көрсетуге мүмкіндік береді. Осы төлсипаттың мәнін орнату арқылы сіз жүйеге нақты нұсқаны қолдау үшін тікелей немесе кері үйлесімділікке қатысты ешқандай өзгертулер қажет емеc.
Uses-configuration
Қолданба қолдайтын барлық деректерді енгізу механизмдерін көрсету үшін uses-configuration тегтерін пайдаланыңыз. Сіз келесі құрылғылардан тұратын кез-келген комбинацияны орната аласыз:
1. reqFiveWayNav - жоғары, төмен, солға, оңға, сондай-ақ таңдалған элементті басуды қолдайтын енгізу құрылғысы қажет болса, осы төлсипат үшін шын мәнін көрсетіңіз; бұл санатқа трекболдар да, D-pad манипуляторлары да кіреді;
2. reqHardKeyboard - егер сіздің бағдарламаңызға аппараттық пернетақта қажет болса, true мәнін көрсетіңіз;
3. reqKeyboardType - пернетақта түрін орнатуға мүмкіндік береді-nokeys, qwerty, twelvekey немесе undefined;
4.. reqNavigation - егер навигация құрылғысы қажет болса, келесі мәндердің бірін көрсетіңіз – nonav, dpad, trackball, wheel немесе undefined;
5. reqTouchScreen-егер сіздің бағдарламаңызға сенсорлық экран қажет болса, notouch, stylus, finger немесе undefined мәндердің біреуін таңдаңыз.
Төменде көрсетілгендей сыйымды сенсорлық экраны бар құрылғы, трекбол және аппараттық пернетақта (qwerty немесе он екі перне) сияқты бірнеше қолдау көрсетілетін конфигурацияларды көрсетуге болады.
Uses-feature
Android - тің артықшылықтарының бірі - ол жұмыс істей алатын аппараттық платформалардың кең спектрі. Қолданбаға қажетті барлық аппараттық мүмкіндіктерді орнату үшін қарапайым пайдалану мүмкіндіктерін пайдаланыңыз. Бұл сіздің бағдарламаңызды аппараттық талаптарға сәйкес келмейтін құрылғыларға орнатуға жол бермейді. Үйлесімді құрылғылар үшін кез-келген қосымша жабдықты қолдауды сұрай аласыз. Бүгінгі таңда аппараттық құралдар келесі нұсқаларды ұсынады:
android.hardware.камера (егер бағдарлама жұмыс істеуі үшін аппараттық камера қажет болса);
android.hardware.camera.autofocus (егер сізге автоматты фокустау камерасы қажет болса).
Сондай-ақ, қолданбаны іске қосу үшін OpenGL бағдарламасының ең аз нұсқасын орнату үшін uses-feature тегін пайдалануға болады. OpenGL ES нұсқасын бүтін сан ретінде көрсету үшін glEsVersion төлсипатын пайдаланыңыз. Алғашқы 16 бит негізгі нұсқа, ал соңғы 16 бит кіші нұсқа болып табылады.
Supports-screens
2009 жылы VGA экрандары бар құрылғылардың алғашқы толқынынан кейін Android жұмыс істейтін құрылғылардың тізімі WVGA және QVGA қолдайтын модельдермен толықтырылды. Болашақ құрылғылар үлкен дисплейлермен жабдықталуы мүмкін болғандықтан, supports-screen тегінің көмегімен сіз қолданба қолдайтын (және қолдамайтын) экран өлшемдерін көрсете аласыз.
Нақты сандар аппараттық құралға байланысты өзгереді, бірақ тұтастай алғанда экрандардың өлшемдері мен ажыратымдылықтарының сәйкестігі келесідей анықталады:
1. smallScreens – қарапайым HVGA-дан төмен ажыратымдылықтағы экрандар, әдетте, QVGA туралы;
2. normalScreens-HVGA және WQVGA қоса алғанда, кем дегенде HVGA стандартты ұялы телефондардың экрандарын сипаттау үшін қолданылады;
3. largeScreens – Ұялы телефоннан едәуір үлкен экрандар;
4. anyDensity - егер сіздің бағдарламаңыз экранда кез - келген ажыратымдылықпен көрсету үшін масштабтала алатын болса, true мәнін орнатыңыз.
SDK 1.6 нұсқасында (API деңгейі 4), әрбір төлсипат үшін әдепкі мән ақиқат болып табылады. Сіз қолдамайтын экран өлшемдерін көрсету үшін осы тегті пайдаланыңыз.
Application
Манифестте осы тегтің бір ғана данасы болуы мүмкін. Онда сіздің бағдарламаңызға арналған метадеректер бар атрибуттар қолданылады (оның атауы, белгішесі және визуалды стилі). Әзірлеу кезінде күйін келтіру режимін іске қосу үшін debuggable true төлсипатын орнату керек, дегенмен соңғы нұсқалар үшін оны өшіру керек.
Тегі сонымен қатар қосымшаның компоненттерін сипаттайтын іс-шараларға, қызметтерге, деректер көздеріне және таратқыштарға арналған түйіндерді қамтитын контейнер рөлін атқарады. Сонымен қатар, сіз өзіңіздің Application класының іске асырылуын орната аласыз. Әрі қарай, осы тарауда сіз осы сыныпты қалай мұрагерлікке алуды және оны қосымшаның күйін басқару үшін пайдалануды үйренесіз
[ ... вложенные теги ... ]
Activity
Бағдарлама көрсететін әр әрекет үшін тегі қажет. Әрекет класының атын көрсету үшін android:name төлсипатын пайдаланыңыз.
Осы тегтердің көмегімен алдымен іске қосылатын негізгі әрекетті, сондай-ақ көрсетуге болатын басқа экрандар мен диалогтық терезелерді қосыңыз. Әрбір тегі белсенділікті іске қосатын ниеттердің нақты екенін көрсететін кірістірілген түйіндерін қолдайды.
android:label="@string/app_name">
Service
Алдыңғы жағдайдағыдай, әр қызмет сыныбында service тегі болуы керек. Қызмет тегтері жасырын байланыстырылатын кірістірілген түйіндерін қолдайды.
android:name=".MyService">
Provider
Осы тегтің көмегімен қосымшадағы барлық деректер көздері көрсетіледі. Сипатталған деректер көздері дерекқорға кіруді басқару және бір немесе бірнеше бағдарламалар аясында ақпарат алмасу үшін қолданылады.
Receiver
Манифестке receiver тегін қосу арқылы сіз таратқышты қосымшаны іске қоспай тіркей аласыз. Хабар таратқыштар оқиғаларды жаһандық деңгейде бақылайды: тіркеуден өткеннен кейін олар жүйемен немесе тиісті ниет қосымшасымен таратылғанда іске қосылады. Тіркеледі және қаралады, оларды манифесте жасай аласыз, бұл процесс толық жасырын болып табылады. Тиісті ниетті таратқан кезде, тіркелген қабылдағышты іске қосу арқылы сіздің бағдарламаңыз автоматты түрде басталады.
Uses-permission
Uses-permission тегтері қауіпсіздік жүйесінің бөлігі ретінде Қосымшаның толық жұмыс істеуі үшін қажет деп санайтын өкілеттіктерді сипаттайды. Қосылған өкілеттіктер пайдаланушыға орнатылғанға дейін беріледі. Android-де көптеген стандартты Қызметтерді пайдалану үшін өкілеттіктер қажет (атап айтқанда, телефон қоңыраулары, SMS қабылдау немесе геолокациялық Қызметтерді пайдалану сияқты ақылы қызметтер мен қауіпсіздікке қатысты әрекеттері үшін).
Permission
Үшінші тарап қосымшалары ортақ бағдарламалық компоненттерге қол жеткізуден бұрын өкілеттіктерді көрсете алады. Бағдарлама компонентіне кіруді шектеу үшін манифестте тиісті өкілеттіктерді сипаттау керек. Ол үшін permission тегін пайдалану керек. Ағымдағы қосымшаның компоненттері Android:permission атрибуттары арқылы өкілеттіктерді талап ете алады. Басқа бағдарламаларда осы қорғалған компоненттерді пайдалану үшін пайдалану белгілері болуы керек.
Permission тегінің ішінде сіз осы өкілеттікпен (normal, dangerous, signature, signatureOrSystem) қамтамасыз етілетін қол жеткізу деңгейін, осы өкілеттікті берумен қатар жүретін тәуекелдердің сипаттамасы мен түсіндірмесі бар белгіні және сыртқы ресурсты көрсете аласыз.
android:description="@string/detonate_description">
Instrumentation
Instrumentation-нан алынған сыныптар бағдарламалық жасақтама компоненттерін оларды орындау кезінде сынау үшін негіз береді. Оларда бағдарламаның жұмысы және оның жүйелік ресурстармен өзара әрекеттесуі қадағаланатын кедергі әдістері бар.
android:targetPackage="com.paad.aPackage">
Манифесттің және осы тегтердің толық сипаттамасын мына жерден табуға болады: http://developer.android.com/guide/topics/manifest/manifest-intro.html
ADD (New project Wizard) құрамындағы жобаларды құру шебері автоматты түрде әр жаңа жоба үшін манифест файлын қосады.
Достарыңызбен бөлісу: |