中国电信-Android交流-技术_图文

2010-1-22

Security Level:

中国电信-华为 Android技术交流
Huawei S7 Product
www.huawei.com

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Agenda

1 2 3

Android 架构介绍

Android开发调试工具 Android开发调试工具

Android应用软件开发与设计 Android应用软件开发与设计

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 2

Android架构
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于 Linux平台的开源手机软件平台的名称,该平台由操作系统、中间件、用户界面和应 用软件组成,是为移动终端打造的开放和完整的移动软件。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 3

Linux Kernel

?clair基于Linux Kernel 2.6.29,经过裁减的版本 YaFFS2:文件系统 Binder:用于IPC,使用共享内存方式提升进程间通信性能 Power Manager:使用标准Linux的电源管理,模块可通过通过请求“wake locks”的方式保持独立供电

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 4

本地库Libraries- Bionic C

Google开发,针对嵌入式进行了优化,体积小(~200K) BSD License 实现一个小巧的pThread,速度快 加入了对Android特殊服务的支持,例如获取系统属性(properties),LOG调 试功能 不支持某些Posix特性 和GNU Libc(glibc)不保持兼容
HUAWEI TECHNOLOGIES CO., LTD. Huawei Confidential Page 5

本地功能库- Webkit

基于Open Source的Webkit浏览器(http://webkit.org) 网页内容渲染组件,是浏览器的核心内容 基于C++开发,运行效率高 LGPL Liscense 支持页面的全屏显示 支持CSS, Javascript, AJAX 未集成Adobe FLASH

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 6

本地功能库- Media Framework

Media Framework基于PacketVideo的OpenCore平台 Android 1.6已升级到OpenCore2.0版本 基于C++开发,Google买断版权 支持标准的音视频及图片格式,不支持WMA/RM 支持各种软硬Codec插件,支持OpenMax IL接口

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 7

本地服务进程- Surface Flinger
Surface APP Surface APP Surface Surface Flinger Frame Buffer

提供系统界面Composer的概念,Surface Flinger汇集当前系统需要绘制的所 有“界面”,统一由Surface Flinger刷新到Framebuffer中. 可以组合2D和3D界面,可以使用2D/3D硬件加速进行界面绘制 Surface以Buffer的形式通过Binder IPC进行传递

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 8

本地服务进程- Audio Flinger
APP APP Tone Audio Media Player Game Audio Audio Flinger Earpeace Speaker Bluetooth

处理多音频流,输出到PCM音频设备 可以处理多种外设,例如耳机、听筒等 重定向音频流到指定的输出

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 9

HAL(Hardware Abstraction Libraries)

用户态的C/C++函数库层 定义了Android需要内核驱动必须实现的接口 很好的隔离了Android上层框架与硬件驱动接口

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 10

本地功能库- Webkit

SQLite:关系数据库,简单,高效,被广泛使用 Webkit:网页内容渲染组件,是浏览器的核心内容 Media Framework:使用MediaCore,是PacketVideo的商用产品,Google买断了 版权 OpenGL/ES:3D加速渲染引擎,业内事实标准 SGL:2D加速渲染引擎,Google基于SDL开发 SSL:加密协议 FreeType:矢量字体引擎,被广泛使用

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 11

Android Runtime

Dalvik虚拟机是ES给Android定制实现的高效虚拟机(VM):
是一种先进的虚拟机,具有中断方式,有寄存器的概念 优化了程序的存储器需求 优化编译,运行指令更简单,执行步骤更少,速度更快 允许同时存在多个虚拟机实例进程 依赖于OS的进程隔离、内存管理以及线程管理 可运行优化过的文件格式(.dex)和Dalvik字节码流

核心库:核心库的APIs为使用JAVA语言编写应用程序提供了功能强大而简单的开发环 境,CORE-API包括Utilities、File Access、Network Access、Graphics、Data Structure

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 12

App Framework

核心平台服务,包括: Activity Manager:处理应用软件的生命周期 Windows Manager:处理所有带窗口的应用软件 Content Provider:管理应用软件所需要的数据 View system:提供应用软件所使用的控件 Notification Manager:管理应用软件的状态信息等内容 Package Manager:处理系统中加载应用软件的信息 Resource Manager:对于用户界面元素进行管理 硬件服务,包括: Telephony Service Location Service Bluetooth Service WIFI Service USB Service Sensor Service

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 13

Android API

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 14

API Packages
NO. API packages Introduction These are the basic packages that make up the Android SDK for writing applications. The packages are organized as layers, listed here from lowest-level to highest contains various low-level utility classes, such as specialized container classes, XML utilities, etc provides basic operating system services, message passing, and inter-process communication he core rendering package supply a rich set of text processing tools, supporting rich text, input methods, etc

1 Core Packages

2 android.util 3 android.os 4 android.graphics android.text android.text.method 5 android.text.style android.text.util 6 android.database

contains low-level APIs for working with databases

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 15

API Packages
NO. API packages Introduction provides various services for accessing data on the device: applications installed on the device and their associated resources, and content providers for persistent dynamic data. the core user-interface framework supplies standard user interface elements (lists, buttons, layout managers, etc) built from the view package provides the high-level application model, implemented using Activities contains definitions for various standard content providers included with the platform provides APIs for interacting with the device's phone stack includes various APIs for working with web-based content

7 android.content 8 android.view 9 android.widget 10 android.app 11 android.provider 12 android.telephony 13 android.webikit

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 16

Android中成熟开源项目
功能模块 底层 软件 文件系统 B in Utilities 虚拟机 2D引擎 3D引擎 操作系统 开源项目名称 L inux S tandard Kernel 2.6 Yaffs 2 G oogle B inUtils G oogle Dalvik G oogle S G L OpenG L E S 贡献者网站 www.kernel.org www.yaffs .net S ource.android.com S ource.android.com S ource.android.com 是否被广泛用于商业产品 被广泛使用 是否为 费用 G oogle所用 否 否 是 是 是 否 F ree F ree F ree F ree F ree 参见 网站 F ree F ree F ree F ree F ree F ree F ree 被广泛使用 Google自己开发 Google自己开发 基于SDL,被广泛使用 业内事实标准,被广泛使用,包括几 www.khronos .org/opengl 乎所有的芯片厂商和媒体软件厂商所 使用,如果使用该L ogo需要付费,大 es / 约15K$,否则免费 被广泛使用,例如Apple公司的S afari www.webkit.org 和Nokia S 60的浏览器 www.s qlite.org 被广泛使用,例如S ymbian和Mozilla S ource.android.com Google自己开发 被广泛使用,例如Mozilla、 www.freetype.org P hotos hop、Xwindows 、QT /E 、 freetype.s ourceforge.net G T KF B 、暴雪公司的游戏 在PacketVideo公司产品中应用, S ource.android.com Google买断源码 一种IP C 构架,被广泛使用。G oogle www.open-binder.org B inder基于Open B inder 在P acketVideo公司产品中应用, S ource.android.com G oogle买断源码

浏览器引擎 Webkit 平台 软件 数据库 C /C ++库 字体引擎 流媒体 S QL ite G oogle L ibc F reeT ype OpenC OR E (P acketVideo)

否 否 是 否 是 是 是

通信部件接口 G oogle B inder 多媒体 OpenC OR E (P acketVideo)

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 17

Android 主要版本
2.6.29 Kernel Support for displays with different densities / resolutions at QVGA, HVGA and WVGA Telephony support for CDMA OpenCORE2.0 Text-to-speech engine Updated search framework with support for universal search and application search plug-ins Camera & gallery improvements VPN, 802.1x UI enhancements

Android 2.1 Eclair
2.6.29Kernel New transition effects New Surface Flinger architecture New audio routing manager Exchange integration Combined inbox Browser: HTML5, geolocationAPI, Database API, Application cache support Camera: flash support, digital zoom, white balance, scene mode, color effects Message search LK Bootloader

2.6.27 Kernel Input Method Framework (IMF) Bluetooth A2DP and AVCRP profiles Video record support in camera Updated WebKitbrowser core Optional (and user initiated) system updates User interface polish SIM Toolkit A-GPS

Android 1.6 Donut

Android 1.5 Cupcake

2009/02

2009/04

2009/06

2009/09

2010/01

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 18

Agenda

1 2 3

Android 架构介绍

Android开发调试工具 Android开发调试工具

Android应用软件开发与设计 Android应用软件开发与设计

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 19

Android 开发环境
Android开发环境要求 Java_JDK + Eclipse +ADT + DDMS + Android_SDK Android模拟器( Emulator ) Android SDK自持手机模拟器,运行于个人电脑中的虚拟移动设备。 Android应用程序(*.APK)可以在模拟器或者手机中直接执行。 Android emulator完全可以运行不需要硬件支持的应用程序功能。 Eclipse IDE Elipse是跨平台的自由集成开发环境(IDE),本身是一个框架平 台,但是众多插件的支持使得Eclipse拥有比其他IDE软件更多的灵 活性。许多软件开发商以Eclipse为框架开发自己的IDE。 ADT(Android Developmet Toolkit) ADT主要定义了SDK的管理、项目建立,运行和启动等基本的功 能 DDMS(Dalvik Debug Monitor Service) DDMS主要实现了和模拟器的一些交互,如的设备管理、进程列 表、threads、heap、文件列表(包括上传下载)、log信息打印等。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 20

Android ADB调试工具
ADB(Android Debug Bridge)是Android提供的一个通用的调试工具,借 助此工具可以管理设备和手机模拟器的状态。还可以进行以下操作: 快速更新模拟器中的代码,如应用程序的更新 在设备上运行shell命名 查看模拟器中程序包,快速删除冗余包 为模拟器上传、复制文件

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 21

Agenda

1 2 3

Android 架构介绍

Android开发调试工具 Android开发调试工具

Android应用软件开发与设计 Android应用软件开发与设计

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 22

Android 应用程序的开发环境
Android APK Android应用程序是运行在Android Platform之上的一个功能实体,由界面部分 (Activities)、数据部分(Provider)和后台运行部分(Service)等组成,Android将所有这些功 能用一个APK文件的形式打包。用户可以通过Android Market获得大量的可供安装的 APK文件。 全开源的开发环境 包括浏览器,WEBKIT代码均开放, APK文件可在Android开源环境下开发、调试、生 成,并可以被独立的下载、安装、拷贝、卸载,与硬件无关的功能可在个人PC上完 成。 应用程序独立封装 APK可以独立发布,ANDROID不需要统一的代码编译就可以实现对应用的控制,这些 应用甚至包括了待机应用。这个机制是靠ANDROID提供的类JAVA编程、虚拟机执行 系统、包管理系统等功能实现的。 应用程序签名和商业模式支持 应用程序通过ANDROID内部系统可以表示其来源和可信程度,Android Market提供了 标准的发布和商业运行平台
HUAWEI TECHNOLOGIES CO., LTD. Huawei Confidential Page 23

Android 应用程序安装、删除
Android 应用程序的安装、删除都由 “Package Manager”处理 应用程序安装包APK需上载到指定目录 Package manager监视两个目录: “/data/app” (user) and “/system/app” (system),并将这两个目录下的应用程序注册 当Android平台启动某一程序时,会找Package Manager查询指定应用程 序的信息,并启动之

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 24

Android 应用程序简介
Android 应用程序可以由以下四部分组成 Activity 是一个程序跟用户交互的接口 每个Activity都可独立运行 Service 运行在后台的一个程序组件 (例如音乐播放) 可采用本地过程调用或者远程过程调用 Content Provider 数据提供者,应用之间不能直接共享数据 应用通过调用ContentProvider接口,来统一存储数据, 供其他应用使用 Intent Receiver Intent接收者,可看成是一个响应Intent的中断程序 生命周期很短,只能在被激活后马上利用Intent启动对应 的Activity或者services
Application Activity Service Content provider Intent Recevicer

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 25

Android应用程序组成

可独立运行的是Activity,Service,Notification。 Notification:作为一个应用是由Activity或者Service启动运行,事件或状态通知以小图 标的形式呈现在状态栏里。 View:是用来在屏幕中显示的各种可见控件,每个UI界面都是由View及其子类构成。 Intent:是各个应用之间传递数据的一个中间对象,一个应用启动另外一个应用时,一 般都是用Intent对象来传递简单的数据。
HUAWEI TECHNOLOGIES CO., LTD. Huawei Confidential Page 26

Android基本控件
在Android中,用户界面通过XML文件进行布局,控件是界面中很重要的元素,所 以,控件需要在XML文件中进行声明和设置,来进行View布局;在逻辑程序实现中, 通过控件ID来调用控件。从而实现了布局和逻辑控制的分离。 Android支持的基本控件 Button TextView,文本框 EditText,可编辑的文本框 RadioButton CheckBox Menu,主菜单控件 Lists,继承于Activity,是用来在屏幕中显示一个列表 Dialog,对话框,只有对话框关闭后,才能继续切换界面 ScrollBar,滚动条 Grid,网格布局

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 27

Android Widget
AppWidgetProvider
Android widget提供的接口类,所有widget都继承自这个类 是一个广播消息receiver

RemoteView
可以在其它程序中展示自己的界面 提供有限布局:FrameLayout、LinearLayout、RelativeLayout 提供有限组件:Button、ImageButton、ImageView、ProgressBar、

TextView

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 28

Android Widget 增强
增加手势
扩展RemoteView,增加手势侦听 扩展AppWidgetProvider,增加广播接收范围

增加动画
增加自己的动画算法

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 29

Android Widget增强

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 30

Thank you
www.huawei.com


相关文档

Android平台技术交流
中国电信经营分析系统技术交流
中国电信技术交流 - NFC
Android系统技术交流
中国电信android框架与应用开发介绍
中国电信Android框架及应用开发介绍
中国电信CDMA直放站使用技术交流
Android 技术交流
中国电信上海研究院室外AP技术交流 v3
(中国电信)IPTV技术交流
电脑版