蓝博思—专注技术创新TRIZ、研发管理IPD、质量可靠性咨询培训

查看: 7038|回复: 0
打印 上一主题 下一主题

[专业技术] Android Framework(11月 北京)

[复制链接]

126

主题

0

好友

1538

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2012-9-14 10:47:19 |只看该作者 |倒序浏览
Android Framework 深入浅出: HAL, Binder, View System 与 Native Service

报名详情
时    间: 2012年10月27-29日        地   点:深圳
           2012年11月13-15日        地   点:北京
费    用: 4500元/人(包含听课、讲义、教学设施使用、两天的午餐、学习用具等)
培训证书:培训结束,对理论、实践双项考核成绩合格者,颁发中国信息产业培训网的培训证书。
参课对象:1) 希望理解和掌握Android框架技术与设计思想的人员;
          2) 希望从事移动终端开发的爱好者、工程师、程序员、以及相关行业的工程技术人员
学员基础:1)了解Java语言;
          2)了解OOP(面向对象)编程相关概念;
          3)建议具体基本的Android应用开发能力;
联 系 人: 于毅 先生                       电   话: 0755-36529027
手    机:13425174803                     E -mail:yuyi@ranbos.com

课程背景:
    随着智能手机、平板电脑等移动设备的出现,移动互联网这一新兴事物蓬勃发展,移动平台正式进入大众市场。实际上,目前用户口袋中的手机已经比8、9年前的桌面电脑更强大。当代手机中集成了许多曾经只在火星探测器中才使用的传感器,时钟、电源传感器、温度计、光线感应器已经成为基本配置,而高端手机中还集成了位置感应器、加速度传感器,甚至是指南针。不过,随着这一趋势的发展,10年之后用户将会拥有一个全天候、永远在线、拥有丰富传感器的强大设备。
   
    Android 的 HAL (硬件抽像层)是 Google 因应厂商“希望不公开源码”(就是为了避开linux kernel的GPL license的束缚)的要求下,所推出的新观念。HAL 的目的是为了把 Android framework 与 Linux kernel 完整“隔开”,简而言之,Android把控制硬件的动作都放到了user space中,而再kernel driver里面只有最简单的读写寄存器的操作,而完全去掉了各种功能性的操作(比如控制逻辑等),这些能够体现硬件特性的操作都放到了Android的HAL层,而Android是基于Aparch的license,因此硬件厂商可以只提供二进制代码,所以说Android只是一个开放的平台,并不是一个开源的平台。让 Android 不至过度依赖 Linux kernel ,让 Android framework 的开发能在不考虑驱动程序的前提下进行发展。
   
    由于Android的Java层级只是一个外壳框架而已,大部分的系统组件(Android本身)都是在Nataive层(又称C/C++层)执行。这是Android的整体架构,所以我们的应用程序也必须考虑分为两层的必要性,才能完全的融入Android的整体架构里。我们看到的Android应用架构(Application Framework)其实只是Android整体架构里的外壳结构而已。
为协助国内企业快速掌握Android作业系统的技术,并建立团队技术能力,以提升企业产品开发的能力,我们特别邀请台湾地区知名的Android技术专家Jollen Chen先生及其团队成员,为企业提供“Android Framework: HAL, Binder, View System 与native Service”培训课程。
   
    Jollen Chen先生提到:「开发Android软件是「设计导向思惟」,编写代码(Coding)并不等于做软件(Software),写code可以很自由心态,意思是,可根据自已的想法发挥,不受任何限制地自由发挥。 Android框架的开发要考虑架构,要先做设计(OOD),要验证设计的正确性,同时也要达到重用(Design Reuse)框架设计的要求;所以开发Android框架,是在一套系统化且制式的规模下进行,写code受到规范。 」
   
    本课程由具备Android产品开发经验,以及产品操盘实务经验的技术专家主讲,是特别针对想事产品开发,以及想提升团队Android架构能力者所规划。课程深入浅出,是目前国内少见能以至简方式介绍实务Android框架与架构的课程。旨在培养实务的Android能力,并协助企业提升研发团队的Android架构能力。
   
    Jollen Chen 老师将以Mokoid Open Source Project (MOSP) 范例,仔细分析Android 框架的设计方法与架构;MOSP是Jollen Chen老师特别发展的实例,并已开源至Google Code上。

课程目标:
l 逐一击破 Android 框架的重点知识  
l 过去如果只是了解框架,今天这门课将让你「理解」框架
l 探讨 Android 的设计哲学与思想  
l 综合说明Android框架的核心架构:HAL、Binder、View System与Native Service,想理解框架,就要深入这四大子系统

课程特色:
l 课程组织:课程深入浅出,至简而实,内容由专长的实务经验归纳而成,组织细腻完整,是名符其实的高品质培训。
l 课件规划:书本式的简报课件,内容细致,与课程大纲相搭配。
l 课程范例:以专家自行设计的完整范例进行,相关代码以 MOSP 开源项目进行;受训后学员可加入 MOSP 社区,取得不定时更新的代码。

课程大纲:
第一天
第01堂課:Hardware Abstract Layer 架构与驱动模块开发
1.1 Service与Manager的内涵
1.2 libhardware 与 HAL API
1.3 Stub & Module 的理念
1.4 HAL Stub Analysis and Design (OOAD)
1.5 HAL Stub Class
1.6 HAL Stub Interface

第02堂課:Android Service 架构与 SystemServer 整合开发
2.1 Zygote & SystemServer 介绍
2.2 ServiceManager介绍
2.3 IPC、 Remote method call与Binder观念说明
2.4 AIDL介绍与IInterface设计理念解析
2.5 Activity & ApplicationContext
2.6 ServiceManager

第03堂課:Android Framework 架构原理分析 (OOD)
3.1 JNI 开发
3.2 Remote Object观念与IBinder介绍
3.3 如何以Proxy Object整合Android Service
3.4 Handler 与 Message 的解析与案例剖析
3.5 Doing Long Operations
3.6 Design Patterns of Android Framework

第二天
第04堂課:Android Process 模式与系统程序
4.1 Component与 Main Thread
4.2 Instance of Dalvik VM
4.3 Introduction of Dalvik VM
4.4 Android Process Model
4.5 Class Preloading
4.6 Dalvik VM Instantiation & Initialization

第05堂課:Hardware Abstract Layer 架構與驅動模組開發
5.1 Service與Manager的意義與用途
5.2 libhardware 與 HAL API
5.3 Stub & Module 的觀念
5.4 HAL Stub Analysis and Design (OOAD)
5.5 HAL Stub Class
5.6 HAL Stub Interface

第6堂課:Manager API & Context
6.1 Introduction Context
6.2 getSystemService
6.3 IPC & AIDL
6.4 IPC with Android Service using Binder Proxy

第7堂課:Native Service 实现完整解析
7.1 使用 IInterface (Java vs C++)
7.2 使用 BnInterface 与 BpInterface
7.4 Implementation of Native Servic
7.5 Implement Native Binder Proxy

第三天
第8堂課:Binder 原理与核心架构解析
8.1 Proxy Design Pattern
8.2 .asInterface() 深入解析
8.3 Linux Binder 驱动解析
8.4 BpInterface, Proxy object 与 IPC transaction
8.5 Architect of SensorManager

第9堂课:View System 设计模式与实现原理解析
9.1 Introduction to Activity, Window and View
9.2 Architecture of Android View System
9.3 Surface and Canvas
9.4 The flow of drawing: from View to SurfaceFlinger
9.5 The MVC design of View Hierarchy
9.6 The Composite pattern of View Hierarchy

讲师简介
Jollen Chen:
台湾最资深的嵌入式Linux专家与讲师。 Jollen在嵌入式Linux与Linux驱动程式领域拥有丰富的顾问与授课经验,并曾参与过多项已上市的嵌入式产品研发。 Jollen热衷于培训领域,并成立了仕橙3G教室(Moko365 Inc)团队;其团队致力于专业的嵌入式Linux与Android课程开发,产出的课程与技术研究品质深获肯定,服务客户遍及台湾、美国与大陆企业。
Jollen过去负责知名的开放手机计画Openmoko大中华区的行销与推广工作;现带领技术团队开发Android手持产品解决方案,相关方案已受到台湾知名企业采用,并导入量产。 Jollen先生也是目前台湾唯一提供业界Android底层与开发咨询的专家,技术能力受到肯定。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册暂不开放

管理登录

深圳市蓝博思企业管理咨询有限公司 版权所有 粤ICP备12039453号 业务范围:研发管理 可靠性管理 IPD咨询 技术创新 TRIZ

GMT+8, 2025-5-1 19:13 Processed in 0.061083 second(s), 19 queries .

回顶部