您好,欢迎访问三七文档
12了解常见手机操作系统的特点了解开放手机联盟的目的、组成和性质了解Android平台的发展历史掌握Android的特征掌握Android平台的体系结构掌握Android开发环境的安装配置方法了解AndroidSDK的目录结构和示例程序了解各种Android开发工具及其用途3目前智能手机操作系统主要Symbian◦由Symbian开发和维护,后被诺基亚收购◦实时多任务的32位操作系统◦功耗低、内存占用少、应用界面框架灵活◦不开放核心代码,但公开API文档Android◦由谷歌发布的基于Linux的开源手机平台◦第一个完全定制、免费、开放的手机平台◦使用Java语言开发◦支持多种硬件设备4WindowsMobile◦由微软公司推出的移动设备操作系统◦可播放音视频、浏览网页、MSN聊天、收发电子邮件◦硬件配置高、耗电量大iPhoneOS◦由苹果公司开发的手机操作系统◦支持内置加速器5◦开放手机联盟(OpenHandsetAlliance,OHA):由谷歌公司于2007年发起的一个全球性的联盟组织,成立时包含34家联盟成员,现在成员有所增加◦OHA的目标研发移动设备新技术,大幅削减移动设备开发与推广成本通过联盟各个合作方的努力,建立移动通信领域新的合作环境,促进创新移动设备开发6◦开放手机联盟主要成员7开放手机联盟◦电信运营商:包括中国移动、KDDI(日本)、NTTDoCoMo(日本)、SprintNextel(美国)、T-Mobile(美国)、Telecom(意大利)、中国联通、Softbank(日本)、Telefonica(西班牙)和Vodafone(英国)等多家机构8开放手机联盟◦半导体芯片商:包括Audience(美国)、AKM(日本)、ARM(英国)、AtherosCommunications(美国)、Broadcom(美国)、Intel(美国)、Marvell(美国)、nVIDIA(美国)、Qualcomm(美国)、SiRF(美国)、Synaptics(美国)、ST-Ericsson(意大利、法国和瑞典)和TexasInstruments(美国)等9开放手机联盟◦手机硬件制造商:包括Acer(中国台湾)、华硕(中国台湾)、Garmin(中国台湾)、宏达电HTC(中国台湾)、LG(韩国)、三星(韩国)、华为(中国)、摩托罗拉(美国)、索尼爱立信(日本和瑞典)和东芝(日本)10开放手机联盟◦软件厂商:包括AscenderCorp(美国)、eBay(美国)、谷歌(美国)、LivingImage(日本)、NuanceCommunications(美国)、Myraid(瑞士)、Omron(日本)、PacketVideo(美国)、SkyPop(美国)、Svox(瑞士)和SONiVOX(美国)等11开放手机联盟◦商品化公司:包括AplixCorporation(日本)、NoserEngineering(瑞士)、Borqs(中国)、TAT-TheAstonishing(瑞典)、TelecaAB(瑞典)和WindRiver(美国)等12学习和采用Android的理由有:国内外很多移动巨头都开始着手进行基于Android的应用软件开发,国内厂商可以借鉴其开发经验,更好地促进移动技术的开发与应用。其良好的盈利模式使得运营商、制造商、独立软件生产商都可以从中获得不菲的利益。Android拥有完善的程序开发环境,如设备模拟器、调试工具、内存和性能分析工具等。另外,Android继承了开源技术的基本特征,社区支持度高,系统应用的移植性好。采用了对有限内存、电池和CPU优化过的虚拟机Dalvik,处理速度更快。13学习和采用Android的理由有:应用程序框架可以方便地重用。集成了基于开源的WebKit引擎的浏览器。集成了轻量级数据库管理系统SQLite。拥有优化的图形系统,自定义了2D/3D图形库。支持常见的音频和视频以及各种图片格式。在相应硬件环境(注:这些硬件环境多是目前智能手机能够提供的)支持下,可集成GSM、蓝牙、EDGE、3G、Wi-Fi、摄像头、GPS、罗盘、加速度计等。14采用软件堆层的架构,共分为四层1.3AndroidSDK简介HomeContactsPhoneBrowser…ApplicationsActivityManagerWindowsManagerContentProvidersViewSystemApplicationFrameworkPackageManagerTelephonyManagerResourceManagerLocationManagerNotificationManagerLibrariesAndroidRuntimeCoreLibrariesDalvikVirtualMachineSurfaceManagerOpenGLMediaFrameworkFreeTypeSQLiteWebkitSGLSSLLibcLinuxKernelDisplayDriverCameraDriverFlashMemoryDriverBinder(IPC)DriverKeypadDriverWi-fiDriverAudioDriversPowerManagement15Linux内核◦是硬件和其他软件堆层之间的一个抽象隔离层◦提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等1.3AndroidSDK简介16中间件层:由函数库和Android运行时构成◦函数库主要提供一组基于C/C++的函数库SurfaceManager:支持显示子系统的访问,提供应用程序与2D、3D图像层的平滑连接MediaFramework:实现音视频的播放和录制功能SQLite:轻量级的关系数据库引擎OpenGLES:基于3D图像加速FreeType:位图与矢量字体渲染WebKit:Web浏览器引擎SGL2D图像引擎SSL:数据加密与安全传输的函数库Libc:标准C运行库,Linux系统中底层应用程序开发接口1.3AndroidSDK简介17中间件层◦Android运行时核心库,提供Android系统特有函数功能和Java语言函数功能Dalvik虚拟机,实现基于Linux内核线程管理和底层内存管理1.3AndroidSDK简介18应用程序框架◦提供Android平台基本的管理功能和组件重用机制ActivityManager:管理应用程序的生命周期WindowsManager:启动应用程序的窗体ContentProvider:共享私有数据,实现跨进程的数据访问PackageManager:管理安装在Android系统内的应用程序TeleghonyManager:管理与拨打和接听电话的相关功能1.3AndroidSDK简介19应用程序框架ResourceManager:允许应用程序使用非代码资源LocationManager:管理与地图相关的服务功能NotificationManager:允许应用程序在状态栏中显示提示信息1.3AndroidSDK简介20应用程序◦提供一系列的核心应用程序◦包括电子邮件客户端、浏览器、通讯录和日历等1.3AndroidSDK简介21◦Activity:相当于Windows应用程序的对话框或网络应用程序的Web页面◦Contentprovider:提供供多个应用使用的数据存储◦Service:和Activity独立的可以保持后台运行的服务,如在后台运行的音乐播放器◦Intent:描述一个程序想要作些什么事情、从一个Activity跳到另一个Activity等。借助于Intent,各个Activity间的切换是很方便的简单的Android应用程序组成22ADT是为Eclipse定制的一个AndroidDevelopomentTools插件,目的是提供一个强大的综合环境用于开发Android程序它扩展了Eclipse的功能,帮助创建界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序1.4用于在Eclipse中开发程序的外挂工具ADT23和普通Java虚拟机不同的是,Dalvik支持运行的文件格式是特殊的,因此它需要将普通Java的class的文件用AndroidSDK中的dx工具转换为.dex格式的文件(这些转换对使用EclipseADT的程序开发者而言是透明的)24AVD(AndroidVirtualDevice)是由Qemu所改装而成的。Qemu是一套由FabriceBellard所编写的模拟处理器的自由软件,其高速度及跨平台特很突出,它支持其中的三个版本(Windows、Linux、MacOS)来供Android开发者使用。Qemu可以让x86平台上仿真ARM处理器运行Android,可以在系统中仿真出虚拟的CPU,然后将要仿真的操作系统交给这个虚拟CPU去处理,能够达到在同一平台却能同时执行不同操作系统的目的。Android实际上是通过Qemu+deviceskin功能来显示当前所看到的手机虚拟器。25AndroidMarket是个开放的平台,开发者可以上传和推售自己的程序,用户可以随时随地下载、安装和评价。开发者仅需三个简单的步骤即可在上传内容:注册、上传内容并加以描述、发布。26272829本章对Android智能手机软件开发进行综述,以期读者对智能手机软件开发能有一个全局认识。Android智能手机在市场上拥有巨大的发展潜力,值得应用程序开发人员重视。AndroidSDK提供了在Windows/Linux/Mac平台上开发Android应用程序的相应的开发组件,含有在Android平台上开发应用程序的工具集。借助于AndroidSDK提供的四层架构以及相应工具的支持,程序开发人员可以方便地开发Android应用程序。在进行应用程序开发时,一般需要在Eclipse中使用Java语言开发,之后Android中的RunTime的Dalvik虚拟机将其转换运行dex字节码,而应用程序的使用界面UI则需要通过XML和Java程序设计来实现。AndroidMarket则提供了发布、交流应用程序窗口301、AndroidSDK由基层基础架构所组成?各层的主要功能、组成各是什么?2、参阅本书附录,了解Eclipse的使用。了解在Eclipse中建立、运行、调试Java应用程序的方法;了解Eclipse插件(如Log4j)的添加与使用方法。3、参阅本书附录,了解XML技术。熟悉XML文档的组成成分及其作用等。4、由于Android应用程序是使用Java语言编写的,因此具备Java技术方面的经验是必需的。请了解Java中有关字符串操作、流与文件读写等的方法。
本文标题:安卓课件第1章
链接地址:https://www.777doc.com/doc-3973798 .html