




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android移动应用开发,中智讯(武汉)科技有限公司,Android移动操作系统Android应用框架和组件创建Android应用工程Android应用工程解析,初识Android,Android是Google公司在2007年11月宣布的基于Linux平台的开源手机操作系统,早期由Google开发,后由开放手持设备联盟(OpenHandsetAlliance)开发。Android采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分:底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机VirtualMachine,由C+开发;最上层是各种应用软件,包括通话程序,短信程序等,应用软件由各公司自行开发,以Java作为编写程序的一部分。,简单的理解:Android是基于Java并运行在Linux内核上的轻量级的操作系统,它是轻量级,但功能很全面。并内置了很多软件,如打电话,发短信等。,Android系统版本历史,2008.09.23第一个版本Android1.0,2009.04.30CupcakeAndroid1.5,2009.09.15DonutAndroid1.6,2009.10.26clairAndroid2.0,2010.05.20FroyoAndroid2.2,2010.12.06GingerbreadAndroid2.3,2011.02.22HoneycombAndroid3.0,2011.10.19IceCreamSandwichAndroid4.0,2012.6.28JellyBeanAndroid4.1,2014.10.15LollipopAndroid5.0/5.1,2013.9.3KitKatAndroid4.4,2015.5.28MarshmallowAndroid6.0,2016.8.22NougatAndroid7.0,2017.Q3?Android8.0,Android移动操作系统Android应用框架和组件创建Android应用工程Android应用工程解析,Android应用框架,Android通过一个开放的开发平台,给开发人员在创建极为丰富创新性的应用程序上提供了有力的支持。开发者拥有使用相同的框架API访问核心应用程序的全部权利。应用程序架构旨在简化组件的重用。,Android应用框架,提供Android平台基本的管理功能和组件重用机制ActivityManager(活动管理器)管理应用程序的生命周期,并提供一个导航使用的共同的返回栈WindowManager(窗口管理器):对窗口进行控制ContentProviders(内容提供者):使应用程序能够访问其他应用程序的数据(如通讯录)或共享自己的数据ViewSystem(视图系统):丰富而又可以扩展的视图(View),可以用来构建应用程序,包括列表(ListView),网格(GridView),文本(TextView)可编辑文本框(EditView),按钮(Button)等,甚至可以嵌入的Web浏览器,Android应用框架,提供Android平台基本的管理功能和组件重用机制PackageManager(包管理器):Android系统内的程序管理TelephonyManager:获取与手机通讯相关的状态和信息ResourceManager(资源管理器):提供非代码资源的访问,如本地化的字符串、图形、和布局文件LocationManager(定位管理器):可获取手机当前所处的地理位置NotificationManager(通知管理器):应用可以在状态栏中显示自定义的提示信息,Android组件,ActivityActivity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件Android应用程序可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动在界面上的表现形式:全屏窗体,非全屏悬浮窗体,对话框,我是整个应用程序的门面,当然要长得漂亮啦。我主要负责应用程序当中的数据的展示!,Android组件,ServiceService用于没有用户界面,但需要长时间在后台运行的应用,我是Android里面的劳动模范,你们虽然看不到我,但是我却承担着大部分数据处理的工作!,Android组件,BroadcaseReceiverBroadcaseReceiver是用来接受并响应广播消息的组件不包含任何用户界面可以通过启动Activity或者Notification通知用户接收到重要信息(Notification能够通过多种方法提示用户,包括闪动背景灯、震动设备、发出声音或在状态栏上放置一个持久的图标)。,我是Android里面的广播喇叭,有什么消息新闻,我都会即使传达出去!,Android组件,ContentProviderContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过ContentProvider访问其他应用程序的私有数据私有数据可以是存储在文件系统中的文件,也可以是SQLite中的数据库Android系统内部也提供一些内置的ContentProvider,能够为应用程序提供重要的数据信息,我是Android王国的国家档案馆,我负责存储数据,并允许有需要的应用程序访问这些数据。,Android组件,IntentIntent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。,我是运输大队长,应用程序当中所有的数据都要通过我来传递!,Android移动操作系统Android应用框架和组件创建Android应用工程Android应用工程解析,新建工程HelloWorld,运行EclipseIDE,新建一个Android工程:File-New-Others,在弹出的界面中,选择Androidproject。填写工程的信息:ProjectName-显示在IDE中工程的名字BuildTargetAndroidSDK版本ApplicationName-应用运行后显示的名字PackageName-源码中包的名字ActivityName-源码中java文件的名字编码实现;调试运行。,新建工程HelloWorld,界面信息说明如下:AppicationName:HelloWorld#应用程序的名称,将在程序的标题栏显示ProjectName:HelloWorld#工程的名称PackageName:com.example.helloworld#包名MinimumRequiredSDK:API14:Android4.0#所支持的最小SDK版本TargetSDK:API19:Android4.4#程序目标SDK版本CompileWith:API19:Android4.4#编译器版本,一般与Target一致Theme:None,HelloWorld工程,运行虚拟机,在Eclipse菜单栏,选择Window-AVDManager,创建虚拟机,并运行Device:7WSVGA(Tablet)(1024*600mdpi)Target:Android4.4.2Skin:NoskinMemoryOption:RAM(1024)VMHeap(64),编译运行HelloWorld工程,待虚拟机启动进入到Android系统后,选择HelloWorld工程,右键单击,弹出菜单选择RunAs-AndroidApplication;HelloWorld程序将在虚拟机中运行,并打印消息。,编译运行HelloWorld工程,Android移动操作系统Android应用框架和组件创建Android应用工程Android应用工程解析,Android工程结构,JAVA源文件,Android-4.4SDK库文件,编译生成的文件,放置应用程序用到的资源文件,放置图片资源,布局设计文件,存放字符串,颜色,尺寸等配置文件,应用程序的配置文件,记录SDK版本信息,MainActivity.java,packagecom.example.helloworld;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.Menu;publicclassMainActivityextendsActivityOverrideprotectedvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);OverridepublicbooleanonCreateOptionsMenu(Menumenu)/Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;,res-layout-activity_main.xml,res-values-strings.xml,HelloWorldHelloworld!Settings,gen-R.java,packagecom.example.helloworld;publicfinalclassR.publicstaticfinalclassdrawablepublicstaticfinalintic_launcher=0 x7f020000;publicstaticfinalclasslayoutpublicstaticfinalintactivity_main=0 x7f030000;publicstaticfinalclassmenupublicstaticfinalintmain=0 x7f070000;publicstaticfinalclassstringpublicstaticfinalintaction_settings=0 x7f050002;publicstaticfinalintapp_name=0 x7f050000;publicstaticfinalinthello_world=0 x7f050001;,AndroidManifest.xml文件,AndroidManifest.xml是每一个应用都需要的文件,位于应用根目录下,它描述了程序包的全局变量,包括暴露的应用组件(activities,services等等)和为每个组件的实现类,什么样的数据可以操作,以及在什么地方运行。主要包括以下各个元素:包名(package):指定本应用内java主程序包的包名。当没有指定apk的文件名时,编译后产生程序包将以此命名。本包名应当在Android系统运行时唯一。认证(certificate):指定本应用程序所授予的信任级别,目前有的认证级别有platform(system)、shared、media以及应用自定义的认证。不同的认证可以享受不同的权限。权限(permission/permission-group/permission-tree/uses-permission):权限用来描述是否拥有做某件事的权力。SDK(uses-sdk):标识本应用运行的SDK版本。application:application:是Android应用内最高级别(toplevel)的模块,每个应用内最多只能有一个application,如果应用没有指定该模块,一个默认的application将被启用。application将在应用启动时最先被加载,并存活在应用的整个运行时生命周期。,AndroidManifest.xml文件结构大纲,文件根节点,描述了程序包的所有内容.请求一个安全授权,必须被授予该权限,您的程序包才能正确的操作.0N声明一个安全授权,用来限制哪些应用可以访问您的程序包内的组件和特有机制.0N描述程序包内应用级别组件的根节点.该节点能够描述应用程序的全局(和/或)默认属性,例如标签,图标,主题,需要的授权,等等.包含零个或一个这样的节点Activity是应用于用户交互的最主要机制.当一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集体五一活动方案
- 邯郸市丰富多彩活动方案
- 锅炉电工考试题及答案
- 古代导游考试题及答案
- 环境噪声污染治理措施承诺书7篇范文
- 客户服务回访标准化操作流程
- 肺炎护理考试题及答案
- 放射读片考试题及答案
- 防护外电考试题及答案
- (正式版)DB1501∕T 0010-2020 《老年公寓护理服务规范》
- 电脑组装教学课件
- 乡土资源融入农村小学作文教学:以石亭小学为样本的探索与实践
- 乌饭叶干燥色素萃取及应用特性的多维度探究
- 全球降龙涎香醚行业供应前景及未来趋势展望报告
- 产品尾数管理制度
- 人保农险理赔员考试题及答案
- JG/T 328-2011建筑装饰用石材蜂窝复合板
- 护理操作授权管理制度
- T/CECS 10271-2023不锈钢分水器
- 工程项目廉洁培训
- 职业技术学院《宠物临床诊断技术》课程标准
评论
0/150
提交评论