第一天 Android架构与环境搭建

1.1 android基础

1.1.1 Android是什么?

  • 是一个针对移动设备的操作系统和软件平台
  • 基于Linux内核
  • 由 Google和开放手机联盟OHA开发的
  • 容许使用Java语言来开发和管理代码
  • Android开放源代码,Android遵从Apache Software License (ASL)2.0版本的协议
  • Android于2007年11月5日开放手机联盟成立时发布

注:开放手机联盟 (OHA)

1.1.2 Android的特点!

  • 应用框架可以重复使用,其组件也可以更换。
  • Dalvik虚拟机针对移动设备进行了优化。
  • 优化的图形能力支持2D、3D图形(OpenGL ES 1.0 )。
  • 集成了基于开源WebKit引掣的浏览器。
  • SQLite作为结构化数据存储。
  • 多媒体支持多种音频、视频格式。
  • GSM Telephony (hardware dependent)
  • 支持蓝牙Bluetooth,3G和WiFi
  • 支持照相机、GPS、指南针和加速度仪等传感器硬件。
  • 丰富的开发环境。包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件。

1.1.3 Android优缺点!

优点

  • 源代码完全开放。
  • 采用了对有限内存、电池和CPU优化过的虚拟机Dalvik,Android的运行速度比想象的要快很多。
  • 运营商(中国移动等)的大力支持,产业链条的热捧。
  • 良好的盈利模式(3/7 开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错的利益。将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。
  • Android的源代码遵循Apache V2软件许可,而不是通常的GPL v2许可。有利于商业开发。
  • 具有强大的Linux社区的支持。

缺点

  • Google提供了一套Java核心包(J2SE 5,J2SE 6)的有限子集,尚不承诺遵守Java任何Java规范,可能会造成Java阵营的进一步分裂。
  • 现有应用完善度不太够,需要的开发工作量较大。
  • 模拟器调试手段不十分丰富,速度慢。

1.1.4 Android架构

Linux Kernel& Android内核

  • Android 基于Linux内核,但不是Linux
  • 内核提供系统核心服务,如进程、内存、电源管理,网络连接,驱动与安全等。
  • 并不包括全部的Linux。
  • Linux 内核位于硬件和软件堆之间的抽象层
  • 核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。
  • 内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。
  • 操作系统的初始化和编程接口和标准的Linux 系统是有所不同的。

Libraries

  • C/C++库:被各种Android 组件使用通过应用程序框架开发者可以使用其功能包括:
  • 媒体库:MPEG4 H.264 MP3 JPG PNG .....
  • WebKit/LibWebCore:Web 浏览引擎
  • SQLite 关系数据库引擎
  • 2D,3D 图形库、引擎

Function Libraries

  • WebKit
  • 基于开源WebKit的浏览器
  • 支持CSS、Javascript、DOM、Ajax
  • 多媒体框架
  • 基于PacketVideo OpenCORE平台
  • 支持标准音频、视频
  • SQLite
  • 轻型数据库,支持多种平台

Native Servers-Surface

  • 为多种应用提供2D、3D表面设计

Native Servers-Audio

  • 音频处理

Hardware Abstraction Libs

  • 硬件虚拟层
  • User space C/C++ library layer
  • 硬件接口驱动
  • 使Android平台逻辑与硬件接口分离

DVM vs JVM

  • DVM
    • Google
    • Dalvik excutable
  • JVM
    • Sun
    • Java bytecode

Applications Framework

  • Activity manager
    • 管理运行应用程序
  • Content Provider
    • 在各应用之间共享数据
  • Resource Manager
    • 管理非代码资源
  • Notification Manager
    • 显示用户提示和状态栏
  • Views System
    • 可扩展显示,可构建UI

应用和框架

  • 核心应用,例如联系人,电子邮件,电话,浏览器,日历,地图, ...
  • 充分访问所有核心应用框架API
  • 简化组件的重用
  • 用Java 编写应用程序

Applications

  • JAVA编写的应用程序

1.2搭建android环境

注:如果想从头开始学怎么搭建android开发环境的请从1.2.1开始 如果想直接学开发了,请跳过此步骤,到1.2.6节直接下载谷歌提供的开发工具进行开发.

1.2.1 安装Java JDK 并配置java环境变量.

下载JDK(官方推荐使用1.6版本) http://www.oracle.com/technetwork/java/javase/downloads/index.html (官网下载地址) http://download.oracle.com/otn-pub/java/jdk/6u37-b06/jdk-6u37-windows-i586.exe (x86直接下载地址) http://download.oracle.com/otn-pub/java/jdk/6u37-b06/jdk-6u37-windows-x64.exe (x64直接下载地址)

安装JDK略过

打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。 在上方的用户变量中依次新建如下变量,并分别填入如下路径:

  • 变量名:JAVA_HOME 变量值:C:Javajdk1.6.0_22(此路径为JAVA安装路径)
  • 变量名:PATH 变量值:%JAVA_HOME%/bin

  • 变量名:CLASSPATH 变量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar

测试环境变量配置是否成功 【开始】--【运行】--输入【cmd】--输入【javac】--按【回车键】若看到以下信息,则代表配置成功。

1.2.2 下载eclipse 安装ADT插件

Eclipse下载地址: http://www.eclipse.org/downloads/ (java和J2EE都行) http://build.eclipse.org/technology/phoenix/torrents/juno/eclipse-jee-juno-SR1-win32.zip.torrent (x86种子地址,如果下载不了请到官方下载) http://build.eclipse.org/technology/phoenix/torrents/juno/eclipse-jee-juno-SR1-win32.zip.torrent X64的

安装ADT

注意: 安装ADT的方法有两种

一 在线安装(输入Name和Location即可在线安装,不推荐使用,因为在线更新灰常慢)
Name: Andriod Plugin Location:https://dl-ssl.google.com/android/eclipse/

执意想要在线更新的朋友,我们只需要配置一下hosts文件(翻墙不用我说吧?) Hosts文件只需要在C盘搜索一下就出来了

在文件的末尾添加下面一句:74.125.237.1dl-ssl.google.com (记得右键吧hosts文件只读的勾去了)

二 离线安装(离线安装要断网,不然它会自动联网安装的)

离线版ADT下载 http://developer.android.com/sdk/index.html

离线更新有两种方法

  1. 点local..选择解压出来的ADT文件夹(好处是解包已在外部完成了,可以直接更新,不用等待,推荐使用)
  2. 点archive选择打包的ADT(好处是不用在外部解包,但是不可直接更新,要等eclipse解包完ADT.ZIP才能进行安装,不推荐使用) 如果推荐使用的方法不行,哪就用其他方法吧!

1.2.3 安装android sdk 并更新版本

安装完ADT之后它会提示你重启eclipse,重启完后会提示选择在线更新SDK还是选现有的SDK(这里只说明选现有的SDK) 注意:记得选第二个,默认的是让你选路径下载SDK的

下载SDK: http://developer.android.com/sdk/index.html

离线安装Sdk

找到SDK路径应用一下就可以了

管理自己的SDK,升级或者更新

在自己需要的版本上打勾然后按install (一般开发都用2.1,谷歌会提示你95%的开发者都在用2.1之类的话的)

点击install后如下图,选择所有再点install

更新完后就大功告成了

1.2.4 配置android环境变量.

在上方的用户变量中找到之前创建的【PATH】变量,双击它,然后在【变量值】的最后面添加上内容

;E:Androidandroid-sdk-windowsools;E:Androidandroid-sdk-windowsplatform-tools

其中的分号不能少,分号在这里是起到分隔的作用。

配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【android -h】--按【回车键】,若看到以下信息,则代表配置成功。

1.2.5 配置ADV 安卓虚拟机 并写hello android 测试

1.2.6 特别赠送:直接下载AndroidDeveloper Tools即可省略以上5个步骤

直接下载AndroidDeveloper Tools 即可使用 官方已经推出集成ADT 和最新SDK(4.2版本)的eclipse了 命名为AndroidDeveloper Tools 下载地址: http://dl.google.com/android/adt/adt-bundle-windows-x86.zip 或者联系作者获取

如需安装其他版本SDK请看第3步

写第一个android程序

第一个程序就创建好了,如下图启动你的程序

如图,测试成功.第一天的android课程结束.

源代码下载

HelloAndroid源码