(一)什么是 Android
是基于Linux 系统 + JAVA 语言的开源手机操作系统和应用平台!
no Language , no OS
Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
按照姜老师的说法: anroid 宏观来说,就是两个核心的特性: OPEN 和 FREE ,开源和免费 。
这两点就保证了android 可预期的未来的成功!!!
(二)Android 的历史
2005年 7 月 , Google 收下了由 Andy Rubin (传说中的 Android 之父 ... )等人创立的一家小公司 .
2007年 11 月 , 开放手机联盟 OHA , Open Handset Alliance : Google 公司宣布组建的一个全球性的联盟组织。这一联盟将会支持 Google 可能发布的手机操作系统或者应用软件,共同开发名为 Android 的开放源代码的移动系统。
2008年 9 月 22 日 ,美国运营商 T-MobileUSA 在纽约正式发布第一款 Google 手机 ——T- Mobile G1.
2009年 1 月 7 日 ,工业和信息化部确认国内 3G 牌照发放给三家运营商,为中国移动、中国电信和中国联通发放 3 张第三代移动 通信(3G )牌照。由此, 2009 年成为我国的 3G 元年。
2010,也许就是姗姗来迟中国和世界的 Android 元年 ..2010 ,如果 你有心,就做好准备吧。
Android SDK版本:
2008年 9 , Android SDK 1.0
2008 年 10 , Android SDK 源码发布
2009.2 Android SDK 1.1发布
2009.4 Android SDK 1.5发布。代号为: CupCake ,
2009.9 android SDK的最新版 1.6 ,代号 Donut1.6
2010.1 Android SDK2.1
(三)Android 架构和特征
从SDK 文档中 Android 平台的 架构图 ,
Linux Kernel最底层红彤彤的部分,是Linux Kernel 在移动平台的一个移植,它隐藏了硬件、网络等相关的细节,为上层提供了一个相对纯洁的统一接口。
核心的和扩展的类库靠 上绿的一层,是一些核心的和扩展的类库 ,它们都是原生的C++ 实现。 SQLite 、 WebKit 、 OpenGL ,都是 开源项目。还有个 KVM 是 Android 的 Java 虚拟机,注意不是 JVM 。。。
框架层,是整个Android 平台的核心,我们的程序就要在这 个基础上写程序的。
应 用层了,系统的一些应用和第三方开发的所有应用都是位于这个层次上,我们写的程序也会在这个层次内。
(四) Android 开发环境
需要的软件:
JDK1.6 + Android SDK ,这是基础环境
Eclipse3.5 IDE + ADT ( Android Development Tools ) ,这是开发环境。
ADT 在线安装( https : //dl-ssl.google.com/android/eclipse/ )
ADT安装完成 OK 的画面
配置Eclipse3.5 IDE 使他能找到 Android SDK 。
(四)第一个android的程序:follow SDK
最好的学习资料就是SDK 文档 ( 姜老师语录 ) 。因为只有做平台的自己,才能最了解平台中的各个玄机,各方面的轻重缓急,从而能够更好的对 症下药药到病除。
所以我们的第一hello 程序就是跟着 SDK 的 hello world 程序。
(五)Android应用程序架构
说 明:
src/ java原代码 存放目录
gen/自动生成目录。 gen 目录中存放所有由Android 开发工具自动生成的文件。 目录中最重要的就是 R.java 文件。
下面是R.java 文件的 SDK 的说明
A project 's R.java file is an index into all the resources defined in the file.
You use this class in your source code as a sort of short-hand way to refer to
resources you' ve included in your project . This is particularly powerful with the
code - completion features of IDEs like Eclipse because it lets you quickly and
interactively locate the specific reference you 're looking for.
The important thing to notice for now is the inner class named "layout", and
its member field "main". The Eclipse plugin noticed that you added a new XML
layout file and then regenerated this R.java file. As you add other resources to
your projects you' ll see R . java change to keep up .
res/ 资源(Resource) 目录 存放应用使用到的各种资源,如 xml 界面文件,图片或数据。
AndroidManifest.xml功能清单文件 列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务( 如电话服务、互联网服务、短信服务、 GPS 服务等等 ) 。
default.properties项目环境信息,一般是不需 要修改此文件。