Android开发简介
Android是什么?
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。简单来说是个开源的手机操纵系统。
Android之父——Andy Rubin 安迪·鲁宾
Android系统的特点:
开发性;所有的应用程序是平等的;应用程序间无界限;快捷方便的应用程序开发。
Android系统架构(四层):
1.Linux Kernel(Linux内核层):Android系统基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网络协议以及驱动模型都依赖于Linux内核。
2.Libraries(系统运行库层):可以分为两部分,分别是系统库和Android运行时
系统库:是应用程序框架的支撑,是连接应用程序框架层与Linux内核层重要纽带。
主要分为SQLite,WebKit,OpenGL等等
Android运行时:核心库(绝大多数Java程序语言需要调用的函数)和Dalvik虚拟机 (基于寄存器的Java虚拟机)
Davlik虚拟机:android程序不同于J2ME程序,每个android应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个android程序都有一个Dalvik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。主要注意的是,不同于J2ME,android程序在虚拟机中执行的并非编译后的字节码,而是通过转换工具dx将Java字节码转成dex格式的中间码。
3.应用程序框架:进行Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,软件开发人员大部分情况下也是和应用程序框架打交道的。包括Activity Manager、Window Manger、Content Provider、View System、Notification Manager、Package Manager、Telephony Manager、Resource Manager和XMPP Manager。
4..应用程序层:Android平台默认自带的应用程序,如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等等。这些程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。
移动电话系统:
第一代移动电话:模拟语音;
第二代移动电话:数字语音-->(1)GSM蜂窝系统(2)CDMA码分多路访问
中国自主知识产权的TD-SCDMA:中国移动,188号段。
第三代移动电话:数字语音与数据(3rd Generation)
智能手机软件平台:
Android,iPhone,Symbian,Windows Mobile(Windows Phone),RIM BlackBerry,Java/J2ME,Palm。目前Android的市场份额已经超过iPhone,成为第一。
Android的未来:
基于Android的手机的销售将在2012年超过iPhone;
Intel如果不想失去笔记本市场的占有率,他们必须为Android开发芯片;
Android的应用将不局限于手机,未来包括移动网络设备,笔记本电脑都会运行基于Android的系统;
源源不断上市的Android设备将会进一步促使Android的生生不息。
Android平台:
Android4.0平台:首次实现了手机和平板电脑的平台的统一,适合手机开发和平板电脑开发。
手机平台:android1.0、android1.5、android2.1、android2.2、android2.3、android4.0等等
平板电脑:android3.0、android3.1、android3.2、android4.0等等
建立Android开发环境:
(1)JDK 5 or JDK 6(JRE alone is not sufficient) sufficient:足够的
设置环境变量:JAVA_HOME、CLASSPATH
(2)Eclipse 3.3(Europa),3.4(Ganymede)
(3)Android SDK
(4)ADT 0.9.7
(5)Eclipse安装ADT插件
(6)创建android虚拟机AVD
JDK1.6 Java Development Kit提供了Java的开发环境和运行环境
Eclipse 3.4 配置好Java的编译环境
Android SDK Software Development Kit
ADT Android Development Tools
AVD Android Virtual Devices
Android的四大组件:
Activity:负责应用程序中数据的显示;
Intent:负责数据的传递;
Service:负责数据处理的工作;
Content Provider:负责数据的共享。
Android模拟器(Android Emulator):
(1)可以使用的功能
可模拟电话本、通话等功能;内置的浏览器和Google Maps都可以联网;可以使用键盘输入;可单机模拟器按键输入;可以使用鼠标点击、拖动屏幕机型操作。
(2)模拟器和真机的不同之处
不支持呼叫和接听实际来电,但可以通过控制模拟电话呼叫;不支持USB连接;不支持相机/视频捕捉;不能确定电池电量水平和交流充电状态;不能确定SD卡的插入和弹出,不支持蓝牙等等。
Android常用开发术语:
apk扩展名:apk是Android包的扩展名,一个apk文件包含了与某个Android应用程序相关的所有文件,apk文件将AndroidManifest.xml文件、应用程序代码(dex文件)、资源文件和其他文件组成一个压缩包,一个项目只能打包压缩成一个apk文件。
应用程序(APP):一个或多个Activity、服务、监听和Intent接收器的集合。
ADB(Android Debug Bridge):SDK自带的一个基于命令行的调试程序。
DDMS——Dalvik调试监视服务(Dalvik Debug Monitor Service):是SDK自带的一个可视调试工具。
URIs:Android使用URI字符串请求数据(如通信录列表)和动作(如在浏览器中打开网页)。URI字符串可以具有不同的格式。所有请求数据的URI必须以“content://”开头。
布局资源:一个描述Activity屏幕布局的XML文件