android开发与架构设计解析_第1页
android开发与架构设计解析_第2页
android开发与架构设计解析_第3页
android开发与架构设计解析_第4页
android开发与架构设计解析_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Android体系结构,1,体系结构图直观2,体系结构详细信息2.1,Linux Kernel 2.1,Android Runtime 2.3,Libraries 2.4,应用程序框架2.5,体系结构详细信息此外,Linux Kernel是硬件和软件之间的抽象层,它隐藏了具体的硬件详细信息,并提供了集成到更高层的服务。了解OSI/RM后,分层的好处是使用较低层提供的服务在较高层提供整合服务。封锁此层次和下一层次的差异,不会影响父层次。也就是说,每个层都有自己的角色,每个层都提供固定的服务访问点(SAP),专业点可以称为高内部聚合、低组合。2.2、Android Runtime Android包

2、含核心库的集合,该集合提供了大多数Java编程语言核心类库中提供的功能。每个Android应用程序都是Dalvik虚拟机的一个实例,在自己的进程中运行。Dalvik虚拟机旨在在一个设备上高效运行多个虚拟机。Dalvik虚拟机可执行文件格式是为Dalvik设计的压缩格式,适用于内存和处理器速度有限的系统。是dex。大多数虚拟机(包括JVM)基于堆栈,而Dalvik虚拟机基于寄存器。两种体系结构都有优缺点。一般来说,基于堆栈的系统需要更多的指令,基于寄存器的机器指令更大。Dx是Java .将class设置为.转换为dex格式的工具集。一个dex文件通常包含多个.存在class。有时需要优化Dex,

3、因此文件大小将增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖Linux内核提供线程和基本内存管理等基本功能。2.3,Libraries Android包含用于Android系统各个组件的C/C库集合。这些功能通过Android的应用程序框架向开发人员公开。部分内核库包括:系统c库标准c系统库(libc)的BSD衍生,与嵌入式Linux设备媒体库PacketVideo式OpenCORE协调。这些库是二维和三维图形层LibWebCore新的web浏览器引擎、Android浏览器和嵌入式web视图SGL本机2D图形引擎3D库OpenGL,它无缝地组合了MPEG4、H.264、MP3、AAC、A

4、MR、JPG、PNG接口管理访问显示子系统和多个应用程序库使用功能强大、轻量的关系数据库引擎,适用于使用硬件3D加速或渲染包含高度优化的3D软件光栅(FreeType位图和矢量字体)的SQLite的任何应用程序。2.4,Application Framework提供了开放式开发平台,Android使开发人员能够创建非常丰富、新颖的应用程序。开发人员可以访问设备硬件优势、位置信息、运行后台服务、设置闹钟开发人员可以完全使用核心应用程序中使用的框架APIs。应用程序的体系结构旨在允许任何应用程序发布其功能,并简化所有其他应用程序都可以使用的组件的重复使用(需要遵守框架执行的安全限制)。此机制允许用

5、户替换组件。所有应用程序都是服务和系统组,包含视图(View)的丰富、可扩展视图的集合,您可以实际使用这些视图构建应用程序。您可以从应用程序(包括列表、网格、文本框、按钮和嵌入式web浏览器内容提供方)中访问地址簿等其他应用程序中的数据,也可以共享您自己的数据资源管理器以访问郑智薰代码资源。所有应用程序(如本地化字符串、图形和布局文件通知管理器)在状态栏中显示自定义警报活动管理器管理应用程序的生命周期,提供常规的导航回退功能,2.5,Applications Android为e-line-Applications Android所有应用程序都是用Java编程语言编写的。环境实施和HelloWo

6、rld,1、环境实施1.1、JDK安装1.2、Eclipse安装1.3、Android SDK安装1.4、ADT安装1.5、创建AVD 2、HelloWorld,1、设置环境变量的步骤如下:a .将以下环境变量添加到“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”中:B. JAVA_HOME值为:d : program filesavaJDK 1 . 6 . 0 _ 18(安装JDK的目录)C. CLASSPATH值为:% JAVA _ HOME % libtools.jar% JAVA _ HOME % lib dt . jar;% JAVA _ HOME % binD.Path

7、:开始添加%JAVA_HOME%bin。NOTE:前四阶段环境变量设置不是构建Android开发环境的必要条件,可以跳过。安装完成后,您可以确认JDK已成功安装。打开Cmd窗口,然后输入Java version以查看JDK的版本信息。如下图所示的屏幕显示后,如果在安装Eclipse时没有Eclipse,则可以先下载win 32位版本的Eclipse ide for Java developers(92m),如下图所示。解压缩后即可使用。1.3,将Android SDK下载到Android Developers中,下载android-sdk_r05-windows.zip,然后将其解压缩到任意路

8、径。运行SDK Setup.exe,然后单击Available Packages。如果未显示要安装的软件包,请单击Settings,然后在Misc上单击Force https:/.然后单击Available Packages。选择要安装的SDK及其文档或其他程序包,然后单击Installation Selected、Accept All、Install Accepted开始下载选定的程序包。用户变量中的新PATH值是Android SDK的tools绝对路径(默认情况下为d : Android developer droid-SDK-windows top ols)。,在“确定”后重新启动计算

9、机。重新启动计算机后,进入cmd命令窗口,验证是否成功安装了SDK。运行Android h 1.4,打开ADT安装Eclipse IDE,然后从菜单中选择Help-Install New Software Add.单击按钮后,您必须在弹出对话框中输入Name和Location:Name。输入Location http:/dl-并决定返回后,从work with后面的下拉列表中选择刚才添加的ADT,将出现Developer Tools,展开后将显示Android DDMS和Android Development Tool。完成:Window Preferences,如图所示.在左侧面板中选择“A

10、ndroid”,然后在右侧浏览.单击,然后选择SDK路径。默认情况下,单击d : andriddevelopaid-SDK-windows Apply,OK。配置完成。1.5,要在模拟器上运行AVD创作Android应用程序,必须创建AVD。a,在Eclipse中。选择Windows Android SDK和avd manager b,单击左侧面板中的Virtual Devices,然后单击右侧的New c,填写名称并选择Target的API、SD卡大小和Skin。Hardware当前保留默认值d。单击Create AVD完成AVD创建。单击左侧面板中的Virtual Devices,然后单击

11、右侧窗格中的New,如果在target下拉列表中无法选择,则a)单击左侧面板中的Available Packages。如果在右侧选择https:/dl- b,然后单击Install Selected按钮,则1.3,安装Android SDK所需的可用程序包未安装,您可以执行这两个步骤。2,helloworld,a. File-New-Project菜单,构建新项目Android Project b,然后填写必要的参数,如下图所示。(在此,您将看到已选择Google APIs。您可以选择喜欢的,但必须创建合适的avd。),单击C. Finish,然后单击Eclipse Run菜单并选择Run C

12、onfigurations d。选择“Android Application”,然后单击左上角(按钮在一张纸上有“”)或双击“Android Application”。“New_configuration”(新_配置)是一个新选项,您可以更改我们喜欢的名称。e .在右侧Android面板中,单击Browse,在helloworld,F. Target面板中的Automatic下检查其AVD;如果没有可用的AVD,则必须单击右下角的Manager,然后创建新的AVD。如果您按一下,g .然后按一下Run按钮,则Android的emulator介面会在执行成功时出现,如下图所示。相关参数的说明:A

13、. Project Name:包含此项目的文件夹名称。B. Package Name:软件包名称、JAVA规范,并通过软件包名称区分徐璐其他类,这一点很重要。使用helloworld.test。C. Activity Name:项目的默认类名称。此类成为Android的Activity类的子类。Activity类是启动和控制程序的简单类。可以根据需要创建界面,但这不是必需的。d .应用程序名称:易于阅读的标题位于应用程序中。e .选择栏中的“使用默认位置”(Use default location)选项允许您选取已存在的项目。HelloWorld项目的目录结构、1、HelloWorld项目的目

14、录结构1.1、src文件夹1.2、gen文件夹1.3、Android 2.1文件夹1.4、assets 1.5、RES文件夹1.6、Android manage打开HelloWorld.java文件时,将显示以下代码:package helloworld.testimport Android . app . activity;import Android . OS . bundle;public class hello world extends activity/* * called when the activity is first created .*/override public

15、void on create(bundle savedinstancesestate)super . on create(savedinstancesestate);SetContentView(r . layout . main);可以知道。我们新建了一个简单的HelloWorld项目,系统为我们生成了HelloWorld.java文件。他导入了两个android.app.Activity和android.os.Bundle类。HelloWorld类继承自Activity,并重写了onCreate方法。以下准则可以帮助您在Override重写超类的onCreate时,在方法之前添加Overr

16、ide系统,以帮助您验证方法的准确性,前提是您没有学习Java或Java基础较弱的人。例如,public void oncreate是bundle savedinstancesestate。编写public void on create(bundle saved instancate)时,编译器返回以下错误:the method on create(bundle)of type hello world must override or implement(onCreate必须为oncreate),如果不添加Override,编译器不会检测到错误,并将oncreate、android.app.Activity类视为新定义的类。由于几乎所有活动(activities)都与用户交互,因此Activity类可以将焦点放在合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论