基础篇
实战Android编程——手把手教你做出商用软件
2
第1章Android开发起步本章将要介绍的是Android开发起步的相关知识,首先将会对Android平台进行简单的
介绍,其中包括Android的背景及其应用程序的框架。然后会向读者讲解如何搭建Android 的开发环境、如何在Ecl中创建一个项目,以及如何使用Android平台提供的工具调试和监控应用程序。
1.1 Android平台简介
Android平台自发布以来就一直吸引着广大开发者的目光,本节就对Android平台做简单的介绍,读者通过本节的学习可以对Android平台的来龙去脉及内部结构有比较透彻的了解。
1.1.1 Android背景介绍
Android是一个开放的手机操作系统平台,为移动设备提供了一个包含了操作系统、中间件及应用程序的软件叠层架构。Android SDK为开发人员使用Java语言编写Android平台下的应用程序提供了必要的工具和API。
1.Android的诞生
Android也是一家公司的名称,这家公司的创始人名叫Andy Rubin。Andy Rubin原来是苹果的一名工程师,后来创办过几家公司。在创建Android公司时,Andy Rubin准备打造一个移动终端平台并将其对开发人员开放,后来Google收购了该公司,于是就有了今天如日中天的Android。
2.Android的特性
Android自推出以来如此受追捧不仅仅是因为网络巨头Google的大力扶持,Android自身所具有的特性才是吸引全球精英开发者的更重要原因。
¾应用程序框架:可以方便地重用和替换手机组件。
¾Dalvik虚拟机:专为移动设备优化过的虚拟机。
¾内部集成浏览器:基于开源的WebKit引擎。
¾优化的图形系统:其中自定义了2D图形库,3D图形库基于OpenGL ES 1.0,可选硬件加速。
第1章 Android 开发起步
3
¾ SQLite :集成了轻量级数据库管理系统。
¾ 多媒体支持:支持常见的音频和视频,以及各种图片格式,如MPEG4,H.264,MP3,AAC ,AMR ,JPG ,PNG ,GIF 等。
¾ GSM 技术、蓝牙、EDGE 、3G 和WiFi :需要硬件支持。
¾ 摄像头、GPS 、罗盘、加速度计:需要硬件支持。
¾ 完备的开发环境:包括设备模拟器、调试工具、内存和性能分析工具,以及用于Eclipse 开发环境的插件。
3.Android 的优点
目前市面上的手机操作系统除了Android ,还有Symbian 、iPhone 等,与这些手机操作系统相比,Android 具有如下的优点。
(1)真正开放
Android 平台提供了从底层操作系统到上层的程序界面的所有软件,使用这个平台无须缴纳任何授权许可费用,同时不同的厂商还可以根据自身需求修改和扩展Android 平台。
(2)应用程序相互平等
在Android 平台下,除了应用程序运行的载体虚拟机之外,其他的软件是完全平等的。例如可以自己开发收发E-mail 的应用程序来替换系统提供的相应软件。
(3)应用程序之间沟通无界限
在Android 平台下开发应用程序,可以方便地实现应用程序之间的数据共享,只需要经过简单的声明或操作,应用程序就可以访问或调用其他应用程序的功能,或者将自己的部分数据和功能提供给其他应用程序使用。
1.1.2 Android 平台架构
在1.1.1节介绍了Android 平台的诞生及其特性和优点,本节将会对其内部的系统框架进行分析。了解其框架有助于更好地在Android 平台上开发应用。Android 平台的应用程序框架如图1-1所示。
Android 平台架构中的各模块介绍如下。
1.应用程序
Android 平台搭载了一系列的核心应用程序,如E-mail 客户端、日历、浏览器、电话簿等。这些应用程序都是用Java 语言开发的。
2.应用程序框架
通过提供一个开放的开发平台,Android 使开发极其丰富和新颖的应用程序成为可能。开发人员可以自由地使用设备的硬件、访问位置信息、运行后台服务、设置闹钟、添加状态栏的提醒等。
实战Android编程——手把手教你做出商用软件
4
图1-1 Android平台的应用程序框架
同时,开发人员可以像核心应用程序那样随意地使用框架的API来实现自己的功能,应用程序框架对组件之间的重用做了简化。在Android平台下,任何应用程序都可以发布自己的功能模块,其他的应用程序依据一定的安全限制就可以无阻碍地访问这些模块。同时这种机制还允许用户随意更换组件。
3.库
Android包含一个可供不同组件调用的C/C++库,这些功能模块通过应用程序框架暴露给开发者。下面列举一些主要的核心库。
¾系统C库(libc),标准C系统库的一个BSD系统的衍生实现,并为基于Linux的嵌入设备做了优化。
¾媒体库(Media Libraries),基于PacketVideo的OpenCORE,该库支持多种音频和视频格式,以及静态的图片文件。
¾SurfaceManager,主要负责管理针对显示系统的访问及无缝地混合来自不同应用程序的2D和3D图层。
¾SGL,2D图像引擎。
¾OpenGL ES,一个基于OpenGL ES 1.0 API的实现,该库或者使用3D硬件加速,或者使用内置的、经过高度优化过的3D软件光栅处理。
¾FreeType,提供对点阵字和向量字的绘制支持。
¾SQLite,一个面向所有应用程序的轻量级关系型数据库引擎。
4.Android运行时
在Android平台下,每个应用程序都在自己的进程中运行,而且系统为其分配了专有的Dalvik虚拟机,Dalvik虚拟机在设计时就添加了可以在一个设备上运行多个虚拟机的特性。Dalvik虚拟机执行.dex格式的文件,这类文件经过了优化,占有的内存非常小。
与Java虚拟机是基于栈的不同,Dalvik虚拟机是基于寄存器的,Dalvik虚拟机并不直接执行编译后的Java类文件,而是通过内置的dx工具将其转换为“.dex”格式后再执行。Dalvik 虚拟机依赖于Linux核心部件来实现线程管理等功能。
第1章 Android 开发起步
5
5.Linux Kernel
Android 平台使用Linux 2.6版本来构建诸如安全性、内存管理、进程管理、网络协议栈和驱动模型等系统服务,Linux 核心在硬件层和软件层之间建立了一个抽象层,使得Android 平台的硬件细节对开发人员透明化。
1.2 Android 开发环境的搭建
本书在前面的章节介绍了Android 平台的相关知识,了解了Android 的背景知识及平台架构,本节将向读者介绍如何在Eclipse 中搭建自己的Android 开发环境,同时还将通过一个“Hello Android ”项目向读者演示Android 平台下应用程序的开发过程。
1.2.1 相关软件的下载与安装
搭建Android 开发环境的第一步是下载与开发环境有关的软件资源,这些资源主要包括JDK 、Eclipse 、Android SDK 及Android 的支持插件。
1.JDK 的下载与安装
Android 平台下应用程序的开发是采用Java 语言的,所以首先需要下载并安装JDK 。打开浏览器,在地址栏输入如下地址并访问:java.sun/javase/downloads/index.jsp ,打开后的页面如图1-2所示。
图1-2 JDK 下载界面1
单击如图1-2所示的“Download JDK ”按钮即可进入下载界面,选择操作系统平台之后,就可以下载JDK 了,目前最新的JDK 版本为JDK 6 Update 18。
双击并运行下载好的JDK 安装文件,按照提示将JDK 安装到指定的文件夹,本书中将其安装到了C:\Program Files\Java\jdk1.6.0_18目录下。
实战Android 编程——手把手教你做出商用软件
android编程入门指南 pdf
62.Eclipse 的下载与安装
打开浏览器,在地址栏输入/downloads/,在下载界面到Eclipse Classic 3.5.2,单击下载链接,将Eclipse 下载到电脑上。Eclipse 不需要安装,只需将下载到电脑上的压缩包解压到硬盘上某个目录即可,本节中将其解压到F:\eclipse 目录下。
3.Android SDK 的下载与安装
打开浏览器,
在地址栏输入developer.android/sdk/index.html ,打开Android SDK 的下载页面,将android-sdk_r05-windows.zip 下载到电脑上,并将其解压到硬盘上某个位置,本书中为F:\android-sdk-windows 。
运行F:\android-sdk-windows 目录下的 ,程序将自动检测是否有更新的SDK 版本可供下载,检查结果如图1-3所示。
图1-3 运行SDK Setup 示意图
单击如图1-3所示的“Accept All ”单选按钮,并单击“Install ”按钮安装最新版本的SDK 。单击“Install ”按钮后如图1-4所示。最新的SDK 文件将会下载到F:\android-sdk-windows 目录中。
在桌面上右键单击“我的电脑”
,依次选择“高级”-“环境变量”-“系统变量”,在系统变量Path 中添加“F:\android-sdk-windows\tools ”并单击“确定”按钮,如图1-5所示。
图1-4 Android SDK 下载示意图 图1-5 将tools 路径添加到系统变量Path 中
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论