首页 Android核心技术与实例详解—Android开发起步

Android核心技术与实例详解—Android开发起步

举报
开通vip

Android核心技术与实例详解—Android开发起步 基 础 篇 实战 Android 编程——手把手教你做出商用软件 2 第1 章 Android 开发起步 本章将要介绍的是 Android 开发起步的相关知识,首先将会对 Android 平台进行简单的 介绍,其中包括 Android 的背景及其应用程序的框架。然后会向读者讲解如何搭建 Android 的开发环境、如何在 Ecl 中创建一个项目,以及如何使用 Android 平台提供的工具调试和监 控应用程序。 1.1 Android 平...

Android核心技术与实例详解—Android开发起步
基 础 篇 实战 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:集成了轻量级数据库管理系统。 ¾ 多媒体支持:支持常见的音频和视频,以及各种图片 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 ,如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), 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 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。打 开浏览器,在地址栏输入如下地址并访问:http://java.sun.com/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 编程——手把手教你做出商用软件 6 2.Eclipse的下载与安装 打开浏览器,在地址栏输入 http://www.eclipse.org/downloads/,在下载界面找到 Eclipse Classic 3.5.2,单击下载链接,将 Eclipse下载到电脑上。Eclipse不需要安装,只需将下载到 电脑上的压缩包解压到硬盘上某个目录即可,本节中将其解压到 F:\eclipse目录下。 3.Android SDK的下载与安装 打开浏览器,在地址栏输入 http://developer.android.com/sdk/index.html,打开 Android SDK 的下载页面,将 android-sdk_r05-windows.zip 下载到电脑上,并将其解压到硬盘上某个 位置,本书中为 F:\android-sdk-windows。 运行 F:\android-sdk-windows目录下的 SDK Setup.exe,程序将自动检测是否有更新 的 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中 第 1 章 Android开发起步 7 4.ADT的下载与安装 下面介绍在 Eclipse环境下进行 Android开发所必需的插件 ADT(Android Development Tools)的安装,主要通过如下几个步骤来完成。 运行 F:\eclipse目录下的 eclipse.exe,单击“Help-Install New Software…”,弹出如图 1-6所示的界面。 单击“Add…”按钮,弹出如图 1-7 所示的添加新站点的界面,在“Name”文本框 中输入站点名称(本书为 ADT,读者可自行取名),在“Location”文本框中输入 http://dl-ssl. google.com/android/eclipse/,输入完成后单击“OK”按钮。 图 1-6 Install New Software界面 图 1-7 添加 Site界面 Eclipse会自动连接该站点,并将连接结果显示在如图 1-8所示的列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中。单击“Next” 按钮,将弹出显示所要安装的插件的细节内容的界面,如图 1-9所示。 图 1-8 获取 ADT信息示意图 图 1-9 显示所要安装的插件细节的界面 继续单击“Next”按钮,将弹出如图 1-10所示的确认安装插件界面,选中“I accept the terms of the license agreements”单选按钮并单击“Finish”按钮,Eclipse将会进行 ADT和 DDMS插件的安装,安装进度如图 1-11所示。 在安装的过程中会弹出如图 1-12所示的插件中包含未注册内容的警告,单击“OK” 按钮继续安装。安装结束后会弹出如图 1-13所示的是否重启 Eclipse的提示框,单击“Yes” 重启 Eclipse。 实战 Android 编程——手把手教你做出商用软件 8 图 1-10 确认安装插件界面 图 1-11 正在安装插件界面 图 1-12 弹出未注册警告提示框 图 1-13 弹出重启 Eclipse提示框 Eclipse重启之后,选择“Window”-“Preferences”菜单选项,如图 1-14所示。 在 Preferences菜单左侧选择“Android”,Eclipse会提示还没有指定 Android SDK的路径, 在如图 1-15所示的界面中输入 Android SDK的路径,确认后完成 ADT插件的安装。 图 1-14 Preferences菜单界面 图 1-15 配置 Android SDK的路径 1.2.2 虚拟设备的创建和使用 使用 Andoid SDK开发应用程序需要进行测试,Android为开发人员提供了可以在电脑上 直接测试应用程序的虚拟设备 AVD(Android Virtual Device),或称做模拟器。使用 AVD可 以方便地对应用程序进行测试。本节介绍如何在 Android平台下创建 AVD。 1.Eclipse环境下 AVD的创建 首先介绍如何在 Eclipse环境下创建 AVD,步骤如下。 第 1 章 Android开发起步 9 启动 Eclipse,依次选择“Window”-“Android SDK and AVD Manager”,如图 1-16 所示。 单击如图 1-16中所示的“New…”按钮,弹出如图 1-17所示的对话框。 图 1-16 Android SDK and AVD Manager界面 图 1-17 创建 AVD对话框 在图 1-17所示的对话框中设置所要创建的 AVD的名称、API版本、SD卡的大小及 AVD的皮肤,单击“Create AVD”按钮完成 AVD的创建。创建成功的 AVD将会显示在如图 1-18所示的列表中。 图 1-18 成功创建 AVD 在如图 1-18所示界面中单击“Start…”按钮,将会启动所选的 AVD,本例中将启动 名为“And-21”的 AVD,启动后的虚拟设备如图 1-19所示。 2.命令行下 AVD的创建 下面介绍如何在命令行下创建 AVD虚拟设备,步骤如下。 启动命令行窗口,在其中输入“android list taget”,屏幕中将显示当前可用的设备列 表,如图 1-20所示。 在命令行输入“android create avd --name And-21-2 --target 11”,结果如图 1-21所示, 直接按回车键将完成 AVD的创建。创建成功时显示的界面如图 1-22所示。 实战 Android 编程——手把手教你做出商用软件 10 图 1-19 启动后的虚拟设备 图 1-20 当前可用的设备列表 图 1-21 创建 AVD界面 图 1-22 成功创建 AVD界面 此时可以通过在命令行输入“emulator –avd And-21-2”来启动刚刚创建好的以“And-21-2” 为名称的 AVD。同时,在命令行下创建的 AVD也可以在 Eclipse的“Android SDK and AVD Manager”中看到,同时可以在 Eclipse中启动它。 1.2.3 创建“Hello Android” 前面的章节已完成了 Android开发环境的初步搭建及虚拟设备 AVD的创建,本节将向读 者介绍如何在 Eclipse环境下开发第一个 Android应用程序——Hello Android。开发步骤如下。 启动 Eclipse,按照如图 1-23所示依次选择“File”-“New”-“Android Project”,将 弹出如图 1-24所示的创建新项目界面。 图 1-23 创建 Android项目菜单 图 1-24 创建 Andoid项目界面 第 1 章 Android开发起步 11 在如图 1-24所示的创建 Android项目界面填入必要的信息,如 项目名称、应用程序名称、Activity 名称等,同时还需要为项目选 择目标 API 版本,填写好相关信息后单击“Finish”按钮,将创建 一个项目。该项目的目录结构如图 1-25所示。 在 Hello Android目录中,src目录用于存放源代码,gen目录 用于存放系统自动生成的类,res和 assets目录中存放了程序中的非 代码资源。 提示:如果读者在“File”-“New”中未找到“Android Project”菜单选项,请选择“Other…” 并在其中寻找“Andoid Project”。 启动虚拟设备,在 Hello Android项目上单击右键,按照如图 1-26所示从菜单中选择 “Run As”-“Android Application”,这时如果没有已启动的虚拟设备,系统将会自动启动一 个虚拟设备,并将应用程序在此设备中运行。 运行项目后,观察虚拟设备的屏幕,显示如图 1-27所示的界面。 图 1-26 运行项目菜单选项 图 1-27 Hello Android运行示意图 1.2.4 Android应用程序的调试 在 Eclipse开发环境中,不仅可以通过 ADT插件来进行 Android应用程序的开发,还可 以非常方便地对应用程序进行测试。本节介绍如何在 Eclipse开发环境中对 Android应用程序 进行测试。最主要的测试工具是 DDMS。 DDMS是 Dalvik Debug Monitor Service的简称,主要功能是监控应用程序的运行并打印 日志、模拟电话打入与接听、模拟短信的收发、虚拟地理位置等。有了 DDMS的帮助,可以 大大降低应用程序的测试成本。 1.DDMS的启动 启动 Eclipse后,单击 Eclipse右上角的“Open Perspective”,从下拉菜单中选择“DDMS”, 图 1-25 Hello Android项目 的目录结构 实战 Android 编程——手把手教你做出商用软件 12 如图 1-28所示。如果下拉菜单中没有 DDMS,则单击下拉菜单中的“Other…”,并从弹出的 对话框中选择“DDMS”,如图 1-29所示。 提示:除了在 Eclipse 中启动 DDMS,也可以通过运行 SDK 安装目录下的 tools 文件 夹下的 ddms.bat 来启动 DDMS。 图 1-28 在“Open Perspective”中直接添加 DDMS 图 1-29 在“Open Perspective”的弹出菜单中添加 DDMS 2.Devices面板 首先来看 DDMS系统中的 Devices面板,如图 1-30所示。在 Devices面板中,可以看到 与 DDMS连接的设备终端的信息及设备终端上运行的应用程序。 在 Devices面板中,可以设置应用程序更新 Heap状态、更新 Thread状态,或者直接停 止某个应用程序的执行。同时 Devices面板中还可以截取手机屏幕。 3.Emulator Control面板 DDMS中的 Emulator Control面板如图 1-31所示,在 Emulator面板中可以向模拟器 AVD 中打入电话或发送短信,还可以虚拟模拟器的位置信息。 图 1-30 Devices面板示意图 图 1-31 Emulator Control面板 4.信息输出面板 如图 1-32 所示是 DDMS 中的信息输出面板,信息输出面板在调试中起到的作用最大, 其显示的信息窗口主要包括如下几个。 第 1 章 Android开发起步 13 ¾ Thread 更新信息,要使该窗口显示内容,需要在 Devices 面板中设置 Thread 更新。 Thread 更新信息窗口的主要作用是显示应用程序当前状态下所有正在执行的线程的 状态。 图 1-32 DDMS的信息输出窗口 ¾ Heap更新信息,要使该窗口显示内容,需要在 Devices面板中设置 Heap更新。Heap 更新信息窗口主要的作用是显示应用程序中堆的分配与回收等。 ¾ File Explorer,该信息窗口主要显示 Android 模拟器中的文件,如果模拟器启动时加 载了 SD卡,也可以在该窗口查看 SD卡的信息,同时还可以向 SD卡中拷入或拷出 文件。 ¾ LogCat,该信息窗口在 Android 应用程序的调试中是使用最多的。LogCat 中会显示 应用程序的运行信息,包括调试信息、警告信息、错误信息、普通信息及冗余信息。 不同类型的信息具有不同的显示颜色,方便开发人员观察。 5.DDMS中的日志输出 在 DDMS中的 LogCat可以输出应用程序的运行信息,如果开发人员需要在程序运行时 打印一些调试用的消息,除了使用传统的“System.out.println()”之外,还可以使用 android.util 包下的 Log类,该类可以将信息以日志的形式输出到 LogCat中。 Log类中主要用到的方法及说明如表 1-1所示。 表 1-1 Log类中的方法及说明 方 法 名 方法说明 参数说明 Log.v(String tag, String msg) 输出冗余消息 Log.d(String tag, String msg) 输出调试消息 Log.i(String tag, String msg) 输出普通消息 Log.w(String tag, String msg) 输出警告消息 Log.e(String tag, String msg) 输出错误消息 tag:日志标签,可用于过滤日志信息 msg:输出的日志消息 实战 Android 编程——手把手教你做出商用软件 14 下面通过一个例子来说明 Log 类的用法,按照 1.2.3 节的步骤创建一个项目 HelloAndroid2,打开其项目中 HelloAndroid2.Java,将已有的代码替换为如下代码。 1 package wyf.wpf; //声明包语句 2 import android.app.Activity; //引入相关类 3 import android.os.Bundle; //引入相关类 4 import android.util.Log; //引入相关类 5 public class HelloAndroid2 extends Activity { 6 String TAG = "MyLog"; //定义日志标签 7 @Override 8 public void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.main); 11 Log.v(TAG, "This is a VERBOSE message"); //输出冗余消息 12 Log.d(TAG, "This is a DEBUG message"); //输出调试消息 13 Log.i(TAG, "This is an INFO message"); //输出普通消息 14 Log.w(TAG, "This is a WARNING message"); //输出警告消息 15 Log.e(TAG, "This is a ERROR message"); //输出错误消息 16 } 17 } 代码位置:见随书光盘中源代码/第 1章/Hello Android2/src/wyf/wpf目录下的 HelloAndroid2.Java。 运行 HelloAndroid2项目,将视图切换到 DDMS,观察 LogCat的输出,如图 1-33所示。 图 1-33 LogCat的日志输出信息 当 LogCat输出的信息量很大需要对其内容进行过滤时,可以在 DDMS中根据标签进行 过滤,这样使得应用程序调试变得更加方便。 1.3 小结 本章作为 Andoid开发的起步章节,主要向读者介绍了 Android平台的来历和背景,以及 Android平台的内部架构,了解这些知识有助于读者以后更深入地学习 Android开发。在本章 的后半部分主要介绍了如何搭建 Android 的开发环境。相信读者在学习本章之后,已经熟练 掌握了在 Eclipse环境下开发 Android应用程序的步骤。
本文档为【Android核心技术与实例详解—Android开发起步】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_861414
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:14
分类:互联网
上传时间:2012-11-17
浏览量:5