Android介绍(未整理完...)

来源:互联网 发布:手柄键位设置软件mac 编辑:程序博客网 时间:2024/06/01 14:46
Android介绍

        Android是一种基于
Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视数码相机游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。但运营收入不及iOS。


Android系统架构(4层架构)

  

1、应用程序层(Application)
        Android的应用程序主要是用户界面(User Interface)方面的,通常以JAVA程序编写,其中还可以包含各种资源文件(放置在res目录中)JAVA程序及相关资源经过编译后,将生成一个APK包。Android本身提供了主屏幕(Home),联系人(Contact),电话(Phone),浏览器(Browers)等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序。这也是Android开源的巨大潜力的体现。


2、应用程序框架层(Application Framework)
        
应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。
(1)Activity Manager(活动管理器

          管理各个应用程序生命周期以及通常的导航回退功能
(2)Window Manager(窗口管理器
          管理所有的窗口程序
(3)Content Provider(内容提供器
          使得不同应用程序之间存取或者分享数据
(4)View System(视图系统
          构建应用程序的基本组建
(5)Notification Manager(通告管理器
          使得应用程序可以在状态栏中显示自定义的提示信息
(6)Package Manager(包管理器
          Android系统内的程序包管理
(7)Telephony Manager(电话管理器
          管理所有的移动设备功能
(8)Resource Manager(资源管理器
          提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等
(9)Location Manager(位置管理器
          提供位置服务
(10)XMPP Service(XMPP服务
          提供Google Talk服务


3、系统运行库层(Libraries And Android Runtime)
  从图中可以看出,系统运行库层可以分成两部分,分别是系统库和Android运行时,分别介绍如下:
(A)系统库(Libraries) 
  系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。其主要分为如下几个:
(1)Surface Manager
   执行多个应用程序的时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成
(2)Media Framework
   多媒体库,基于PacketVideo OpenCore,支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.254、AAC、ARM
(3)SQLite
   小型的关系型数据库引擎
(4)OpenGL|ES
   根据OpenGL ES 1.0 API标准实现的3D绘图函数库
(5)FreeType
   提供点阵字与向量字的描绘与显示
(6)WebKit
   一套网页浏览器的软件引擎
(7)SGL
   底层的2D图形渲染引擎
(8)SSL
   在Android上通信过程中实现握手
(9)Libc
   从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制


(B)Android运行时(Android Runtime
        Android应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分
(1)Core(核心库)
           核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android.net、android.media等等
(2)Dalvik(虚拟机)
  Android程序不同于J2me程序,每个Android应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个Android程序都有一Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。需要注意的是,不同于J2me,Android程序在虚拟机中执行的并非编译后的字节码,而是通过转换工具dx将Java字节码转成dex式的中间码。


4、Linux内核层(Linux Kernel
  Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。



Android应用特色
Android主要有什么特色呢,有以下几个方面来体现:
  • 四大组件
  • 丰富的系统控件
  • SQLite数据库等持久化技术
  • 地理位置定位
  • 强大的多媒体
  • 传感器


1、四大组件
  什么是四大组件?分别是活动(Activity)、服务(Service)、广播接收器(BroadCast Receiver)和内容提供器(Content Provider)。其中活动(Activity)就是Android应用程序中看得东西,也是用户打开一个应用程序的门面,并且与用户交互的界面,比较高调。服务(Service),则比较低调了,一直在后台默默的付出,即使用户退出了,服务仍然是可以继续运行的。广播接收器(BroadCast Receiver),则允许你的应用接收来自各处的广播消息,比如电话、短信等,可以根据广播名称不同,做相应的操作处理,当然了, 除了可以接受别人发来的广播消息,自身也可以向外发出广播消息,自产自销。内容提供器(Content Provider),则为应用程序之间共享数据提供了可能,比如你想要读取系统电话本中的联系人,就需要通过内容提供器来实现。
 
    
2、丰富的系统控件
  Android系统为开发者提供了丰富的系统控件,我们可以编写漂亮的界面,也可以通过扩展系统控件,自定义控件来满足自我的需求,常见控件有:TextView、Buttion、EditText、一些布局控件等。
 
   
3、持久化技术
  Android系统还自带了SQLite数据库,SQLite数据库是一种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方便。
 
    
4、地理位置定位
  移动设备和PC相比,地理位置定位是一大亮点,现在基本Android手机都内置了GPS,我们可以通过GPS,结合我们的创意,打造一款基于LBS的产品,是不是很酷的事情啊,再说,目前火热的LBS应用也不是空穴来风的,不过在天朝,因为可恶的GFW,只能用些本土化的地图API,比如百度地图、高德地图。要是哪天能用上大谷歌的地图,那才是高大上啊。
 
    
5、强大的多媒体
  Android系统提供了丰富的多媒体服务,比如音乐、视频、录音、拍照、闹铃等,这一切都可以在程序中通过代码来进行控制,让你的应用变得更加丰富多彩。
 
    
6、传感器
  Android手机中内置了多种传感器,比如加速传感器、方向传感器,这是移动设备的一大特点,我们可以灵活地使用这些传感器,可以做出很多在PC上无法实现的应用。比如“微信摇一摇"_你懂得,“搜歌摇一摇”等功能。


ART模式


JVM和DVM的区别



ART模式和Dalvik模式的区别


Android环境配置




SdkManager介绍


Andriod模拟器创建


Andriod常见分辨率
320*480
480*800
1280*720


ROM:只读存储器,相当于电脑的一块微小硬盘 断电数据不丢失
RAM:相当于电脑的内存条 断电数据丢失



Android Eclipse DDMS调试图

Android版本

Android 1.0                        没有开发代号
Android 1.1                        Petit Four(小蛋糕)
Android 1.5                        Cupcake(纸杯蛋糕)
Android 1.6                        Donut(甜甜圈)
Android 2.0/2.1                  Eclair(闪电泡芙)
Android 2.2                        Froyo(冻酸奶)
Android 2.3                        Gingerbread(姜饼)
Android 3.0/3.1/3.2           Honeycomb(蜂巢)
Android 4.0                        Ice Cream Sandwich(冰淇淋三明治)
Android 4.1/4.2/4.3           Jelly Bean(果冻豆)
Android 4.4                        KitKat(奇巧巧克力棒)
Android 5.0/5.1                 Lollipop(棒棒糖)
Android 6.0                        Marshmallow(棉花糖)
Android 7.0                        Nougat(牛轧糖)


Android API等级

API等级1:      Android 1.0    
API等级2:      Android 1.1 Petit Four   
API等级3:      Android 1.5 Cupcake
API等级4:      Android 1.6 Donut
API等级5:      Android 2.0 Eclair
API等级6:      Android 2.0.1 Eclair
API等级7:      Android 2.1 Froyo
API等级8:      Android 2.2 - 2.2.3 Froyo
API等级9:      Android 2.3 - 2.3.2 Gingerbread
API等级10:    Android 2.3.3 - 2.3.7 Gingerbread
API等级11:    Android 3.0 Honeycomb
API等级12:    Android 3.1 Honeycomb
API等级13:    Android 3.2 Honeycomb
API等级14:    Android 4.0 - 4.0.2 Ice Cream Sandwich
API等级15:    Android 4.0.3 - 4.0.4 Ice Cream Sandwich
API等级16:    Android 4.1 Jelly Bean
API等级17:    Android 4.2 Jelly Bean
API等级18:    Android 4.3 Jelly Bean
API等级19:    Android 4.4 KitKat
API等级20:    Android 4.4W
API等级21:    Android 5.0 Lollipop
API等级22:    Android 5.1 Lollipop
API等级23:    Android 6.0 Marshmallow
API等级24:    Android 7.0 Nougat

原创粉丝点击