Android基础知识介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Android基础知识介绍版本时间修订部门作者审核更改记录V1.002012-7-10软件部高辉创建1.Android的架构..............................................................................................................................31.1LinuxKernel.......................................................................................................................31.2AndroidRuntime.................................................................................................................31.3Libraries..............................................................................................................................41.4ApplicationFramework.......................................................................................................41.5Application..........................................................................................................................42.AndroidApplication.......................................................................................................................42.1Activity................................................................................................................................52.2Intent...................................................................................................................................82.3Service...............................................................................................................................142.4BroadcastReceiver...........................................................................................................162.5ContentProvider...............................................................................................................183.AndroidManifest.xml文件介绍..................................................................................................214.编译环境......................................................................................................................................235.Android的代码目录....................................................................................................................256.编译命令......................................................................................................................................277.查看编译log..............................................................................................................................278.生成的目标文件..........................................................................................................................27Android基础知识介绍Android是基于Linux平台的手机操作系统平台。该平台由操作系统,中间件,用户界面,应用软件等组成。底层以Linux内核工作为基础,由C语言开发,只提供基本功能。中间层包含函数库Library和虚拟机,由C++开发。昀上层是各种应用软件,包括通话,短信等,主要由java编写。整个系统号称是首个为移动终端打造的真正开放和完整的移动手机软件。1.Android的架构Android系统架构由5部分组成,分别是LinuxKernel,AndroidRuntime,Libraries,ApplicationFramework,Application。下图显示的是Android操作系统的主要组件:1.1LinuxKernelAndroid是基于Linux提供核心的系统服务,比如安全,内存管理,进程管理,网络,驱动模型等。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节来为上层提供统一的服务。1.2AndroidRuntimeAndroid包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序都是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为.dex(即DalvikExecutable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行。Dalvik虚拟机依赖于Linux内核提供的基本功能,如线程和内存管理等。1.3LibrariesAndroid也包含了一个C/C++库的集合,供系统的各个组件使用。这些功能通过Android的应用程序框架暴露给开发者。下面列出了一些核心库Libc:标准C系统库衍生过来,适用于嵌入式Linux设备。SurfaceManager:无缝显示多个应用程序中的二维和三维图形层。媒体库:支持录制和播放各种格式的音频和视频,比如H.264,Mp3等。WebKit:Web浏览器引擎,驱动Android浏览器和内嵌的Web视图。SGL:基本的2D图形引擎。OpenGL:3D库,使用硬件3D加速或者高度优化的软件3D加速。FreeType:矢量字体SQLitet:数据库引擎1.4ApplicationFramework主要给开发者提供一些核心组件API。ApplicationFramework的体系结构旨在简化组件的重用。视图:可用于构建应用程序,包含列表,网络,文本框,按钮等。ContentProvider:数据库的包装,使应用程序能访问别的应用程序的数据,或者共享自己的数据。ResourceManager:提供访问非代码资源,比如字符串,图形,布局文件等。Notification:可以在状态栏显示各种警告通知等。Activity:管理应用程序的生命周期,管理各个界面的显示。1.5ApplicationAndroid默认配备了一些应用程序,包括电子邮件,SMS,日历,浏览器,联系人等,所有应用程序都是用Java语言完成。程序员接触到的大部分是这部分的应用开发,本文也主要针对AndroidApplication做一些简单介绍。2.AndroidApplicationAndroid的应用程序主要由四个单元组成:活动程序(Activity)服务程序(Service)广播接收器(BroadcastReceiver)内容提供器(ContentProvider)下面将对这四个单元以及他们之间联系的纽带Intent逐一进行介绍。2.1Activityactivity是单独的,用于处理用户操作。几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过windowIsFloating的主题集合),或者嵌入到其他的activity(使用ActivityGroup)。大部分的Activity子类都需要实现以下两个接口:•onCreate(Bundle)接口是初始化activity的地方.在这儿通常可以调用setContentView(int)设置在资源文件中定义的UI,使用findViewById(int)可以获得UI中定义的窗口.•onPause()接口是使用者准备离开activity的地方,在这儿,任何的修改都应该被提交(通常用于ContentProvider保存数据).Activity生命周期在系统中的Activity被一个Activity栈所管理。当一个新的Activity启动时,将被放置到栈顶,成为运行中的Activity,前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止。Activity有四种本质区别的状态:1.在屏幕的前台(Activity栈顶),叫做活动状态或者运行状态(activeorrunning)2.如果一个Activity失去焦点,但是依然可见(一个新的非全屏的Activity或者一个透明的Activity被放置在栈顶),叫做暂停状态(Paused)。一个暂停状态的Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被杀掉。3.如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被杀掉。4.如果

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功