2Android教程01-平台概述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Android课程讲义智能手机开发2010.03.浙江大学计算机学院课程结构目标:了解智能手机开发现状,Android平台体系结构和应用程序模型,覆盖了几个主要技术应用。平台综述开发环境程序结构数据存取网络连接硬件访问图形编程用户界面HelloWorldHelloAndroidFileAndroidHttpAndroidCameraAndroidHelloAndroid浙江大学计算机学院课程结构Android平台综述:平台介绍、开发者社区开发环境:构建Android开发环境应该程序:应用程序结构典型应用:用户界面图形编程数据存取网络连接硬件访问浙江大学计算机学院获取Android资料的途径有时需要翻墙下载SDK等相关软件查看文档在线帮助开发社区1、平台概述智能手机开发2010.06.浙江大学计算机学院开放手机联盟开放手机联盟,OpenHandsetAlliance:是美国Google公司与2007年11月5日宣布组建的一个全球性的联盟组织。联盟将会支持Google发布的Android手机操作系统或者应用软件,共同开发名为Android的开放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员数量已经达到了43家。浙江大学计算机学院移动手机联盟创始成员Aplix、Ascender、Audience、Broadcom、中国移动、eBay、Esmertec、谷歌、宏达电、英特尔、KDDI、LivingImage、LG、Marvell、摩托罗拉、NMS、NTTDoCoMo、Nuance、Nvidia、PacketVideo、高通、三星、SiRF、SkyPop、SonicNetwork、SprintNextel、Synaptics、TAT、意大利电信、西班牙电信、德州仪器、T-Mobile和WindRiver。浙江大学计算机学院浙江大学计算机学院GooglePhone浙江大学计算机学院OHA与AndroidOHA是一个软硬件开发者组织,包括Google,NTTDoCoMo,SprintNextel,andHTC…目标:加速智能移动设备的发展提供用户更多更好更便宜的服务由OHA开发的Android™,是第一个完整的、开放的、免费的智能移动开发平台。浙江大学计算机学院AndroidAndroid软件系列包括操作系统、中间件和一些关键应用。Android是基于JAVA的系统,运行在Linux2.6核上。AndroidSDK提供多种开发所必要的工具与API。浙江大学计算机学院特点1应用框架可以重复使用,其组件也可以更换。Dalvik虚拟机针对移动设备进行了优化。优化的图形能力支持2D、3D图形(OpenGLES1.0)。集成了基于开源WebKit引掣的浏览器。SQLite作为结构化数据存储。浙江大学计算机学院特点2多媒体支持多种音频、视频格式。GSMTelephony(hardwaredependent)支持蓝牙Bluetooth,3G和WiFi支持照相机、GPS、指南针和加速度仪等传感器硬件。丰富的开发环境。包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件。浙江大学计算机学院Android的优势源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发出更具差异性的应用。采用了对有限内存、电池和CPU优化过的虚拟机Dalvik,Android的运行速度比想象的要快很多。运营商(中国移动等)的大力支持,产业链条的热捧。良好的盈利模式(3/7开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错的利益。将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。Android的源代码遵循ApacheV2软件许可,而不是通常的GPLv2许可。有利于商业开发。具有强大的Linux社区的支持。浙江大学计算机学院Android的不足由于采用了Java作为应用开发语言,目前可用的传统第三方应用还很少,但由于Android是一款完全开源的移动计算平台,相信第三方应用会很快的丰富起来。Google提供了一套Java核心包(J2SE5,J2SE6)的有限子集,尚不承诺遵守Java任何Java规范,可能会造成Java阵营的进一步分裂。现有应用完善度不太够,需要的开发工作量较大。基于QEMU开发的模拟器调试手段不十分丰富,只支持通话、SMS等,速度慢。暂不具备PushMail和Office(DataViz、QuickOffice计划近期推出)功能,目前主要面向的是普通消费者用户,对商业用户支持尚弱。浙江大学计算机学院系统环境AndroidSDK所支持的操作系统:WindowsXP(32-bit)orVista(32-or64-bit)MacOSX10.4.8orlater(x86only)Linux(testedonLinuxUbuntuDapperDrake)浙江大学计算机学院Android的系统架构浙江大学计算机学院LinuxKernelAndroid基于Linux内核,但不是Linux内核提供系统核心服务,如进程、内存、电源管理,网络连接,驱动与安全等。并不包括全部的Linux。浙江大学计算机学院Android内核Linux内核位于硬件和软件堆之间的抽象层核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。操作系统的初始化和编程接口和标准的Linux系统是有所不同的。浙江大学计算机学院LibrariesBionicLibcFunctionLibrariesNativeServersHardwareAbstractionLibraries浙江大学计算机学院LibrariesC/C++库:被各种Android组件使用通过应用程序框架开发者可以使用其功能包括:媒体库:MPEG4H.264MP3JPGPNG.....WebKit/LibWebCore:Web浏览引擎SQLite关系数据库引擎2D,3D图形库、引擎浙江大学计算机学院FunctionLibrariesWebKit基于开源WebKit的浏览器支持CSS、Javascript、DOM、Ajax多媒体框架基于PacketVideoOpenCORE平台支持标准音频、视频SQLite轻型数据库,支持多种平台浙江大学计算机学院NativeServers-Surface为多种应用提供2D、3D表面设计浙江大学计算机学院NativeServers-Audio音频处理浙江大学计算机学院HardwareAbstractionLibs硬件虚拟层UserspaceC/C++librarylayer硬件接口驱动使Android平台逻辑与硬件接口分离浙江大学计算机学院AndoidRuntime应用开发语言:JavaDalvik虚拟机指令:DalvikExcutableJava标准库把java代码编译为Dalvik可执行文件(dexformat)浙江大学计算机学院运行环境核心库提供的Java功能Dalvik虚拟机依赖于Linux内核,可同时运行多个Dalvik虚拟机,每一个Android应用程序在它自己的DalvikVM实例中运行VM执行优化的Dalvik可执行文件(.dex)Dx-工具把编译过的Java文件转换为dex文件浙江大学计算机学院DalvikVirtualMachineAndroidcustomimplementationvirtualmachineProvidesapplicationportabilityandruntimeconsistencyRunsoptimizedfileformat(.dex)andDalvikbytecodeJava.class/.jarfilesconvertedto.dexatbuildtimeDesignedforembeddedenvironmentSupportsmultiplevirtualmachineprocessesperdeviceHighlyCPU-optimizedbytecodeinterpreterEfficientlyUsingruntimememoryCoreLibrariesCoreAPIsforJavalanguageprovideapowerful,yetsimpleandfamiliardevelopmentplatform浙江大学计算机学院DVMvsJVMDVMGoogleDalvikexcutableJVMSunJavabytecode浙江大学计算机学院浙江大学计算机学院ApplicationsFrameworkActivitymanager管理运行应用程序ContentProvider在各应用之间共享数据ResourceManager管理非代码资源NotificationManager显示用户提示和状态栏ViewsSystem可扩展显示,可构建UI浙江大学计算机学院应用和框架核心应用,例如联系人,电子邮件,电话,浏览器,日历,地图,...充分访问所有核心应用框架API简化组件的重用用Java编写应用程序浙江大学计算机学院ApplicationsJAVA编写的应用程序浙江大学计算机学院开发环境IDE–EclipseEclipseplug-in-ADTSoftwareDevelopmentKit(SDK)AndroidEmulatorDebuger浙江大学计算机学院ConstantsintBASEOct.2008Theoriginal,first,versionofAndroid.intBASE_1_1Feb.2009FirstAndroidupdate,officiallycalled1.1.intCUPCAKEMay2009Android1.5.intCUR_DEVELOPMENTMagicversionnumberforacurrentdevelopmentbuild,whichhasnotyetturnedintoanofficialrelease.intDONUTSep.2009Android1.6.intECLAIRNov.2009Android2.0:Applicationstargetingthisoralaterreleasewillgetthesenewchangesinbehavior:TheService.onStartCommandfunctionwillreturnthenewSTART_STICKYbehaviorinsteadoftheoldcompatibilitySTART_STICKY_COMPATIBILITY.intECLAIR_0_1Dec.2009Android2.0.1intECLAIR_MR1Jan.2010Android2.1浙江大学计算机学院Thankyou!

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功