下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

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

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

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

酷儿乐乐
2011-01-13 0人阅读 举报 0 0 暂无简介

简介:本文档为《Android核心技术与实例详解—Android开发起步pdf》,可适用于IT/计算机领域

基础篇实战Android编程手把手教你做出商用软件第章Android开发起步本章将要介绍的是Android开发起步的相关知识首先将会对Android平台进行简单的介绍其中包括Android的背景及其应用程序的框架。然后会向读者讲解如何搭建Android的开发环境、如何在Ecl中创建一个项目以及如何使用Android平台提供的工具调试和监控应用程序。Android平台简介Android平台自发布以来就一直吸引着广大开发者的目光本节就对Android平台做简单的介绍读者通过本节的学习可以对Android平台的来龙去脉及内部结构有比较透彻的了解。Android背景介绍Android是一个开放的手机操作系统平台为移动设备提供了一个包含了操作系统、中间件及应用程序的软件叠层架构。AndroidSDK为开发人员使用Java语言编写Android平台下的应用程序提供了必要的工具和API。.Android的诞生Android也是一家公司的名称这家公司的创始人名叫AndyRubin。AndyRubin原来是苹果的一名工程师后来创办过几家公司。在创建Android公司时AndyRubin准备打造一个移动终端平台并将其对开发人员开放后来Google收购了该公司于是就有了今天如日中天的Android。.Android的特性Android自推出以来如此受追捧不仅仅是因为网络巨头Google的大力扶持Android自身所具有的特性才是吸引全球精英开发者的更重要原因。¾应用程序框架:可以方便地重用和替换手机组件。¾Dalvik虚拟机:专为移动设备优化过的虚拟机。¾内部集成浏览器:基于开源的WebKit引擎。¾优化的图形系统:其中自定义了D图形库D图形库基于OpenGLES可选硬件加速。第章Android开发起步¾SQLite:集成了轻量级数据库管理系统。¾多媒体支持:支持常见的音频和视频以及各种图片格式如MPEGHMPAACAMRJPGPNGGIF等。¾GSM技术、蓝牙、EDGE、G和WiFi:需要硬件支持。¾摄像头、GPS、罗盘、加速度计:需要硬件支持。¾完备的开发环境:包括设备模拟器、调试工具、内存和性能分析工具以及用于Eclipse开发环境的插件。.Android的优点目前市面上的手机操作系统除了Android还有Symbian、iPhone等与这些手机操作系统相比Android具有如下的优点。()真正开放Android平台提供了从底层操作系统到上层的程序界面的所有软件使用这个平台无须缴纳任何授权许可费用同时不同的厂商还可以根据自身需求修改和扩展Android平台。()应用程序相互平等在Android平台下除了应用程序运行的载体虚拟机之外其他的软件是完全平等的。例如可以自己开发收发Email的应用程序来替换系统提供的相应软件。()应用程序之间沟通无界限在Android平台下开发应用程序可以方便地实现应用程序之间的数据共享只需要经过简单的声明或操作应用程序就可以访问或调用其他应用程序的功能或者将自己的部分数据和功能提供给其他应用程序使用。Android平台架构在节介绍了Android平台的诞生及其特性和优点本节将会对其内部的系统框架进行分析。了解其框架有助于更好地在Android平台上开发应用。Android平台的应用程序框架如图所示。Android平台架构中的各模块介绍如下。.应用程序Android平台搭载了一系列的核心应用程序如Email客户端、日历、浏览器、电话簿等。这些应用程序都是用Java语言开发的。.应用程序框架通过提供一个开放的开发平台Android使开发极其丰富和新颖的应用程序成为可能。开发人员可以自由地使用设备的硬件、访问位置信息、运行后台服务、设置闹钟、添加状态栏的提醒等。实战Android编程手把手教你做出商用软件图Android平台的应用程序框架同时开发人员可以像核心应用程序那样随意地使用框架的API来实现自己的功能应用程序框架对组件之间的重用做了简化。在Android平台下任何应用程序都可以发布自己的功能模块其他的应用程序依据一定的安全限制就可以无阻碍地访问这些模块。同时这种机制还允许用户随意更换组件。.库Android包含一个可供不同组件调用的CC库这些功能模块通过应用程序框架暴露给开发者。下面列举一些主要的核心库。¾系统C库(libc)标准C系统库的一个BSD系统的衍生实现并为基于Linux的嵌入设备做了优化。¾媒体库(MediaLibraries)基于PacketVideo的OpenCORE该库支持多种音频和视频格式以及静态的图片文件。¾SurfaceManager主要负责管理针对显示系统的访问及无缝地混合来自不同应用程序的D和D图层。¾SGLD图像引擎。¾OpenGLES一个基于OpenGLESAPI的实现该库或者使用D硬件加速或者使用内置的、经过高度优化过的D软件光栅处理。¾FreeType提供对点阵字和向量字的绘制支持。¾SQLite一个面向所有应用程序的轻量级关系型数据库引擎。.Android运行时在Android平台下每个应用程序都在自己的进程中运行而且系统为其分配了专有的Dalvik虚拟机Dalvik虚拟机在设计时就添加了可以在一个设备上运行多个虚拟机的特性。Dalvik虚拟机执行dex格式的文件这类文件经过了优化占有的内存非常小。与Java虚拟机是基于栈的不同Dalvik虚拟机是基于寄存器的Dalvik虚拟机并不直接执行编译后的Java类文件而是通过内置的dx工具将其转换为“dex”格式后再执行。Dalvik虚拟机依赖于Linux核心部件来实现线程管理等功能。第章Android开发起步.LinuxKernelAndroid平台使用Linux版本来构建诸如安全性、内存管理、进程管理、网络协议栈和驱动模型等系统服务Linux核心在硬件层和软件层之间建立了一个抽象层使得Android平台的硬件细节对开发人员透明化。Android开发环境的搭建本书在前面的章节介绍了Android平台的相关知识了解了Android的背景知识及平台架构本节将向读者介绍如何在Eclipse中搭建自己的Android开发环境同时还将通过一个“HelloAndroid”项目向读者演示Android平台下应用程序的开发过程。相关软件的下载与安装搭建Android开发环境的第一步是下载与开发环境有关的软件资源这些资源主要包括JDK、Eclipse、AndroidSDK及Android的支持插件。.JDK的下载与安装Android平台下应用程序的开发是采用Java语言的所以首先需要下载并安装JDK。打开浏览器在地址栏输入如下地址并访问:http:javasuncomjavasedownloadsindexjsp打开后的页面如图所示。图JDK下载界面单击如图所示的“DownloadJDK”按钮即可进入下载界面选择操作系统平台之后就可以下载JDK了目前最新的JDK版本为JDKUpdate。双击并运行下载好的JDK安装文件按照提示将JDK安装到指定的文件夹本书中将其安装到了C:ProgramFilesJavajdk目录下。实战Android编程手把手教你做出商用软件.Eclipse的下载与安装打开浏览器在地址栏输入http:wwweclipseorgdownloads在下载界面找到EclipseClassic单击下载链接将Eclipse下载到电脑上。Eclipse不需要安装只需将下载到电脑上的压缩包解压到硬盘上某个目录即可本节中将其解压到F:eclipse目录下。.AndroidSDK的下载与安装打开浏览器在地址栏输入http:developerandroidcomsdkindexhtml打开AndroidSDK的下载页面将androidsdkrwindowszip下载到电脑上并将其解压到硬盘上某个位置本书中为F:androidsdkwindows。运行F:androidsdkwindows目录下的SDKSetupexe程序将自动检测是否有更新的SDK版本可供下载检查结果如图所示。图运行SDKSetup示意图单击如图所示的“AcceptAll”单选按钮并单击“Install”按钮安装最新版本的SDK。单击“Install”按钮后如图所示。最新的SDK文件将会下载到F:androidsdkwindows目录中。在桌面上右键单击“我的电脑”依次选择“高级”“环境变量”“系统变量”在系统变量Path中添加“F:androidsdkwindowstools”并单击“确定”按钮如图所示。图AndroidSDK下载示意图图将tools路径添加到系统变量Path中第章Android开发起步.ADT的下载与安装下面介绍在Eclipse环境下进行Android开发所必需的插件ADT(AndroidDevelopmentTools)的安装主要通过如下几个步骤来完成。运行F:eclipse目录下的eclipseexe单击“HelpInstallNewSoftware…”弹出如图所示的界面。单击“Add…”按钮弹出如图所示的添加新站点的界面在“Name”文本框中输入站点名称(本书为ADT读者可自行取名)在“Location”文本框中输入http:dlsslgooglecomandroideclipse输入完成后单击“OK”按钮。图InstallNewSoftware界面图添加Site界面Eclipse会自动连接该站点并将连接结果显示在如图所示的列表中。单击“Next”按钮将弹出显示所要安装的插件的细节内容的界面如图所示。图获取ADT信息示意图图显示所要安装的插件细节的界面继续单击“Next”按钮将弹出如图所示的确认安装插件界面选中“Iacceptthetermsofthelicenseagreements”单选按钮并单击“Finish”按钮Eclipse将会进行ADT和DDMS插件的安装安装进度如图所示。在安装的过程中会弹出如图所示的插件中包含未注册内容的警告单击“OK”按钮继续安装。安装结束后会弹出如图所示的是否重启Eclipse的提示框单击“Yes”重启Eclipse。实战Android编程手把手教你做出商用软件图确认安装插件界面图正在安装插件界面图弹出未注册警告提示框图弹出重启Eclipse提示框Eclipse重启之后选择“Window”“Preferences”菜单选项如图所示。在Preferences菜单左侧选择“Android”Eclipse会提示还没有指定AndroidSDK的路径在如图所示的界面中输入AndroidSDK的路径确认后完成ADT插件的安装。图Preferences菜单界面图配置AndroidSDK的路径虚拟设备的创建和使用使用AndoidSDK开发应用程序需要进行测试Android为开发人员提供了可以在电脑上直接测试应用程序的虚拟设备AVD(AndroidVirtualDevice)或称做模拟器。使用AVD可以方便地对应用程序进行测试。本节介绍如何在Android平台下创建AVD。.Eclipse环境下AVD的创建首先介绍如何在Eclipse环境下创建AVD步骤如下。第章Android开发起步启动Eclipse依次选择“Window”“AndroidSDKandAVDManager”如图所示。单击如图中所示的“New…”按钮弹出如图所示的对话框。图AndroidSDKandAVDManager界面图创建AVD对话框在图所示的对话框中设置所要创建的AVD的名称、API版本、SD卡的大小及AVD的皮肤单击“CreateAVD”按钮完成AVD的创建。创建成功的AVD将会显示在如图所示的列表中。图成功创建AVD在如图所示界面中单击“Start…”按钮将会启动所选的AVD本例中将启动名为“And”的AVD启动后的虚拟设备如图所示。.命令行下AVD的创建下面介绍如何在命令行下创建AVD虚拟设备步骤如下。启动命令行窗口在其中输入“androidlisttaget”屏幕中将显示当前可用的设备列表如图所示。在命令行输入“androidcreateavdnameAndtarget”结果如图所示直接按回车键将完成AVD的创建。创建成功时显示的界面如图所示。实战Android编程手把手教你做出商用软件图启动后的虚拟设备图当前可用的设备列表图创建AVD界面图成功创建AVD界面此时可以通过在命令行输入“emulator–avdAnd”来启动刚刚创建好的以“And”为名称的AVD。同时在命令行下创建的AVD也可以在Eclipse的“AndroidSDKandAVDManager”中看到同时可以在Eclipse中启动它。创建“HelloAndroid”前面的章节已完成了Android开发环境的初步搭建及虚拟设备AVD的创建本节将向读者介绍如何在Eclipse环境下开发第一个Android应用程序HelloAndroid。开发步骤如下。启动Eclipse按照如图所示依次选择“File”“New”“AndroidProject”将弹出如图所示的创建新项目界面。图创建Android项目菜单图创建Andoid项目界面第章Android开发起步在如图所示的创建Android项目界面填入必要的信息如项目名称、应用程序名称、Activity名称等同时还需要为项目选择目标API版本填写好相关信息后单击“Finish”按钮将创建一个项目。该项目的目录结构如图所示。在HelloAndroid目录中src目录用于存放源代码gen目录用于存放系统自动生成的类res和assets目录中存放了程序中的非代码资源。提示:如果读者在“File”“New”中未找到“AndroidProject”菜单选项请选择“Other…”并在其中寻找“AndoidProject”。启动虚拟设备在HelloAndroid项目上单击右键按照如图所示从菜单中选择“RunAs”“AndroidApplication”这时如果没有已启动的虚拟设备系统将会自动启动一个虚拟设备并将应用程序在此设备中运行。运行项目后观察虚拟设备的屏幕显示如图所示的界面。图运行项目菜单选项图HelloAndroid运行示意图Android应用程序的调试在Eclipse开发环境中不仅可以通过ADT插件来进行Android应用程序的开发还可以非常方便地对应用程序进行测试。本节介绍如何在Eclipse开发环境中对Android应用程序进行测试。最主要的测试工具是DDMS。DDMS是DalvikDebugMonitorService的简称主要功能是监控应用程序的运行并打印日志、模拟电话打入与接听、模拟短信的收发、虚拟地理位置等。有了DDMS的帮助可以大大降低应用程序的测试成本。.DDMS的启动启动Eclipse后单击Eclipse右上角的“OpenPerspective”从下拉菜单中选择“DDMS”图HelloAndroid项目的目录结构实战Android编程手把手教你做出商用软件如图所示。如果下拉菜单中没有DDMS则单击下拉菜单中的“Other…”并从弹出的对话框中选择“DDMS”如图所示。提示:除了在Eclipse中启动DDMS也可以通过运行SDK安装目录下的tools文件夹下的ddmsbat来启动DDMS。图在“OpenPerspective”中直接添加DDMS图在“OpenPerspective”的弹出菜单中添加DDMS.Devices面板首先来看DDMS系统中的Devices面板如图所示。在Devices面板中可以看到与DDMS连接的设备终端的信息及设备终端上运行的应用程序。在Devices面板中可以设置应用程序更新Heap状态、更新Thread状态或者直接停止某个应用程序的执行。同时Devices面板中还可以截取手机屏幕。.EmulatorControl面板DDMS中的EmulatorControl面板如图所示在Emulator面板中可以向模拟器AVD中打入电话或发送短信还可以虚拟模拟器的位置信息。图Devices面板示意图图EmulatorControl面板.信息输出面板如图所示是DDMS中的信息输出面板信息输出面板在调试中起到的作用最大其显示的信息窗口主要包括如下几个。第章Android开发起步¾Thread更新信息要使该窗口显示内容需要在Devices面板中设置Thread更新。Thread更新信息窗口的主要作用是显示应用程序当前状态下所有正在执行的线程的状态。图DDMS的信息输出窗口¾Heap更新信息要使该窗口显示内容需要在Devices面板中设置Heap更新。Heap更新信息窗口主要的作用是显示应用程序中堆的分配与回收等。¾FileExplorer该信息窗口主要显示Android模拟器中的文件如果模拟器启动时加载了SD卡也可以在该窗口查看SD卡的信息同时还可以向SD卡中拷入或拷出文件。¾LogCat该信息窗口在Android应用程序的调试中是使用最多的。LogCat中会显示应用程序的运行信息包括调试信息、警告信息、错误信息、普通信息及冗余信息。不同类型的信息具有不同的显示颜色方便开发人员观察。.DDMS中的日志输出在DDMS中的LogCat可以输出应用程序的运行信息如果开发人员需要在程序运行时打印一些调试用的消息除了使用传统的“Systemoutprintln()”之外还可以使用androidutil包下的Log类该类可以将信息以日志的形式输出到LogCat中。Log类中主要用到的方法及说明如表所示。表Log类中的方法及说明方法名方法说明参数说明Logv(Stringtag,Stringmsg)输出冗余消息Logd(Stringtag,Stringmsg)输出调试消息Logi(Stringtag,Stringmsg)输出普通消息Logw(Stringtag,Stringmsg)输出警告消息Loge(Stringtag,Stringmsg)输出错误消息tag:日志标签可用于过滤日志信息msg:输出的日志消息实战Android编程手把手教你做出商用软件下面通过一个例子来说明Log类的用法按照节的步骤创建一个项目HelloAndroid打开其项目中HelloAndroidJava将已有的代码替换为如下代码。packagewyfwpf声明包语句importandroidappActivity引入相关类importandroidosBundle引入相关类importandroidutilLog引入相关类publicclassHelloAndroidextendsActivity{StringTAG="MyLog"定义日志标签OverridepublicvoidonCreate(BundlesavedInstanceState){superonCreate(savedInstanceState)setContentView(Rlayoutmain)Logv(TAG,"ThisisaVERBOSEmessage")输出冗余消息Logd(TAG,"ThisisaDEBUGmessage")输出调试消息Logi(TAG,"ThisisanINFOmessage")输出普通消息Logw(TAG,"ThisisaWARNINGmessage")输出警告消息Loge(TAG,"ThisisaERRORmessage")输出错误消息}}代码位置:见随书光盘中源代码第章HelloAndroidsrcwyfwpf目录下的HelloAndroidJava。运行HelloAndroid项目将视图切换到DDMS观察LogCat的输出如图所示。图LogCat的日志输出信息当LogCat输出的信息量很大需要对其内容进行过滤时可以在DDMS中根据标签进行过滤这样使得应用程序调试变得更加方便。小结本章作为Andoid开发的起步章节主要向读者介绍了Android平台的来历和背景以及Android平台的内部架构了解这些知识有助于读者以后更深入地学习Android开发。在本章的后半部分主要介绍了如何搭建Android的开发环境。相信读者在学习本章之后已经熟练掌握了在Eclipse环境下开发Android应用程序的步骤。

VIP免券下载文档

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/14

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

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利