安卓003快速入门
一、Android概述
1.1系统概述
1.1.1 3G
?什么是3G
英文全称3rd-generation,第三代移动通信技术。是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。
* 3G制式:
(欧洲版) WCDMA\HSDPA中国联通采用
(北美版)CDMA 2000\EV-DO中国电信采用
(中国版)TD-SCDMA\TD-HSDPA:中国移动采用
* 3G的发展:
1G:只能进行语音通话、模拟信号
2G:包括(GSM\GPRS\EDGE)增加了接收数据的功能,如接收电子邮件或网页
3G:02年国外已经产生,03年开发出中国的3G,09才上市。在传输声音和数据的速度上有很大提升
4G.:是第四代移动通信及其技术的简称,是集高速无线网络与有线网络WLAN于一体的通讯网络能够传输高质量视频、图像和数据,传输速率可高达200MPS以上,目前主流技术有FDD-LTE、TDD-LTE、WIMAX
* 移动通信上网速度变化
GSM(9K)-->GPRS(42K)-->EDGE(147K)-->WCDMA(2M)-->HSDPA(7.2M)-->FDD-LTE长期演进(200M)
?移动互联网
IT界三大热点:云计算、物联网、移动互联网
& 云计算
云计算是一种通过Internet以服务的方式提供动态可伸缩的虚拟化的资源的计算模式 ,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
& 物联网
物联网就是物物相连的互联网。Internet of Things(IOT),也称为Web of Things
物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络
& 移动互联网
移动互联网就是将移动通信和互联网二者结合起来,成为一体。也是发展最快、市场潜力最大、前景最诱人的业务,比如:移动社交、移动广告、手机游戏、手机电视、移动商务、移动支付、位置服务、移动电子阅读等
* 移动智能操作系统
目前的智能操作系统有Android 4.4、IOS7、Windows Phone 8、Symbian、RIM BlackBerry、J2ME等,市场占有率高的有Android平台、IOS平台和Windows Phone平台,形成三足鼎立的局面
1.1.2 Android历史与发展
?Android发展历程
* Android发展大事件
2005年Google收购Android Inc. 开始研究Dalvik VM虚拟机
2007年 开发手机联盟成立,SDK1.0预览版发布
2008年底 第一款Android手机G1诞生 ,Android 通过Apache License开源
* Android版本进化历程
1.X 版本:入门级别,只适用于手机
2.X 版本:趋于成熟的版本,只适用于手机
3.X 版本:趋于成熟的版本,只适用于平板
4.X 版本:趋于成熟的版本,对平板和手机进行了整合
5.X 版本: 支持64位cpu、默认采用ART运行模式等
Android 1.5 Cupcake(纸杯蛋糕、API Level 3)
Android 1.6 Donut(甜甜圈API Level 4)
Android 2.0/2.0.1/2.1 Eclair(松饼API Level 5、6、7)
Android 2.2/2.2.1 Froyo(冻酸奶API Level 8、9)
Android 2.3 Gingerbread(姜饼API Level 10)
Android 3.0/3.1/3.2 Honeycomb(蜂巢 API Level 11、12、13)
Android 4.0/4.0.3Ice Cream Sandwich(冰激凌三明治API Level 14、15)
Android 4.1/4.2/4.3 Jelly Bean(果冻豆 API Level 16、17、18)
Android 4.4 KitKat (奇巧巧克力API Level 19)
Android 5.0 代号L (API Level 20)
?Android应用场景
手机、平板、智能电视(机顶盒)、穿戴设备(眼镜、手表)、其它智能嵌入设备
1.1.3 Android体系结构
?Android体系结构
1.Linux内核层
Android是基于Linux内核的操作系统,在Linux内核层,主要实现安全管理、进程管理、内存管理、电源管理、硬件驱动管理
2.硬件抽象层
硬件抽象层是对Linux硬件驱动程序的封装,向上提供接口,屏蔽低层的实现细节。硬件抽象层不开源,可保护硬件厂商的商业秘密,但是会影响系统的性能。
Android对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),硬件抽象层运行在用户空间,Linux内核驱动程序运行在内核空间,内核驱动层只提供简单的访问硬件逻辑,具体的实现细节,都放在硬件抽象层中,从而维护了硬件厂商的商业利益。
3.原生库与Android运行时
Android的原生库主要基于C\C++实现的一些原生组件,包括C库Bionic、浏览器引擎Webkit、多媒体引擎OpenCORE、SQL数据库SQLite、3D渲染引擎OpenGL ES、位图和字体矢量渲染引擎FreeType、2D图像渲染引擎SGL(Skia Graphics Library)、互联网安全协议SSL等。
Android运行时主要包括Java核心库、Dalvik虚拟机,两者一起构成了Android的应用环境基础
4.应用框架层
应用框架层是Google发布的核心应用所使用的API框架,开发人员可以使用这些框架提供的API来快速开发自己的应用程序,它本身也是用Java语言实现和开发的。
Activity Manager(活动管理)、Window Manager(窗口管理)、View Manager(视图管理)、Notification Manager(通知管理)、Content Provider(内容提供者)、Package Manager(包管理)、Resource Manager(资源管理)、Location Manager(位置管理)
5.应用层
应用层是基于Android平台开发的应用,采用Java作为开发语言,包括系统自带的应用(短信管理、联系人管理、图库浏览、网页浏览等)和第三方开发的应用
?JVM与DVM
* 共同点:
解释执行 byte code字节码文件
在操作系统的进程运行一个VM,并执行一个单独的程序
* 不同点:
程序结构不同:JVM字节码由多个.class文件组成,Davlik只包含一个 .dex格式的文件,这个文件包含了程序中所有的类。
架构不同:Dalvik是register-based基于寄存器,Sun JDK是 stack-based基于栈。
* Dalvik优势
编译时提前优化代码而不是等到运行时 。
虚拟机很小,占空间小。可以满足可高效运行多种虚拟机实例。
常量池修改为只使用32位的索引,以简化解释器。
* DVM执行过程
1. 编译为class文件
2. 使用dx工具抽取class文件共性形成.dex
3. 维护内部常量池
* ART运行模式
ART模式是Android runtime的简称,在Android4.4版本后出现,通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言,并且把它保存起来,免去了Dalvik模式要时时转换代码,实现高效率、省电、手机运行流畅。ART是虚拟机,只是在安装app时,提前编译而已。
1.2搭建开发环境
1.2.1 开发环境搭建
* 开发工具
JDK、Eclipse、ADT(Android developer tools)插件、Android SDK
* 工具下载
ADT下载地址:http://dl.google.com/android/ADT-22.0.0.zip
SDK下载地址:http://dl.google.com/android/android-sdk_r22-windows.zip
合集版下载地址: developer.android.com
合集版工具包包含:
Eclipse + ADT plugin
Android SDK Tools
Android Platform-tools
The latest Android platform
The latest Android system image for the emulator
* Android-SDK更新
通过Android Manager.exe工具更新
Android SDK目录介绍
1.2.2 创建AVD模拟器
* 创建模拟器
* 小细节
& AVD配置文件位置(默认):
C:\Documents andSettings\Administrator\.android\avd\AVD2.3.3.avd\config.ini
& AVD 缩放 :启动模拟器—>在launch Option中选择Scale display to real size
& 模拟器不能保存数据:在模拟器的配置文件中删除.lock文件
1.2.3 手机参数
* 手机屏幕参数:屏幕尺寸、分辨率、屏幕密度
&手机尺寸:5.5、5.0、4.7、4.3、4.0、3.5英寸
&分辨率: 1080*1920、640*1136、720*1280、1280*800、1024*600、480*854、480*800
&屏幕密度:120dpi(ldpi)低清、160dpi(mdip)中清(标清)、240dpi(hdpi)、360dpi(xhdpi)
* 手机内存、SDCard、CPU、摄像头
* 手机操作系统版本
* 网络制式(GSM\EDGE\WCDMA\HSDPA\TD-SCDMA\WCAMA-2000\TDD-LTE\FDD-LTE)
1.3第一个Android应用程序
1.3.1 创建应用程序流程
* 创建新项目
* 配置项目
* 配置运行图标属性
1.3.2 Android应用介绍及项目目录结构分析
* Android应用结构介绍
Android 应用程序由应用组件(Activity、Service、ContentProvider、BroadcastReceiver)构成,每一个组件是单独的模块,有着不同的入点,系统可以从这些入点进入到你的应用中,组件在AndroidManifest.xml注册,它们之间松耦合地