《毕业设计安卓应用开发资料查询.ppt》由会员分享,可在线阅读,更多相关《毕业设计安卓应用开发资料查询.ppt(15页珍藏版)》请在三一文库上搜索。
1、App开发,总述,Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。这里主要查找了Android和Linux的资料。,Android,Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。 它采用软件堆层(software stack,又名软件叠层)的构架,主要分为三部分。 底层以Linux内核工作为基础,由C语言开发,只提供基本功能。 中间层包括函数库library和虚
2、拟机virtual machine,由c+开发。 最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。,Android,Android整体架构,Android,Linux内核(Linux kernel) 最底层是Linux内核层。Android基于Linux2.6提供核心系统服务,例如,安全,内存管理,进程管理,网络堆栈,驱动模型。其中Linux内核中的驱动程序模型作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。驱动程序模型包括以下常用的驱动程序:显示驱动,键盘和触控板驱动,摄像头驱动,WiFi驱动,闪存驱动,音频驱
3、动,binder(IPC)驱动,电源管理等。,Android,Android运行环境(Android runtime) Android runtime为Android应用提供一个运行环境。它包括核心库和dalvik虚拟机两部分。 dalvik虚拟机用来运行Android应用实例。每一个Android应用程序都是dalvik虚拟机中的实例,运行在它们自己的进程中。 dalvik虚拟机设计成在一个设备中可以高效的运行多个虚拟机实例。 dalvik虚拟机的可执行文件是.dex,dex格式是专为dalvik设计的一种压缩格式,适合内存和处理器有限的系统。dalvik虚拟机依赖于Linux内核提供基本功
4、能,如内存管理等。 核心库为Android应用提供功能支持,它提供Java编程语言核心类库中的大部分功能。,Android,库集合(libraries) Android包含一个c/c+库的集合,它们通过Android的应用程序框架(application framework)提供给上层的Android应用,帮助上层应用实现一些常见的功能。这些库包含以下内容。 系统c库,媒体库,界面管理,libwebcore,sgl,3d库,freetype,sqlite.,Android,应用框架( application framework ) 作为一个开放的开发平台,应用框架使开发者能够很容易开发功能强大
5、的应用程序。开发者可以自由的利用所有的设备硬件资源,访问位置信息,运行后台服务,设置定时,向状态栏添加通知,等等。应用框架包含以下组件。 一组view(UI组件):这些UI组件包括butten(按钮),editview(文本框),textview(标签),list(列表)等。灵活运用这些组件可以快速方便的创建良好的用户交互界面。 content provider(内容提供者):因为Android是基于Linux内核的,因此,不同于Windows下应用,Android应用的数据都是私有的,不允许其他应用随便访问。而content provider就是提供一种服务,通过这种服务应用程序之间可以实现
6、数据的共享。,Android,Resourcemanager:Android中的资源很多,包括图像,用户界面,字体,颜色,UI组件的ID等都可以成为资源,这些丰富的资源,都是通过Resourcemanager来统一进行管理。 Notificationmanager(消息通知管理):它在不影响用户正常操作和使用设备的时候在状态栏上提供消息的提示。例如有短信来的时候,Android自动会将这个消息提示在状态栏上,以便用户发现。 Activitymanager(活动管理):管理应用程序的生命周期,并且控制着应用的导航,扮演控制器的角色。 Windowmanager(窗口管理):管理所有启动的窗口。
7、Locationmanager(位置管理):管理地图服务相关功能。 Telephonymanager(电话管理):用来管理电话相关功能 Packagemanager(包管理):管理所有的安装在Android系统内的应用程序。,Android,应用(application) 应用层包含Android的核心应用程序,如电子邮件客户端,SMS程序,日历,地图,浏览器,联系人和其他设置。另外,开发人员基于Android sdk开发的应用程序,也都是位于这一层。所有应用程序都是采用Java编程语言写的。,Android,搭建Android开发环境 “工欲善其事,必先利其器”。所以,在开始开发Androi
8、d应用程序之前有以下一些开发工具和sdk需要去安装和配置: Java jdk: 为Android sdk奠定基础。 Android sdk:开发者可以通过Android sdk去访问Android提供的类 库,从而编写Android应用程序。 Eclipse 集成开发环境:把Java,Android sdk以及adt都结合起来的集成开发环境,为开发者编写Android应用程序提供了相应的工具。 Android adt: Eclipse平台下用来开发Android应用程序的插件。用adt可以进行avd(android模拟器)的管理以及最新版本sdk的下载。,Linux,Linux是一种操作系统。
9、,Linux,1991年,一个名不见经传的芬兰研究生购买了自己的第一台pc,并且决定开始开发自己的操作系统。这个想法非常偶然,最初只是为了满足自己读写新闻和邮件的需求。这个芬兰人选择了minix作为自己的研究对象。Minix是由荷兰教授Andrew s.tanenbaum开发的一种模型操作系统,这个开放源代码的操作系统最初只是用于研究目的。 这个研究生名叫Linus torvalds,他很快编写了自己的磁盘驱动程序,并且慷慨的把源代码上传到互联网上。Linus把这个操作系统命名为Linux,意旨“Linus的minux”(linuss minix)。,Linux,操作系统是一个用来和硬件打交道
10、并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。,归拢,Android由五部分组成:Linux内核, Android运行环境,库集合,应用框架,应用 Linux内核实现最基础的贴近硬件的服务。主要模块:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用,