浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Android 课程讲义智能手机开发2010.03.
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
课程结构
目标:了解智能手机开发现状,Android平台体系结构和 应用程序模型,覆盖了几个主要技术应用。 用户界面 数据存取HelloAndroid FileAndroid HttpAndroid
HelloWorld
平台综述 开发环境
程序结构
网络连接 硬件访问 图形编程
CameraAndroid HelloAndroid2
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
课程结构
Android平台综述:
平台介绍、开发者社区 构建Android开发环境 应用程序结构 用户界面 图形编程 数据存取 网络连接 硬件访问
开发环境:
应该程序:
典型应用:
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
获取Android资料的途径
有时需要翻墙
下载SDK等相关软件 查看文档 在线帮助 开发社区
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
1、平台概述智能手机开发2010.06.
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
开放手机联盟
开放手机联盟,Open Handset Alliance:是美国 Google 公司与2007 年11 月5 日宣布组建的一个全球 性的联盟组织。 联盟将会支持Google 发布的Android 手机操作系统或者 应用软件,共同开发名为Android 的开放源代码的移动系 统。 开放手机联盟包括手机制造商、手机芯片厂商和移动运营 商几类。目前,联盟成员数量已经达到了43 家。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
移动手机联盟创始成员
Aplix、Ascender、Audience、Broadcom、中国移动、 eBay、Esmertec、谷歌、宏达电、英特尔、KDDI、 Living Image、LG、Marvell、摩托罗拉、NMS、NTT DoCoMo、Nuance、Nvidia、PacketVideo、高通、三 星、SiRF、SkyPop、Sonic Network、Sprint Nextel、 Synaptics、TAT、意大利电信、西班牙电信、德州仪器、 T-Mobile和Wind River。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
/fatlab2010.06. 浙江大学计算机学院 8
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Google Phone
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 http://multi
/fatlab
OHA与Android
OHA是一个软硬件开发者组织,包括 Google, NTT DoCoMo, Sprint Nextel, and HTC … 目标:
加速智能移动设备的发展 提供用户更多更好更便宜的服务
由OHA开发的Android ,是第一个完整的、开放的、免 费的智能移动开发平台。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Android
Android 软件系列包括操作系统、中间件和一些关键应用。 Android是基于JAVA的系统,运行在 Linux 2.6核上。 Android SDK 提供多种开发所必要的工具与API。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
特点1
应用框架可以重复使用,其组件也可以更换。 Dalvik虚拟机针对移动设备进行了优化。 优化的图形能力支持2D、3D图形(OpenGL ES 1.0 )。 集成了基于开源WebKit引掣的浏览器。 SQLite作为结构化数据存储。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
特点2
多媒体支持多种音频、视频格式。 GSM Telephony (hardware dependent) 支持蓝牙Bluetooth,3G和WiFi 支持照相机、GPS、指南针和加速度仪等传感器硬件。 丰富的开发环境。包括模拟机、调试工具、内存运行检测, 以及为Eclipse IDE所写的插件。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Android的优势
源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高 开发人员的技术水平,有利于开发出更具差异性的应用。 采用了对有限内存、电池和CPU 优化过的虚拟机Dalvik,Android 的运行速度比想象的要快很多。 运营商(中国移动等)的大力支持,产业链条的热捧。 良好的盈利模式(3/7 开),产业链条的各方:运营商、制造商、独 立软件生产商都可以获得不错的利益。将移动终端的评价标准从硬件 向软件转变,极大的激发了软件开发者的热情。 Android 的源代码遵循Apache V2 软件许可,而不是通常的GPL v2 许可。有利于商业开发。 具有强大的Linux 社区的支持。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Android的不足
由于采用了Java 作为应用开发语言,目前可用的传统第三方应用还 很少,但由于Android 是一款完全开源的移动计算平台,相信第三方 应用会很快的丰富起来。 Google 提供了一套Java 核心包(J2SE 5,J2SE 6)的有限子集,尚 不承诺遵守Java
任何Java 规范,可能会造成Java 阵营的进一步分 裂。 现有应用完善度不太够,需要的开发工作量较大。 基于QEMU 开发的模拟器调试手段不十分丰富,只支持通话、SM S等,速度慢。 暂不具备Push Mail 和Office(DataViz、QuickOffice 计划近期推出) 功能,目前主要面向的是普通消费者用户,对商业用户支持尚弱。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
系统环境
Android SDK所支持的操作系统:
Windows XP (32-bit) or Vista (32- or 64-bit) Mac OS X 10.4.8 or later (x86 only) Linux (tested on Linux Ubuntu Dapper Drake)
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Android的系统架构
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Linux Kernel
Android 基于Linux内核,但不是Linux 内核提供系统核心服务,如进程、内存、电源管理,网络 连接,驱动与安全等。 并不包括全部的Linux。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Android内核
Linux 内核位于硬件和软件堆之间的抽象层
核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。 内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。 操作系统的初始化和编程接口和标准的Linux 系统是有所不同的。
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Libraries
Bionic Libc Function Libraries Native Servers Hardware Abstraction Libraries
2010.06.
浙江大学计算机学院
浙大计算机学院android课程课件
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室 /fatlab
Libraries
C/C++库:被各种Android 组件使用通过应用程序 框架开发者可以使用其功能包括: 媒体库:MPEG4 H.264 MP3 JPG PNG ..... WebKit/LibWebCore:Web 浏览引擎 SQLite 关系数据库引擎 2D,3D 图形库、引擎
2010.06.
浙江大学计算机学院