Android应用程序开发Xinjiang.Changji,2013.32教学内容任务4(6学时)任务3(8学时)任务2(2学时)任务1(2学时)任务5(6学时)搭建开发环境创建项目框架设计用户界面SDCard文件列表文件管理基础篇3教学内容任务9(8学时)任务8(8学时)任务7(8学时)任务6(10学时)任务10(2学时)系统设置图片浏览播放音乐和视频系统服务发布到Android市场提高篇4搭建开发环境任务5任务实现•下载开发Android应用程序的必备软件包•安装软件包并配置开发环境•创建Android模拟器6相关软件下载•JavaSDK–•EclipseIDE–•AndroidSDK–软件安装与配置•安装–JDK的安装过程只要根据安装向导一步步完成安装即可。要安装的项目包括开发工具(DevelopmentTools)、演示程序及样例(Demos)、源代码(SourceCode)、公用JRE(PublicJRE)及JavaDB。–Eclipse和AndroidSDK解压即可。8软件安装与配置•安装–安装Android开发插件•在Eclipse中,运行“Help/InstallNewSoftWare”菜单命令,打开Install对话框;•单击对话框中的Add按钮,打开AddSite窗口;•在窗口的Location框中输入网址:,Name框中输入Android(这里可以自定义)。9软件安装与配置•配置–配置AndroidSDK:Window/Preferences10软件安装与配置•配置–升级AndroidSDK:Window/AndroidSDKandAVDManager11软件安装与配置•配置–设置Android环境变量12创建AVD•新建–Window/AndroidSDKandAVDManager13必备知识•AVD操作简介•Android平台简介14AVD操作•启动AVD–命令行方式•打开命令行窗口,输入androidlistavd命令,显示本机已创建的AVD列表;•在命令行窗口,输入emulator–avdandroid命令启动AVD。15AVD操作•启动AVD–窗口方式•在Eclipse中,运行“Window/AndroidSDKandAVDManager”菜单命令,选择VirtualDevices中的android模拟器,单击Start按钮,即可启动Android模拟器。16AVD操作•主界面17AVD操作•查看应用程序–单击屏幕上的18AVD操作•主屏常见操作–查看应用程序–在主屏添加快捷图标–调整快捷图标位置–删除图标–滚动主屏–取消提示助手等19Android平台概述20手机操作系统•在早期的手机内部是没有智能操作系统的,所有的软件都是由手机生产商在设计时所定制的,因此手机在设计完成后基本是没有扩展功能的。•后期的手机为了提高手机的可扩展性,使用了专为移动设备开发的操作系统,使用者可以根据需要安装不同类型的软件。•操作系统对于手机的硬件配置要求较高,所产生的硬件成本和操作系统成本使手机的售价明显高于不使用操作系统的手机。•手机上的操作系统主要包括以下几种:–Android–iPhoneOS–WindowsMobile–Symbian–黑莓–PalmOS–Linux21Android平台•简介–Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放手持设备联盟(OpenHandsetAlliance)开发。Android号称是首个为移动终端打造的真正开放和完整的移动软件。22OHA开放手机联盟(OpenHandsetAlliance)–Google于2007年11月5日发起组建的一个全球性的联盟组织–网址:•联盟支持Google可能发布的手机操作系统或者应用软件,共同开发名为Android的开放源代码的移动系统•联盟成员已达80+家,包括五大类:–手机制造商–手机芯片商–移动运营商–软件开发商–软件服务商23OHA•联盟创始成员Aplix、Ascender、Audience、Broadcom、中国移动、eBay、Esmertec、谷歌、宏达电、英特尔、KDDI、LivingImage、LG、Marvell、摩托罗拉、NMS、NTTDoCoMo、Nuance、Nvidia、PacketVideo、高通、三星、SiRF、SkyPop、SonicNetwork、SprintNextel、Synaptics、TAT、意大利电信、西班牙电信、德州仪器、T-Mobile和WindRiver2425OHA与Android•OHA是一个软硬件开发者组织,包括Google,NTTDoCoMo,SprintNextel,HTC…,OHA推动了Android平台的研发和推广。•目标:•加速智能移动设备的发展•提供用户更多更好更便宜的服务•由OHA开发的Android™,是第一个完整的、开放的、免费的智能移动开发平台。26Android平台•平台架构……浏览器日历通讯录邮件客户端应用程序应用程序框架ActivityManagerContentProvidersWindowManagerViewSystemTelephonyManagerPackageManagerResourceManagerNotificationManagerLocationManagerAndroid运行时核心库Dalvik虚拟机Linux内核安全机制内存管理进程管理网络协议栈电源管理WiFi驱动显示驱动……函数库SurfaceManagerFreeTypeOpenGL|ESSQLiteMediaFrameworkWebKitSGLSSLlibc体系分为四层:1、Linux内核2、中间件层3、程序框架层4、应用程序层27•Linux内核–Linux2.6内核–硬件和其他软件堆层之间的一个抽象隔离层–提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等Android体系结构28•中间件层由函数库和Android运行时构成–函数库,主要提供一组基于C/C++的函数库•SurfaceManager,支持显示子系统的访问,提供应用程序与2D、3D图像层的平滑连接•MediaFramework,实现音视频的播放和录制功能•SQLite,轻量级的关系数据库引擎•OpenGLES,基于3D图像加速•FreeType,位图与矢量字体渲染•WebKit,Web浏览器引擎•SGL,2D图像引擎•SSL,数据加密与安全传输的函数库•Libc,标准C运行库,Linux系统中底层应用程序开发接口Android体系结构29•中间件层–Android运行时•核心库,提供Android系统的特有函数功能和Java语言函数功能•Dalvik虚拟机,是经过优化的多实例虚拟机,基于寄存器架构设计,实现基于Linux内核的线程管理和底层内存管理,采用专用的Dalvik可执行格式(.dex),该格式适合内存和处理器速度受限的系统Android体系结构30DVMvs.JVM•DVM•Google,基于寄存器运行,允许多个实例运行•Dalvikexcutablebytecode•为便携设备有限的系统资源和供电进行了专门优化•JVM•Sun,基于堆栈运行•Javabytecode•跨平台31•应用程序框架–提供Android平台基本的管理功能和组件重用机制•ActivityManager,管理应用程序的生命周期•WindowsManager,启动应用程序的窗体•ContentProvider,共享私有数据,实现跨进程的数据访问•PackageManager,管理安装在Android系统内的应用程序Android体系结构32•应用程序框架•TeleghonyManager,管理与拨打和接听电话的相关功能•ResourceManager,允许应用程序使用非代码资源•LocationManager,管理与地图相关的服务功能•NotificationManager,允许应用程序在状态栏中显示提示信息Android体系结构33•应用程序–提供一系列的核心应用程序–包括电子邮件客户端、浏览器、通讯录和日历等Android体系结构34Android的SDK版本•Android4.1(API-16)new!•Android4.0.3(API-15)•Android2.3.3(API-10)•Android2.2(API-8)•Android2.1(API-7)•Android1.6(API-4)•ObsoletePlatform...35据AndroidMarket2011年7月初下载量统计,Android2.2占总访问量的60%,而Android2.1和2.3.x均占18%,Android1.x仅为4%。Android用户下载统计(2011年7月5日)36Android用户下载统计(2012年7月2日)用户下载统计(2013年2月4日)38能力拓展•adbshell命令•Android项目管理39adbshell•常用命令–进入shell命令行adbshell–安装程序adbinstall*.apk–显示端口信息adbdevices–访问数据库sqlite340adbshell•常用命令–启动浏览器amstart-aAndroid.intent.action.view-d–拨号telnetlocalhost5554gsmcall15555218135–发信息telnetlocalhost5554smssend15555218135HelloAndroid41Android项目管理•查看项目–在模拟器桌面,单击Launcher按钮,打开应用程序管理界面,单击其中的AndroidApplication图标,即可启动项目应用程序。42Android项目管理•删除项目–方法一:应用程序管理器删除43Android项目管理•删除项目–方法二:DDMS删除44Android项目管理•查看日志–在LogCat框中可以查看项目运行的日志信息45项目实践•在自己的电脑上搭建Android开发环境。•下载一个apk文件并安装到模拟器。46创建项目框架任务47任务实现•文件管理器简介•创建应用程序项目•运行项目48文件管理器•主要功能–文件浏览–新建文件–移动/复制/删除文件–重命名文件–文件打开–查找文件–其他模块的接口49创建项目•步骤–File/New/Project–Android/AndroidProject50运行项目•步骤–Runas/RunConfigurations51必备知识•Android项目框架解析•DDMS•Activity52Android项目架构解析•项目结构–src存放项目中的Java源程序文件。53Android项目架构解析•项目结构–gen存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件,这个文件由Android开发工具自动产生。Android开发工具会自动根据放入res目录的xml界面配置文件、图片以及一些文本等资源文件而同步更新修改R.java文件。绝对不要手动编辑该文件!!!54Android项目架构解析•项目结构–asse