已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ANDROIDAPPLICATIONFUNDAMENTALSANDROIDAPPLICATIONSAREWRITTENINTHEJAVAPROGRAMMINGLANGUAGETHEANDROIDSDKTOOLSCOMPILETHECODEALONGWITHANYDATAANDRESOURCEFILESINTOANANDROIDPACKAGE,ANARCHIVEFILEWITHANAPKSUFFIXALLTHECODEINASINGLEAPKFILEISCONSIDEREDTOBEONEAPPLICATIONANDISTHEFILETHATANDROIDPOWEREDDEVICESUSETOINSTALLTHEAPPLICATIONONCEINSTALLEDONADEVICE,EACHANDROIDAPPLICATIONLIVESINITSOWNSECURITYSANDBOXTHEANDROIDOPERATINGSYSTEMISAMULTIUSERLINUXSYSTEMINWHICHEACHAPPLICATIONISADIFFERENTUSERBYDEFAULT,THESYSTEMASSIGNSEACHAPPLICATIONAUNIQUELINUXUSERIDTHEIDISUSEDONLYBYTHESYSTEMANDISUNKNOWNTOTHEAPPLICATIONTHESYSTEMSETSPERMISSIONSFORALLTHEFILESINANAPPLICATIONSOTHATONLYTHEUSERIDASSIGNEDTOTHATAPPLICATIONCANACCESSTHEMEACHPROCESSHASITSOWNVIRTUALMACHINEVM,SOANAPPLICATIONSCODERUNSINISOLATIONFROMOTHERAPPLICATIONSBYDEFAULT,EVERYAPPLICATIONRUNSINITSOWNLINUXPROCESSANDROIDSTARTSTHEPROCESSWHENANYOFTHEAPPLICATIONSCOMPONENTSNEEDTOBEEXECUTED,THENSHUTSDOWNTHEPROCESSWHENITSNOLONGERNEEDEDORWHENTHESYSTEMMUSTRECOVERMEMORYFOROTHERAPPLICATIONSINTHISWAY,THEANDROIDSYSTEMIMPLEMENTSTHEPRINCIPLEOFLEASTPRIVILEGETHATIS,EACHAPPLICATION,BYDEFAULT,HASACCESSONLYTOTHECOMPONENTSTHATITREQUIRESTODOITSWORKANDNOMORETHISCREATESAVERYSECUREENVIRONMENTINWHICHANAPPLICATIONCANNOTACCESSPARTSOFTHESYSTEMFORWHICHITISNOTGIVENPERMISSIONHOWEVER,THEREAREWAYSFORANAPPLICATIONTOSHAREDATAWITHOTHERAPPLICATIONSANDFORANAPPLICATIONTOACCESSSYSTEMSERVICESITSPOSSIBLETOARRANGEFORTWOAPPLICATIONSTOSHARETHESAMELINUXUSERID,INWHICHCASETHEYAREABLETOACCESSEACHOTHERSFILESTOCONSERVESYSTEMRESOURCES,APPLICATIONSWITHTHESAMEUSERIDCANALSOARRANGETORUNINTHESAMELINUXPROCESSANDSHARETHESAMEVMTHEAPPLICATIONSMUSTALSOBESIGNEDWITHTHESAMECERTIFICATEANAPPLICATIONCANREQUESTPERMISSIONTOACCESSDEVICEDATASUCHASTHEUSERSCONTACTS,SMSMESSAGES,THEMOUNTABLESTORAGESDCARD,CAMERA,BLUETOOTH,ANDMOREALLAPPLICATIONPERMISSIONSMUSTBEGRANTEDBYTHEUSERATINSTALLTIMETHATCOVERSTHEBASICSREGARDINGHOWANANDROIDAPPLICATIONEXISTSWITHINTHESYSTEMTHERESTOFTHISDOCUMENTINTRODUCESYOUTOTHECOREFRAMEWORKCOMPONENTSTHATDEFINEYOURAPPLICATIONTHEMANIFESTFILEINWHICHYOUDECLARECOMPONENTSANDREQUIREDDEVICEFEATURESFORYOURAPPLICATIONRESOURCESTHATARESEPARATEFROMTHEAPPLICATIONCODEANDALLOWYOURAPPLICATIONTOGRACEFULLYOPTIMIZEITSBEHAVIORFORAVARIETYOFDEVICECONFIGURATIONSAPPLICATIONCOMPONENTSAPPLICATIONCOMPONENTSARETHEESSENTIALBUILDINGBLOCKSOFANANDROIDAPPLICATIONEACHCOMPONENTISADIFFERENTPOINTTHROUGHWHICHTHESYSTEMCANENTERYOURAPPLICATIONNOTALLCOMPONENTSAREACTUALENTRYPOINTSFORTHEUSERANDSOMEDEPENDONEACHOTHER,BUTEACHONEEXISTSASITSOWNENTITYANDPLAYSASPECIFICROLEEACHONEISAUNIQUEBUILDINGBLOCKTHATHELPSDEFINEYOURAPPLICATIONSOVERALLBEHAVIORTHEREAREFOURDIFFERENTTYPESOFAPPLICATIONCOMPONENTSEACHTYPESERVESADISTINCTPURPOSEANDHASADISTINCTLIFECYCLETHATDEFINESHOWTHECOMPONENTISCREATEDANDDESTROYEDHEREARETHEFOURTYPESOFAPPLICATIONCOMPONENTSACTIVITIESANACTIVITYREPRESENTSASINGLESCREENWITHAUSERINTERFACEFOREXAMPLE,ANEMAILAPPLICATIONMIGHTHAVEONEACTIVITYTHATSHOWSALISTOFNEWEMAILS,ANOTHERACTIVITYTOCOMPOSEANEMAIL,ANDANOTHERACTIVITYFORREADINGEMAILSALTHOUGHTHEACTIVITIESWORKTOGETHERTOFORMACOHESIVEUSEREXPERIENCEINTHEEMAILAPPLICATION,EACHONEISINDEPENDENTOFTHEOTHERSASSUCH,ADIFFERENTAPPLICATIONCANSTARTANYONEOFTHESEACTIVITIESIFTHEEMAILAPPLICATIONALLOWSITFOREXAMPLE,ACAMERAAPPLICATIONCANSTARTTHEACTIVITYINTHEEMAILAPPLICATIONTHATCOMPOSESNEWMAIL,INORDERFORTHEUSERTOSHAREAPICTUREANACTIVITYISIMPLEMENTEDASASUBCLASSOFACTIVITYANDYOUCANLEARNMOREABOUTITINTHEACTIVITIESDEVELOPERGUIDESERVICESASERVICEISACOMPONENTTHATRUNSINTHEBACKGROUNDTOPERFORMLONGRUNNINGOPERATIONSORTOPERFORMWORKFORREMOTEPROCESSESASERVICEDOESNOTPROVIDEAUSERINTERFACEFOREXAMPLE,ASERVICEMIGHTPLAYMUSICINTHEBACKGROUNDWHILETHEUSERISINADIFFERENTAPPLICATION,ORITMIGHTFETCHDATAOVERTHENETWORKWITHOUTBLOCKINGUSERINTERACTIONWITHANACTIVITYANOTHERCOMPONENT,SUCHASANACTIVITY,CANSTARTTHESERVICEANDLETITRUNORBINDTOITINORDERTOINTERACTWITHITASERVICEISIMPLEMENTEDASASUBCLASSOFSERVICEANDYOUCANLEARNMOREABOUTITINTHESERVICESDEVELOPERGUIDECONTENTPROVIDERSACONTENTPROVIDERMANAGESASHAREDSETOFAPPLICATIONDATAYOUCANSTORETHEDATAINTHEFILESYSTEM,ANSQLITEDATABASE,ONTHEWEB,ORANYOTHERPERSISTENTSTORAGELOCATIONYOURAPPLICATIONCANACCESSTHROUGHTHECONTENTPROVIDER,OTHERAPPLICATIONSCANQUERYOREVENMODIFYTHEDATAIFTHECONTENTPROVIDERALLOWSITFOREXAMPLE,THEANDROIDSYSTEMPROVIDESACONTENTPROVIDERTHATMANAGESTHEUSERSCONTACTINFORMATIONASSUCH,ANYAPPLICATIONWITHTHEPROPERPERMISSIONSCANQUERYPARTOFTHECONTENTPROVIDERSUCHASCONTACTSCONTRACTDATATOREADANDWRITEINFORMATIONABOUTAPARTICULARPERSONCONTENTPROVIDERSAREALSOUSEFULFORREADINGANDWRITINGDATATHATISPRIVATETOYOURAPPLICATIONANDNOTSHAREDFOREXAMPLE,THENOTEPADSAMPLEAPPLICATIONUSESACONTENTPROVIDERTOSAVENOTESACONTENTPROVIDERISIMPLEMENTEDASASUBCLASSOFCONTENTPROVIDERANDMUSTIMPLEMENTASTANDARDSETOFAPISTHATENABLEOTHERAPPLICATIONSTOPERFORMTRANSACTIONSFORMOREINFORMATION,SEETHECONTENTPROVIDERSDEVELOPERGUIDEBROADCASTRECEIVERSABROADCASTRECEIVERISACOMPONENTTHATRESPONDSTOSYSTEMWIDEBROADCASTANNOUNCEMENTSMANYBROADCASTSORIGINATEFROMTHESYSTEMFOREXAMPLE,ABROADCASTANNOUNCINGTHATTHESCREENHASTURNEDOFF,THEBATTERYISLOW,ORAPICTUREWASCAPTUREDAPPLICATIONSCANALSOINITIATEBROADCASTSFOREXAMPLE,TOLETOTHERAPPLICATIONSKNOWTHATSOMEDATAHASBEENDOWNLOADEDTOTHEDEVICEANDISAVAILABLEFORTHEMTOUSEALTHOUGHBROADCASTRECEIVERSDONTDISPLAYAUSERINTERFACE,THEYMAYCREATEASTATUSBARNOTIFICATIONTOALERTTHEUSERWHENABROADCASTEVENTOCCURSMORECOMMONLY,THOUGH,ABROADCASTRECEIVERISJUSTA“GATEWAY“TOOTHERCOMPONENTSANDISINTENDEDTODOAVERYMINIMALAMOUNTOFWORKFORINSTANCE,ITMIGHTINITIATEASERVICETOPERFORMSOMEWORKBASEDONTHEEVENTABROADCASTRECEIVERISIMPLEMENTEDASASUBCLASSOFBROADCASTRECEIVERANDEACHBROADCASTISDELIVEREDASANINTENTOBJECTFORMOREINFORMATION,SEETHEBROADCASTRECEIVERCLASSAUNIQUEASPECTOFTHEANDROIDSYSTEMDESIGNISTHATANYAPPLICATIONCANSTARTANOTHERAPPLICATIONSCOMPONENTFOREXAMPLE,IFYOUWANTTHEUSERTOCAPTUREAPHOTOWITHTHEDEVICECAMERA,THERESPROBABLYANOTHERAPPLICATIONTHATDOESTHATANDYOURAPPLICATIONCANUSEIT,INSTEADOFDEVELOPINGANACTIVITYTOCAPTUREAPHOTOYOURSELFYOUDONTNEEDTOINCORPORATEOREVENLINKTOTHECODEFROMTHECAMERAAPPLICATIONINSTEAD,YOUCANSIMPLYSTARTTHEACTIVITYINTHECAMERAAPPLICATIONTHATCAPTURESAPHOTOWHENCOMPLETE,THEPHOTOISEVENRETURNEDTOYOURAPPLICATIONSOYOUCANUSEITTOTHEUSER,ITSEEMSASIFTHECAMERAISACTUALLYAPARTOFYOURAPPLICATIONWHENTHESYSTEMSTARTSACOMPONENT,ITSTARTSTHEPROCESSFORTHATAPPLICATIONIFITSNOTALREADYRUNNINGANDINSTANTIATESTHECLASSESNEEDEDFORTHECOMPONENTFOREXAMPLE,IFYOURAPPLICATIONSTARTSTHEACTIVITYINTHECAMERAAPPLICATIONTHATCAPTURESAPHOTO,THATACTIVITYRUNSINTHEPROCESSTHATBELONGSTOTHECAMERAAPPLICATION,NOTINYOURAPPLICATIONSPROCESSTHEREFORE,UNLIKEAPPLICATIONSONMOSTOTHERSYSTEMS,ANDROIDAPPLICATIONSDONTHAVEASINGLEENTRYPOINTTHERESNOMAINFUNCTION,FOREXAMPLEBECAUSETHESYSTEMRUNSEACHAPPLICATIONINASEPARATEPROCESSWITHFILEPERMISSIONSTHATRESTRICTACCESSTOOTHERAPPLICATIONS,YOURAPPLICATIONCANNOTDIRECTLYACTIVATEACOMPONENTFROMANOTHERAPPLICATIONTHEANDROIDSYSTEM,HOWEVER,CANSO,TOACTIVATEACOMPONENTINANOTHERAPPLICATION,YOUMUSTDELIVERAMESSAGETOTHESYSTEMTHATSPECIFIESYOURINTENTTOSTARTAPARTICULARCOMPONENTTHESYSTEMTHENACTIVATESTHECOMPONENTFORYOUACTIVATINGCOMPONENTSTHREEOFTHEFOURCOMPONENTTYPESACTIVITIES,SERVICES,ANDBROADCASTRECEIVERSAREACTIVATEDBYANASYNCHRONOUSMESSAGECALLEDANINTENTINTENTSBINDINDIVIDUALCOMPONENTSTOEACHOTHERATRUNTIMEYOUCANTHINKOFTHEMASTHEMESSENGERSTHATREQUESTANACTIONFROMOTHERCOMPONENTS,WHETHERTHECOMPONENTBELONGSTOYOURAPPLICATIONORANOTHERANINTENTISCREATEDWITHANINTENTOBJECT,WHICHDEFINESAMESSAGETOACTIVATEEITHERASPECIFICCOMPONENTORASPECIFICTYPEOFCOMPONENTANINTENTCANBEEITHEREXPLICITORIMPLICIT,RESPECTIVELYFORACTIVITIESANDSERVICES,ANINTENTDEFINESTHEACTIONTOPERFORMFOREXAMPLE,TO“VIEW“OR“SEND“SOMETHINGANDMAYSPECIFYTHEURIOFTHEDATATOACTONAMONGOTHERTHINGSTHATTHECOMPONENTBEINGSTARTEDMIGHTNEEDTOKNOWFOREXAMPLE,ANINTENTMIGHTCONVEYAREQUESTFORANACTIVITYTOSHOWANIMAGEORTOOPENAWEBPAGEINSOMECASES,YOUCANSTARTANACTIVITYTORECEIVEARESULT,INWHICHCASE,THEACTIVITYALSORETURNSTHERESULTINANINTENTFOREXAMPLE,YOUCANISSUEANINTENTTOLETTHEUSERPICKAPERSONALCONTACTANDHAVEITRETURNEDTOYOUTHERETURNINTENTINCLUDESAURIPOINTINGTOTHECHOSENCONTACTFORBROADCASTRECEIVERS,THEINTENTSIMPLYDEFINESTHEANNOUNCEMENTBEINGBROADCASTFOREXAMPLE,ABROADCASTTOINDICATETHEDEVICEBATTERYISLOWINCLUDESONLYAKNOWNACTIONSTRINGTHATINDICATES“BATTERYISLOW“THEOTHERCOMPONENTTYPE,CONTENTPROVIDER,ISNOTACTIVATEDBYINTENTSRATHER,ITISACTIVATEDWHENTARGETEDBYAREQUESTFROMACONTENTRESOLVERTHECONTENTRESOLVERHANDLESALLDIRECTTRANSACTIONSWITHTHECONTENTPROVIDERSOTHATTHECOMPONENTTHATSPERFORMINGTRANSACTIONSWITHTHEPROVIDERDOESNTNEEDTOANDINSTEADCALLSMETHODSONTHECONTENTRESOLVEROBJECTTHISLEAVESALAYEROFABSTRACTIONBETWEENTHECONTENTPROVIDERANDTHECOMPONENTREQUESTINGINFORMATIONFORSECURITYTHEREARESEPARATEMETHODSFORACTIVATINGEACHTYPEOFCOMPONENTYOUCANSTARTANACTIVITYORGIVEITSOMETHINGNEWTODOBYPASSINGANINTENTTOSTARTACTIVITYORSTARTACTIVITYFORRESULTWHENYOUWANTTHEACTIVITYTORETURNARESULTYOUCANSTARTASERVICEORGIVENEWINSTRUCTIONSTOANONGOINGSERVICEBYPASSINGANINTENTTOSTARTSERVICEORYOUCANBINDTOTHESERVICEBYPASSINGANINTENTTOBINDSERVICEYOUCANINITIATEABROADCASTBYPASSINGANINTENTTOMETHODSLIKESENDBROADCAST,SENDORDEREDBROADCAST,ORSENDSTICKYBROADCASTYOUCANPERFORMAQUERYTOACONTENTPROVIDERBYCALLINGQUERYONACONTENTRESOLVERFORMOREINFORMATIONABOUTUSINGINTENTS,SEETHEINTENTSANDINTENTFILTERSDOCUMENTMOREINFORMATIONABOUTACTIVATINGSPECIFICCOMPONENTSISALSOPROVIDEDINTHEFOLLOWINGDOCUMENTSACTIVITIES,SERVICES,BROADCASTRECEIVERANDCONTENTPROVIDERSDECLARINGCOMPONENTSTHEPRIMARYTASKOFTHEMANIFESTISTOINFORMTHESYSTEMABOUTTHEAPPLICATIONSCOMPONENTSFOREXAMPLE,AMANIFESTFILECANDECLAREANACTIVITYASFOLLOWSINTHEELEMENT,THEANDROIDICONATTRIBUTEPOINTSTORESOURCESFORANICONTHATIDENTIFIESTHEAPPLICATIONINTHEELEMENT,THEANDROIDNAMEATTRIBUTESPECIFIESTHEFULLYQUALIFIEDCLASSNAMEOFTHEACTIVITYSUBCLASSANDTHEANDROIDLABELATTRIBUTESSPECIFIESASTRINGTOUSEASTHEUSERVISIBLELABELFORTHEACTIVITYYOUMUSTDECLAREALLAPPLICATIONCOMPONENTSTHISWAYELEMENTSFORACTIVITIESELEMENTSFORSERVICESELEMENTSFORBROADCASTRECEIVERSELEMENTSFORCONTENTPROVIDERSACTIVITIES,SERVICES,ANDCONTENTPROVIDERSTHATYOUINCLUDEINYOURSOURCEBUTDONOTDECLAREINTHEMANIFESTARENOTVISIBLETOTHESYSTEMAND,CONSEQUENTLY,CANNEVERRUNHOWEVER,BROADCASTRECEIVERSCANBEEITHERDECLAREDINTHEMANIFESTORCREATEDDYNAMICALLYINCODEASBROADCASTRECEIVEROBJECTSANDREGISTEREDWITHTHESYSTEMBYCALLINGREGISTERRECEIVERDECLARINGCOMPONENTCAPABILITIESASDISCUSSEDABOVE,INACTIVATINGCOMPONENTS,YOUCANUSEANINTENTTOSTARTACTIVITIES,SERVICES,ANDBROADCASTRECEIVERSYOUCANDOSOBYEXPLICITLYNAMINGTHETARGETCOMPONENTUSINGTHECOMPONENTCLASSNAMEINTHEINTENTHOWEVER,THEREALPOWEROFINTENTSLIESINTHECONCEPTOFINTENTACTIONSWITHINTENTACTIONS,YOUSIMPLYDESCRIBETHETYPEOFACTIONYOUWANTTOPERFORMANDOPTIONALLY,THEDATAUPONWHICHYOUDLIKETOPERFORMTHEACTIONANDALLOWTHESYSTEMTOFINDACOMPONENTONTHEDEVICETHATCANPERFORMTHEACTIONANDSTARTITIFTHEREAREMULTIPLECOMPONENTSTHATCANPERFORMTHEACTIONDESCRIBEDBYTHEINTENT,THENTHEUSERSELECTSWHICHONETOUSETHEWAYTHESYSTEMIDENTIFIESTHECOMPONENTSTHATCANRESPONDTOANINTENTISBYCOMPARINGTHEINTENTRECEIVEDTOTHEINTENTFILTERSPROVIDEDINTHEMANIFESTFILEOFOTHERAPPLICATIONSONTHEDEVICEWHENYOUDECLAREACOMPONENTINYOURAPPLICATIONSMANIFEST,YOUCANOPTIONALLYINCLUDEINTENTFILTERSTHATDECLARETHECAPABILITIESOFTHECOMPONENTSOITCANRESPONDTOINTENTSFROMOTHERAPPLICATIONSYOUCANDECLAREANINTENTFILTERFORYOURCOMPONENTBYADDINGANELEMENTASACHILDOFTHECOMPONENTSDECLARATIONELEMENTFOREXAMPLE,ANEMAILAPPLICATIONWITHANACTIVITYFORCOMPOSINGANEWEMAILMIGHTDECLAREANINTENTFILTERINITSMANIFESTENTRYTORESPONDTO“SEND“INTENTSINORDERTOSENDEMAILANACTIVITYINYOURAPPLICATIONCANTHENCREATEANINTENTWITHTHE“SEND”ACTIONACTION_SEND,WHICHTHESYSTEMMATCHESTOTHEEMAILAPPLICATIONS“SEND”ACTIVITYANDLAUNCHESITWHENYOUINVOKETHEINTENTWITHSTARTACTIVITYFORMOREABOUTCREATINGINTENTFILTERS,SEETHEINTENTSANDINTENTFILTERSDOCUMENTDECLARINGAPPLICATIONREQUIREMENTSTHEREAREAVARIETYOFDEVICESPOWEREDBYANDROIDANDNOTALLOFTHEMPROVIDETHESAMEFEATURESANDCAPABILITIESINORDERTOPREVENTYOURAPPLICATIONFROMBEINGINSTALLEDONDEVICESTHATLACKFEATURESNEEDEDBYYOURAPPLICATION,ITSIMPORTANTTHATYOUCLEARLYDEFINEAPROFILEFORTHETYPESOFDEVICESYOURAPPLICATIONSUPPORTSBYDECLARINGDEVICEANDSOFTWAREREQUIREMENTSINYOURMANIFESTFILEMOSTOFTHESEDECLARATIONSAREINFORMATIONALONLYANDTHESYSTEMDOESNOTREADTHEM,BUTEXTERNALSERVICESSUCHASGOOGLEPLAYDOREADTHEMINORDERTOPROVIDEFILTERINGFORUSERSWHENTHEYSEARCHFORAPPLICATIONSFROMTHEIRDEVICEFOREXAMPLE,IFYOURAPPLICATIONREQUIRESACAMERAANDUSESAPISINTRODUCEDINANDROID21APILEVEL7,YOUSHOULDDECLARETHESEASREQUIREMENTSINYOURMANIFESTFILETHATWAY,DEVICESTHATDONOTHAVEACAMERAANDHAVEANANDROIDVERSIONLOWERTHAN21CANNOTINSTALLYOURAPPLICATIONFROMGOOGLEPLAYHOWEVER,YOUCANALSODECLARETHATYOURAPPLICATIONUSESTHECAMERA,BUTDOESNOTREQUIREITINTHATCASE,YOURAPPLICATIONMUSTPERFORMACHECKATRUNTIMETODETERMINEIFTHEDEVICEHASACAMERAANDDISABLEANYFEATURESTHATUSETHECAMERAIFONEISNOTAVAILABLEHEREARESOMEOFTHEIMPORTANTDEVICECHARACTERISTICSTHATYOUSHOULDCONSIDERASYOUDESIGNANDDEVELOPYOURAPPLICATIONSCREENSIZEANDDENSITYINORDERTOCATEGORIZEDEVICESBYTHEIRSCREENTYPE,ANDROIDDEFINESTWOCHARACTERISTICSFOREACHDEVICESCREENSIZETHEPHYSICALDIMENSIONSOFTHESCREENANDSCREENDENSITYTHEPHYSICALDENSITYOFTHEPIXELSONTHESCREEN,ORDPIDOTSPERINCHTOSIMPLIFYALLTHEDIFFERENTTYPESOFSCREENCONFIGURATIONS,THEANDROIDSYSTEMGENERALIZESTHEMINTOSELECTGROUPSTHATMAKETHEMEASIERTOTARGETTHESCREENSIZESARESMALL,NORMAL,LARGE,ANDEXTRALARGETHESCREENDENSITIESARELOWDENSITY,MEDIUMDENSITY,HIGHDENSITY,ANDEXTRAHIGHDENSITYBYDEFAULT,YOURAPPLICATIONISCOMPATIBLEWITHALLSCREENSIZESANDDENSITIES,BECAUSETHEANDROIDSYSTEMMAKESTHEAPPROPRIATEADJUSTMENTSTOYOURUILAYOUTANDIMAGERESOURCESHOWEVER,YOUSHOULDCREATESPECIALIZEDLAYOUTSFORCERTAINSCREENSIZESANDPROVIDESPECIALIZEDIMAGESFORCERTAINDENSITIES,USINGALTERNATIVELAYOUTRESOURCES,ANDBYDECLARINGINYOURMANIFESTEXACTLYWHICHSCREENSIZESYOURAPPLICATIONSUPPORTSWITHTHEELEMENTFORMOREINFORMATION,SEETHESUPPORTINGMULTIPLESCREENSDOCUMENTINPUTCONFIGURATIONSMANYDEVICESPROVIDEADIFFERENTTYPEOFUSERINPUTMECHANISM,SUCHASAHARDWAREKEYBOARD,ATRACKBALL,ORAFIVEWAYNAVIGATIONPADIFYOURAPPLICATIONREQUIRESAPARTICULARKINDOFINPUTHARDWARE,THENYOUSHOULDDECLAREITINYOURMANIFESTWITHTHEELEMENTHOWEVER,ITISRARETHATANAPPLICATIONSHOULDREQUIREACERTAININPUTCONFIGURATIONDEVICEFEATURESTHEREAREMANYHARDWAREANDSOFTWAREFEATURESTHATMAYORMAYNOTEXISTONAGIVENANDROIDPOWEREDDEVICE,SUCHASACAMERA,ALIGHTSENSOR,BLUETOOTH,ACERTAINVERSIONOFOPENGL,ORTHEFIDELITYOFTHETOUCHSCREENYOUSHOULDNEVERASSUMETHATACERTAINFEATUREISAVAILABLEONALLANDROIDPOWEREDDEVICESOTHERTHANTHEAVAILABILITYOFTHESTANDARDANDROIDLIBRARY,SOYOUSHOULDDECLAREANYFEATURESUSEDBYYOURAPPLICATIONWITHTHEELEMENTPLATFORMVERSIONDIFFERENTANDROIDPOWEREDDEVICESOFTENRUNDIFFERENTVERSIONSOFTHEANDROIDPLATFORM,SUCHASANDROID16ORANDROID23EACHSUCCESSIVEVERSIONOFTENINCLUDESADDITIONALAPISNOTAVAILABLEINTHEPREVIOUSVERSIONINORDERTOINDICATEWHICHSETOFAPISAREAVAILABLE,EACHPLATFORMVERSIONSPECIFIESANAPILEVELFOREXAMPLE,ANDROID10ISAPILEVEL1ANDANDROID23ISAPILEVEL9IFYOUUSEANYAPISTHATWEREADDEDTOTHEPLATFORMAFTERVERSION10,YOUSHOULDDECLARETHEMINIMUMAPILEVELINWHICHTHOSEAPISWEREINTRODUCEDUSINGTHEELEMENTITSIMPORTANTTHATYOUDECLAREALLSUCHREQUIREMENTSFORYOURAPPLICATION,BECAUSE,WHENYOUDISTRIBUTEYOURAPPLICATIONONGOOGLEPLAY,THESTOREUSESTHESEDECLARATIONSTOFILTERWHICHAPPLICATIONSAREAVAILABLEONEACHDEVICEASSUCH,YOURAPPLICATIONSHOULDBEAVAILABLEONLYTODEVICESTHATMEETALLYOURAPPLICATIONREQUIREMENTSFORMOREINFORMATIONABOUTHOWGOOGLEPLAYFILTERSAPPLICATIONSBASEDONTHESEANDOTHERREQUIREMENTS,SEETHEFILTERSONGOOGLEPLAYDOCUMENTAPPLICATIONRESOURCESANANDROIDAPPLICATIONISCOMPOSEDOFMORETHANJUSTCODEITREQUIRESRESOURCESTHATARESEPARATEFROMTHESOURCECODE,SUCHASIMAGES,AUDIOFILES,ANDANYTHINGRELATINGTOTHEVISUALPRESENTATIONOFTHEAPPLICATIONFOREXAMPLE,YOUSHOULDDEFINEANIMATIONS,MENUS,STYLES,COLORS,ANDTHELAYOUTOFACTIVITYUSERINTERFACESWITHXMLFILESUSINGAPPLICATIONRESOURCESMAKESITEASYTOUPDATEVARIOUSCHARACTERISTICSOFYOURAPPLICATIONWITHOUTMODIFYINGCODEANDBYPROVIDINGSETSOFALTERNATIVERESOURCESENABLESYOUTOOPTIMIZEYOURAPPLICATIONFORAVARIETYOFDEVICECONFIGURATIONSSUCHASDIFFERENTLANGUAGESANDSCREENSIZESFOREVER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024保密标准协议
- 2024年半硬质泡沫塑料合作协议书
- 2024上海汽车租赁合同范本
- 2024供暖供气施工合同
- 2024年工程机械专用油项目合作计划书
- 2024年绿色建筑项目合作计划书
- 2024劳动合同及劳动保护
- 2024二手房垫资协议
- 2024内外墙粉刷承包合同范本
- 2024催收保密协议
- 计算机组成原理 24春江苏开放大学考试资料答案
- 2024年企业借款合同参考样本(三篇)
- 2024-2030年中国玻璃钢行业市场发展现状及投资与发展前景研究报告
- 海南师范大学公开招聘紧缺专业教师、辅导员、实验员、教辅人员等76人公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 解除劳动合同证明范本
- (正式版)JTT 1497-2024 公路桥梁塔柱施工平台及通道安全技术要求
- GB/T 43855-2024衣物洗涤质量要求
- CIA内部审计师《科目1:内部审计基础》模拟试卷三(含答案)
- 2024-企业常年法律顾问服务合同范本
- 2024年安全生产月“人人讲安全 个个会应急-畅通生命通道”主题宣贯培训课件
- 黑布林英语 Can I play阅读课件
评论
0/150
提交评论