【网学网提醒】:网学会员鉴于大家对十分关注,论文会员在此为大家搜集整理了“01—Android概述”一文,供大家参考学习
第一章:Android概述
1,1Android概述:
Android是google公司在2007年11月5号发布的一款真正意义上开源的智能手机操作系统,
该系统由底层Linux,中间层由软件包和上层的java应用
程序组合而成。
Android采用了开源的Linux操作系统,底层使用了访问硬件速度最快的C语言,应用层采用了简单而强大的java语言。
==================================================================================================
1.2.1Android的平台特性
1.应用程序框架支持组件的重用与替换。[就是把不喜欢的应用程序替换掉,安装自己喜欢的应用
程序]
2.Dalvik虚拟机专门为移动设备做了优化。
3.内部集成浏览器基于开源的WebKit引擎。[有了内置浏览器,可以随意在网上遨游]
4.优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES1.0.
5.SQLite用作结构化的数据存储。
=================================================================================================================
1.2.2Android平台架构
Android操作系统体系结构分为4层,
由上而下依次是应用程序,应用
程序框架,核心类库和Linux内核。其中第三层还包括Android运行时环境。
1.应用
程序 所有应用
程序都是用java编写的。
---------------------------------------------------------------------------------------------------------
2.应用
程序框架
包括1,可扩展的视图(Views)可以用来创建应用
程序,包括列表(lists),网格(grids),甚至是一个可嵌入的Web浏览器。
2,内容管理器(ContentProviders)使得应用程序可以访问另一个应用
程序的数据,或者共享它们的数据。
3,资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形和分层文件(layoutfiles)。
4,通知管理器(NotificationManager)使得应用
程序可以在状态栏中显示客户通知信息。
5,活动类管理器(ActivityManager)用来管理应用
程序生命周期并提供常用的导航回退功能。
---------------------------------------------------------------------------------------------------------
3.Android程序库
Android包括一个被Android系统中各种不同组件所使用的C/C++库集。该库通过Android应用程序框架为开发者提供服务。
以下是一些主要核心库:
1,系统C库
2,媒体库:该库支持录放。
3,SurfaceManager:对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。
4,LibWebCore:一个最新的Web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图。
5,SGL:一个内置的2D图形引擎。
6,3Dlibraries:基于OpenGLES1.0APIs实现
:该库可以使用硬件3D加速。
7,FreeType:位图(bitmap)和向量(vector)字体显示。
8,SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
---------------------------------------------------------------------------------------------------------
4,Android运行库
Android包括一个核心库,该核心库提供了java编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的线程中运行,都拥有一个独立的Dalvik虚拟机实例。
---------------------------------------------------------------------------------------------------------
5,Linux内核
Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议,驱动模型。
=============================================================================================================================
1.3AndroidMarket[Android商场]
可以出来上班赚钱还可以到AndroidMarket上面来赚钱。
=============================================================================================================================
1.4Android应用程序组件
根据完成的功能不同,Android划分了四类核心的组件类:Activity,Service,BroadcastReceiver和ContentProvider。
相同组件和不同组件之间的导航通过Intent来完成。
下面就详细介绍:
------------------------------------------------------------------------------------------------------------------
1,Activity[活动组件类]
Activity是Android组件中最基本也是最常用的一种组件,在一个Android应用中,
一个Activity通常就是一个单独的屏幕。
每一个Activity都被实现为一个独立的类,并且继承于Activity这个基类。
这个Activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。
大部分的应用都会包含多个屏幕。
通过startActivity()方法可以从一个屏幕导航到另一个屏幕,打开Activity的条件被封装到Intent中。
------------------------------------------------------------------------------------------------------------------
2,Service[服务组件类]
一个Service是一种长生命周期的,没有用户界面的程序。
例子:
媒体播放器中有多个Activity,让使用者可以选择歌曲并播放歌曲。
然而音乐重放没有这个功能并没有对应的Activity,因为使用者会认为在导航到其他屏幕时音乐还在播放。
在这个例子中,媒体播放器这个Activity会使用Context.startService()来启动一个Service,
从而可以在后台保持音乐的播放。
同时,系统也将保持这个Service一直执行,直到这个Service运行结束。
另外我
们还可以通过使用Context.bindService()方法连接到一个Service上(如果这个Service还没有运行则将启动它)。
------------------------------------------------------------------------------------------------------------------
3,BroadcastReceiver[广播组件类]
BroadcastReceiver是为了实现系统广播而提供的一种组件。
例如,我们可以发出一种广播来检测手机电量的变化,
这时候就可以定义一个BroadcastReceiver来接收广播,当手机电量较低时提示用户。
------------------------------------------------------------------------------------------------------------------
4,ContentProvider[内容共享组件类]
Android应用程序之间是相互独立的,各个组件运行在不同的进程中,这就说明数据是不能共享的。
如何使得不同组件数据的共享呢?
Android通过使用ContentProvider来实现不同组件之间数据的共享。
------------------------------------------------------------------------------------------------------------------
5,View
View是Android中图形用户界面的基类,提供了可视化界面的展示。
Android的图形界面展示可以分为三层:底层是Activity,中间是Window,上层为View;View有可以分为:View和ViewGroup。
View是指基本控件,例如:按钮,单选框,多选框,菜单等。
ViewGroup是指布局控件,用来控制界面中的控件如何布局摆放的。
------------------------------------------------------------------------------------------------------------------
6,Intent
Intent是不同组件之间相互导航的纽带,封装了不同组件之间导航查找的条件。
Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据。
典型的动作类型有MAIN(Activity的门户),VIEW,PICK,EDIT等。
而动作对应的数据则以URL的形式进行表示。
例如:要查看一个人的联系方式,你需要创建一个动作类型为VIEW的Intent,以及一个表示这个人的URL。