服务热线

400-600-2138

精通软硬云整合技术与应用

收藏课程
课程编号:80777 时间:2013年10月26日-27日 讲师:专家团 地点:上海
学习费用:5800 元/位
用手机看:
课程编号 开课日期 地点 培训天数 选择报名

培训对象:

对Android软硬整合感兴趣的人员; 对端云整合感兴趣的软院; 希望迅速了解和掌握Android应用和底层技术的人员; Android应用程序开发者; Android底层开发者; Android框架

课程收益:

课程大纲:

时间地点:2013-10-26-27上海

课程费用:5800 元/人

课程对象:

对Android软硬整合感兴趣的人员;

对端云整合感兴趣的软院;

希望迅速了解和掌握Android应用和底层技术的人员;

Android应用程序开发者;

Android底层开发者;

Android框架设计和开发者;

Android产品架构师;

Android系统架构师;

希望从事移动终端开发的爱好者、工程师、程序员、以及相关行业的工程技术人员

Web开发人员;

云计算从业人员;

课程简介:

Android是软硬整合的代表,HTML5是端云整合的代表。本课程定位于一次性贯通软硬整合和端云整合思想、方案、技术,以当下最火爆的两项技术Android和HTML5为核心,以具体技术和代码来阐述具体思想和和实施方案。就Android而言,软硬整合一直是Android厂商赢家的核心密码,本课程从Android底层到Android应用开发,一次性彻底掌握Android完整的自下而上的系统和框架,助力您掌握Android的核心精髓。就HTML5而言,我们从HTML5、CSS3、PhoneGap、jQuery Mobile、WebSocket、Node.js等HTML5整个的生态系统的六大核心技术入手,带你一窥乔布斯钟情于HTML5秘密,并破解HTML5的秘密。

具体来说:

1、Android软硬整合

Android软硬整合课程从系统的观点入手,重在强调框架本身,代码讲解和原理剖析紧密结合,在一次性彻底贯穿Android从底层到上层整个体系的同时,会深入剖析LED、Sensors、Camera等具体的模块,致力于打造系统级别的Android高级开发工程师和具备独特商业观点架构师;

在软硬整合领域, Android以其对软件和硬件的高度开放性引领了当今的软硬整合潮流,全世界正在进行 一场轰轰烈烈的Android运动,Android以不可思议的速度渗透越来越广的领域,Android智能手机、Android智能电视、Android微波炉、Android平板电脑、Android智能机器人、Android车载系统等越来越多的Android产品涌入人们的工作和生活中,自从Google的Android@Home战略发布以来,更是让世界对Android充满了怦然心动的期待,可以预测,未来的家庭智能化和物联网时代将是Android的天下!

谁,将成为软硬整合时代的新主人?

谁,将彻底掌握Android从底层开发到框架整合技术在到上层App开发的全部技术?

恭喜你,当别人还在雾里看花,你却有机会彻底掌握Android软、硬、云整合技术。这是一次彻底的Android架构、思想和实战技术的洗礼。

彻底掌握Andorid HAL、Android Runtime、Android Framework、Android App、Android Testing的核心技术,不仅仅是技术和代码本身,更重要的是背后的设计思想和商业哲学。

2、HTML5端云整合

HTML5是技术与设计的交汇点。

有人认为HTML5到2022年才会成真,但事实是,她已经在眼前了。

Google的Chrome和Mozilla闪电般的行动速度极大的加速了HTML5的发展。

2010年,乔布什公开支持HTML5。

Apple执行了乔布斯高瞻远瞩的战略,极大的推动了HTML5的发展。

手机行业将展开一场HTML5大战。

以HTML5技术,结合网络服务,开发应用程序,并整合到手机中,将成为最热门的领域!

以HTML5、CSS3、PhoneGap、jQuery Mobile、WebSocket、Node.js等HTML5整个的生态系统的六大核心技术基础,将是你能够笑傲端云整合时代!

非常有特色是,我们在HTML5课程中,还将带您细细玩味浏览器的开发和定制,使您也能够开发出自己的浏览器!

聪明如你,请尽快研习。

3、Android框架解析、扩充、优化应用开发

框架(Framework)开发技术是呈现软硬整合、创造差异化、独特性的必备条件。框架设计就是API设计,在Application Stotre潮流下,Android平台里的各种产品都必须提供Open API给广大的第三方开发者。于是,谁用心于开发框架、设计API,谁便能掌握第三方开发者,进而主导市场的终端客户 。因此,本课程特别邀请著名的Android框架设计专家 高焕堂老师主讲“Android框架解析与扩充”,以及“亲自动手开发行业应用框架”两个单元。旨在培养出一批能兼具软硬云整合技术和框架API设计能力的整合开发的高级人才。

4、开发自己的行业应用框架、API、支持第三方应用开发

应用框架技术历经20多年来的发展,框架已经成为软件产业霸主手中的尚方宝剑了。例如,长久以来位居软件业霸主的微软公司,其手中的尚方宝剑:.NET就是框架。此外,在移动平台方面,即将成为新兴霸主的Google公司,其手中的尚方宝剑:Android也是框架。由此观之,在软件相关产业里,手中没有尚方宝剑的业者,或不努力研铸尚方宝剑的国度,将注定成为软件武林擂台边的拉拉队而已。

框架不同于一般软件架构,在于它幕后支撑极具竞争力的商业模式。如何充分发挥框架威力、实践其策略运用,我们需要新的思维、方法和技术。本单元由具备深厚的框架开发经验的高焕堂 老师任教,以清晰的设计模式知识结构,明确阐述框架的需求分析、结构设计,以及实践编程的方法和流程。让学员在最短的时间内,迈向行业应用框架及Open API开发行列,一方面优化自己的应用开发,另一方面则支持第三方应用开发。

课程特色:

贯通Android软硬整合和HTML5端云整合技术整个体系

全程案例驱动,重在剖析案例代码背后的设计思维和商业密码

彻底掌握Android HAL的背后的密码

彻底掌握Android HAL的实现机制和技术

彻底掌握Android Framwork的背后的密码

彻底掌握Android Framwork的设计思维和理念

彻底掌握Native Service和Binder的设计理念和实现机制

通过Camera的代码实例实战HAL、Native Service、Binder、Android Framework等整个系统

彻底实战编写Andorid应用程序的一切技术

彻底掌握HTML5、CSS3、PhoneGap、jQuery Mobile、WebSocket、Node.js等HTML5整个的生态系统的六大核心技术

掌握浏览器开发和定制技术

掌握清晰的设计模式知识结构

能够扩充Android既有框架结构

全局迈向应用框架及Open API开发技术

培训目标:

致力于打造在软硬云整合时代和端云整合时代具有独立思考能力和实践能力的高素质IT人才;

Android高级工程师

Android移植工程师

Android框架开发工程师

Android项目经理

Android架构师

Web开发人员转移到HTML5时代;

使用HTML5技术重构已有的Web应用;

浏览器开发和定制人员;

学员基础:

1)具有Java基础;

2) 具有C和C++基础更佳;

3)对设计模式有所有了解对提升听课效果会大有裨益;

4) 了解HTML、CSS、JavaScript;

培训方式:

本课程共计4天,前两天由王家林 老师讲授,后两天由高焕堂 老师讲授。

第一、二天,由王老师讲授的内容涵盖Android底层、Android HAL、Android Runtime、Android Framework、Android App开发、Android的Web开发等软硬云整合的的几乎所有核心技术,一次性打通HTML5、CSS3、PhoneGap、jQuery Mobile、WebSocket、Node.js等HTML5整个的生态系统的六大核心技术,致力于打造在软硬云整合时代具有独立思考能力和实践能力的高素质IT人才;授课是以案例驱动为基础重在讲解代码背后的设计思维和商业密码。

第三、四天,由高老师讲授的内容涵盖一般设计模式(Design Patterns)、框架EIT设计模式、框架開發的需求分析、Use Case用例建模、框架設計的雕龍神技等框架设计技术方法。基于这些所学的技术,由讲师带领学员针对Android & HTML5/PhoneGap框架进行解析和扩充。然后,针对自己熟悉的行业领域,亲自动手分析、设计与开发属于自己的应用框架,在分组PK之后,由老师讲评。

课程大纲:

Day1

内容

第一天

软硬云整合

基础技术

(讲师:王家林)

第1个主题:Android架构揭秘

1.1 Google是如何通过Android支持、掌控全球的硬件厂商和应用程序开发者的?

1.2 Android控制力的源泉是什么?技术上如何实现?

1.3 Android的Linux Kernal、HAL、Libararies、Runtime、Application Framework设计的理念和实现技术;

1.4 Android平台与硬件、云的微妙关系;

第2个主题:Android开机流程揭秘

2.1 第一个用户进程剖析;

2.2 ServiceManager与Binder的关系;

2.3 Zygote揭秘及其运作方式;

2.4 Android中的第一个Java进程揭秘,第一个Java进程和ServiceManager的关系及代码实现;

第3个主题:Android中启动一个新的应用程序揭秘

3.1 当我们触摸Android屏幕中Launcher上的一个应用程序的图标的时候到底发生怎样的调用过程?

3.2 应用程序的执行入口到底在哪里?

3.3 一个新的Android应用程序的进程到底是怎么产生的?

第4个主题:HAL揭秘

4.1 HAL被加入Android中的真正历史原因分析

4.2 HAL的意外价值揭秘

4.3 HAL的Stub

4.4 hw_module_t与hw_device_t

4.5 C语言如何实现继承来满足HAL Stub的设计目的?包括内存结构分析和代码风格讨论等

4.6 如何避免HAL Stub实现时的Dirty Code?

第5个主题:HAL Stub实战

5.1 用面向对象的思想分析、设计、实现Stub

5.2 hw_module_t的子类和hw_device_t的子类的关系以及这种关系的优势

5.3 在结构体中如何实现C函数的调用?hw_module_t的子类在代码中又是如何和hw_device_t的子类交互的?

5.4 类型转换问题

第6个主题:HAL和Linux Kernel

6.1 HAL Stub访问和控制硬件

6.2 Android下的Linux Kernel剖析

6.3 Android 硬件的Driver

6.4 访问Linux内核空间的Driver

第7个主题:Service与HAL Stub整合

7.1 以面向服务的观点和方式与HAL交互

7.2 Library的中so库文件的类型及C/S结构剖析

7.3 hw_get_module

7.4 获取HAL Stub对象的代码流程剖析

7.5 为何HAL Stub的open方法必须提供supporting API(对设备的操作接口)给runtime;

第8个主题:Binder与Shared Memory

8.1 Binder源代码剖析

8.2 Shared Memory剖析

8.3 Binder是如何使用共享内存来完成进程间通信的?

8.4 从代码的角度来分析Binder使用Shared Memory的生产者与消费者模式

第9主题: Handler、Looper、Message、MessageQueue

9.1 Android的事件驱动模型

9.2 Looper、MessageQueue、Hanlder、Message等源码深度剖析

9.3 Looper、MessageQueue、Hanlder、Message及多线程实战案例

第10个主题:把Java写的 Service加入到Applciation Framework中

10.1 IInterface与CTS

10.2 Binder

10.3 AIDL

10.4 Java Service与Manager

10.5 SystemServer、ServiceManager

第11主题:Android软、硬、云三位一体整合

11.1 从技术角度揭秘云,包括云的关键技术和实现方法

11.2 在Application Framework中整合Android与云

11.3 Android软、硬、云三位一体整合,包括模式、策略、实现技术

第12主题:Android测试

12.1 Android代码测试的好处,测试的方式

12.2 .JUnit框架解析

12.3 测试用例的生命周期

12.4 自动化测试

12.5 源码剖析

第13主题:断点续传

类似迅雷的多线程下载器

13.1 多线程下载断点续传原理和流程图

13.2 下载文件时Http协议协议详解

13.3 多线程下载断点续传程序:设计服务端和Android端

13.4 Android端的内容涉及IoC、多线程、SQLite数据库、Handler、Http协议、缓存处理、意外关机时候的处理、编写框架、MVC、Service、Android中的I/O流、代码调试、Activity的生命周期等

13.5 单元测试

13.6 软件调试

多线程断点文件上传器

13.7 断点续传原理和流程图

13.8 上传文件的Http协议详解

13.9 自定义自己的文件传输协议

13.10 服务端程序的编写:文件的下载与实时数据的记录、监听模式、乱码问题的处理、并发问题、黑客安全问题

13.11 客户端程序的编写:Android内存溢出问题,Android中的Socket编程、大文件的传输、大文件传输时候的安全问题

13.12 单元测试

13.13 软件调试

第二天

HTML5+Android

整合技术

(讲师:王家林)

第14主题:浏览器开发和自定义

14.1 浏览器定制和开发的核心原理剖析

14.2 浏览器定制和开发的技术手段剖析

14.3 浏览器定制和开发实战

第15个主题:HTML5 架构思维

15.1 All in JavaScript

15.2 Architect of Device & Cloud

15.3 Open Platform & API

第16主题:Android中Java与WebView中Javascript相互沟通

16.1 制作Android界面的新大陆

16.2 Java调用Javascript

16.3 Javascript调用Java

第17个主题:通过一个Blog实例实战HTML5&CSS3

17.1 实战HTML5新增页面元素;

17.2 实战HTML5中的表单;

17.3 实战HTML5中的Canvas

17.4 实战html 5页面中视频和音频

17.5 CSS3技术实战

第18个主题:HTML5的新特性

18.1 本地存储

18.2 离线应用

18.3 多线程技术

18.4 地理位置信息

18.5 其它新特性

第19个主题:PhoneGap的技术思考

19.1 PhoneGap的架构艺术

19.2 PhoneGap与HTML5、CSS3、JavaScript的关系

19.3 PhoneGap与智能手机的核心功能——包括相机、文件访问、地理定位,加速器,联系人,声音和振动等

19.4 PhoneGap的优势和劣势

第20个主题:PhoneGap框架的技术基石是什么?

20.1 使用WebView

20.2 在WebView中使用JavaScript

20.3 创建本地Java API

20.4 使用JavaScriptInterface

20.5 JavaScript调用Java

20.6 Java调用JavaScript

20.7 PhoneGap是如何使用JavaScriptInterface的

第21个主题:PhoneGap案例开发实战

21.1 PhoneGap的生命周期事件

21.2 通过Connection测试网络链接

21.3 通过Accelerometer来采集设备的动作

21.4 通过Compass获得当前设备的方向

21.5 PhoneGap 操作本地系统的Camera

21.6 PhoneGap其它的本地API;

第22个主题:彻底洞悉jQuery Mobile

22.1 jQuery Mobile设计的技术思考和商业思考

22.2 jQuery Mobile入门初体验;

22.3 使用页眉、工具栏和标签栏;

22.4 jQuery Mobile中的表单和按钮;

22.5 jQuery Mobile中的列表;

22.6 jQuery Mobile和CSS结合;

22.7 jQuery Mobile主题;

22.8 jQuery Mobile的API;

22.9 jQuery Mobile和HTML5开发框架PhoneGap结合;

第23个主题:Node.js实战高并发和非阻塞式的服务端

23.1 Node.js的思考;

23.2 Node.js开发环境安装;

23.3 Node.js开发实战

第24个主题:Node.js和WebSocket的整合

24.1 使用Node.js和WebSocket打造非同步处理机制及其重大价值;

24.2使用Node.js和WebSocket打造非同步处理机制案例实战

第三天

Android架构解析与扩充,优化应用开发

(讲师:高焕堂)

第25个主题:Android产业观点及获利模式

25.1 Android开源、开放与相容的意义和途径

25.2 Android手机、平板和电视产品的技术趋势与市场策略

第26个主题:解析Android框架的设计模式(Design Pattern)

26.1 设计模式的使用要点

26.2 常见的设计模式应用情境

26.3 解析UI框架的设计模式,包括事件处理、ListView和SurfaceFlinger框架里的重要机制

26.4 扩充Java层应用框架,优化UI设计

26.5 跨进程(IPC)通信的设计模式

26.6 内容储存的设计模式

26.7 系统服务的设计模式

26.8 HAL-based驱动的设计模式

第27个主题:使用NDK/JNI:Java与C/C++的整合开发

27.1 使用Android的NDK环境

27.2 从Java呼叫JNI的C/C++函数

27.3 从C/C++呼叫Java的函数

27.4 擅用JNI来提升App效能:以OpenGL的3D绘图为例

第28个主题:上层(Java)应用框架的解析观摩与扩充

28.1 UI框架解析与扩充

订制Widget控件:扩充View类别体系

定义系统全局控件的风格

改变菜单栏的风格和定制菜单

28.2 MediaPlayer框架的解析与扩充

Java层框架基类及相关类别

JNI接口

系统服务

基类(Superclass)的扩充

28.3 SurfaceView框架的解析与扩充

一般View与SurfaceView的区别

SurfaceView的线程模式

扩充SurfaceView的JNI接口,以底层OpenGL引擎绘图

28.4 SurfaceFlinger框架的解析与扩充

SurfaceView如何透过JNI呼叫SurfaceFlinger系统服务

SurfaceFlinger如何整合多个SurfaceView的动画

扩充SurfaceFlinger/SurfaceView的接口,以显示支持Camera的贴心Preview功能

第29个主题:底层(C/C++)框架的解析、观摩与扩充

29.1 系统服務:包括Android Service和 Native Service

29.2 以多媒體Mediaplayer為例介紹C++層系统服務

29.3 系统服務的BBinder基类和IBinder接口

29.4 核心服務框架內的通訊機制:

IPC跨進程(Process)通訊機制

如何綁定(Bind)C++層服務

29.5 框架扩充:亲自开发自己的第一支(C++层)系统服务

第四天

亲自设计行业框架API,支持第三方应用开发

(讲师:高焕堂)

第30个主题:应用框架开发技术

30.1 框架的主要元素:基类(Superclass)

30.2 善用类的继承(Inheritance)机制

30.3 设计基类的抽象函数

30.4 设计模式的应用

30.5 UML建模

30.6 实际编程与测试

第31个主题:框架(Open)API设计方法

31.1 认识Open API

31.2 以框架基类来实践API

31.3 Open API的威力:掌握主导权

31.4 扩充Android的 Open API

31.5 确保与既有API的兼容性

31.6 API的测试方法

第32个主题:如何做行业应用框架的需求分析

32.1 需求探索

为什么把轮胎拔掉呢?

为什么火锅店的桌子要挖洞呢?

为什么餐厅要分开<食谱>与<点菜单>呢?

如何设计框架的未来性

目前决策的未来性

具有未来性的框架API设计

Steve Jobs的名言:从未来回顾现在

第33个主题:亲自演练行业框架的设计与开发

— 使用高焕堂的EIT模式

33.1 熟谙EIT框架设计模式(Pattern)

33.2 遵循自然的造物环境:信息局限性(Information Limitation)

心怀自然造物法则:<单一造型、内涵丰富、无限组合>

活用高焕堂的EIT模式:赋予行业内涵、组合出独特性

扩充EIT衔接本地服务,发挥硬件创新差异化

云端服务和HTTP通信协议

扩充EIT衔接云端服务,发挥云计算能力

第34个主题:实践编程(一):先落实到Java层应用框架

复习基本步骤

分析:领域分析、框架需求分析

设计:EIT模式设计

编程:使用Java语言

编程要点

将EIT模式的实践为Java基类

将 EIT模式的实践为Java的Interface或抽象基类

提供给第三方应用开发者,让其将实践为应用子类

一些框架编程的雕龙小技

透过调用子类

创建子类的对象

的线程安全问题和处理方法

让自己开发的EIT融入Android的EIT模式里:即让自己开发的继承Android的

其它雕龙小技

分组设计与实践编程:自行挑选行业应用领域,分组动手设计和实践Java层的应用框架

导师讲评

第35个主题:实践编程(二):往下延伸到C/C++层框架

35.1 复习JNI,以及Java与C/C++整合开发技巧

35.2 将EIT模式扩大为EITS新模式,表示C/C++模块

35.2 将里的控制逻辑移到

35.3 的双向相互调用

35.4 将呼叫HAL-based驱动模块

35.5 分组设计与实践编程:从上题的框架基础,活用JNI,动手设计和实践Java与C/C++层的整合框架

35.6 导师讲评

第36个主题:实践编程(三):往上衔接到HTML5/JS与PhoneGap的跨平台框架

36.1 介绍Web层的EITS模式,表示Java插件(Plugin)

36.2 表示Webview(和Webkit浏览器)

36.3 表示PhoneGap的IPlugin接口

36.4 以Proxy/Stub模式包装IPlugin接口

36.5 表示HTML5/Javascrit模块

36.5 分组设计与实践编程:基于上题的框架,将上题的视为Web层的(即Plugin),与Web层的进行双向沟通

36.6 擅用Web层的EITS模式,将HTML5/Javascrit模块外包出去,支持第三方应用开发

讲师介绍:

高焕堂 老师:

专精于Android核心框架及核心服务程序开发。发表数百篇Android核心技术及产业策略文章。出版了4本Android专业技术书籍(传统印刷出版),以及5本Android专业技术书籍(免费e-book)。现任台Android论坛 主席和亚太地区Android技术大会 主席。并担任中国电子视像行业协会的智能电视平台的高级顾问。

王家林老师:

项目经验:

致力于HTML5和软、硬、云整合,智慧家庭,智能城市,精通Android安全:HTML5的软硬整合、HTML5和云计算的整合、HTML5游戏项目、HTML5的Web项目、Android手机卫士、Android移植工作、Android上特定硬件的垂直整合、编写Java虚拟机、Android框架修改、Android娱乐多媒体软件(针对酷六、优酷、土豆等类型的网站)、大型B2C电子商务网站、大型SNS网站等。

工作经验:

三次技术创业经历:B2C电子商务创业、SNS创业、Android创业、赶集网“起航”项目唯一一位高级软件工程师、Android培训,HTML5技术的狂热者,多家著名公司的技术顾问;

培训经验:

成功对包括三星、华为等世界500强企业实施Android底层移植、框架修改、应用开发等培训。

所出书籍:

《大话企业级Android应用开发实战》、《基于Android平台的商业软件---手机守护神开发全程实战》、《Android 4.0网络编程详解》、《细说Android NDK编程》、《Android软、硬、云整合实战》、《Android开发三剑客——UML、模式与测试》等多部Android著作。

讲师介绍:

在线报名:

客户报名咨询:020-39971893     400 600 2138

近期相关公开课:

报名服务流程:

中培网优势:

会员登录

勾选即代表确认同意《用户协议》

没有账号?立即注册

忘记密码?