原创 Android框架与HMTL5开发平台PhoneGap架构设计与深度定制培训

2013-6-8 15:03 1024 18 18 分类: 消费电子

      Android框架与HMTL5开发平台PhoneGap架构设计与深度定制培训

 

2008年到2012年,手机行业经历了第一个黄金的五年,已经正式结束了,其中三星凭借搭载Android系统的Galaxy SIII成功超过iPhone,成为全球智能手机的王者; 2013年到2015年,第二个智能手机黄金时代已经开始并正在上演;

从2010年的不足5%的市场占有率到2012年底86.4%,Android系统之所以能够能够风靡全世界,其核心在于Android近乎完美的框架:HAL和Application Framwork,其中HAL是是底层硬件框架,Android移植的底层核心,而Application Framwork负责传递底层的硬件功能同时控制Apps,是Android应用程序开发和运行背后的主宰者,掌握Android的运行机制和解决Android Apps开发的复杂问题就必须掌握Application Framwork。

 

本课程聚焦于HAL+Application Framework+Browser+HTML5开发为核心,一次性贯通Android软硬整合和HTML5端云整合。

01.jpg

 

中国电子标准协会http://www.ways.org.cn

 

 

一、课程特色   

  • 贯通Android软硬整合和HTML5端云整合技术整个体系;
  • 全程案例驱动,重在剖析案例代码背后的设计思维和商业密码;
  • 彻底掌握Android HAL的背后的密码;
  • 彻底掌握Android HAL的实现机制和技术
  • 彻底掌握Android Framwork的背后的密码
  • 彻底掌握Android Framwork的设计思维和理念
  • 揭秘Android系统的运行的基石Binder
  • 以Camera实例来彻底剖析Native Service和Binder
  • 彻底实战编写Andorid应用程序的一切技术
  • 掌握HTML5技术的源泉和精髓

 

二、培训对象

  • 对Android软硬整合感兴趣的人员;
  • 希望迅速了解和掌握Android应用和底层技术的人员;
  • Android底层开发者;
  • Android框架设计和开发者;
  • Android产品架构师;
  • Android系统架构师;
  • Android应用程序开发者;
  • 欲从事HTML5系统工作的人员(浏览器的开发、PhoneGap的的Plugin开发等)
  • 希望从事移动终端开发的爱好者、工程师、程序员、以及相关行业的工程技术人员
  • 培训目标
  • 致力于打造在软硬云整合时代具有独立思考能力和实践能力的高素质IT人才;
  • Android高级工程师
  • Android移植工程师
  • Android框架开发工程师
  • Android项目经理
  • Android架构师
  • HTML5系统架构和开发人员

四、学员基础

      1) 具有Java基础;

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

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

 

六、培训方式

本课程共计3天,内容涵盖Android底层、Android HAL、Android Runtime、Android Framework、Android Native Service、Android Binder、Android App开发、Android的Web开发等软硬云整合的的几乎所有核心技术并揭秘HTML5技术的源泉和精髓,致力于打造在软硬云整合时代具有独立思考能力和实践能力的高素质IT人才;授课是以案例驱动为基础重在讲解代码背后的设计思维和商业密码;

七、培训内容

 

 

第一天

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

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

1,2 应用程序的执行入口到底在哪里?

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

 

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

2.1  第一个用户进程剖析;

2.2  ServiceManager与Binder的关系;

2.3  Zygote揭秘及其运作方式;

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

 

第3个主题:细致剖析Init进程

3.1 Init进程运行过程是什么?

3.2 init.rc剖析:Action List、Service List等

3.3进程的启动与终止

 

第4个主题:HAL Stub实战

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

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

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

4.4 类型转换问题

 

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

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

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

5.3 hw_get_module

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

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

 

第7个主题:细致剖析Binder

7.1 Binder IPC数据传递和数据流

7.2 RPC代码与RPC数据

7.3 Binder Driver分析

7.4 ContextManager

 

 

第8个主题:Service、ServiceManager和Binder交互关系揭秘

8.1 Binder的第一号服务是谁?为何要这样设计和实现?

8.2 如何编写Service

8.3 新的Service产生与ServiceManager和Binder交互流程

8.4 如何获取一个Service?

8.5 Binder的生产者与消费者模式剖析

 

 

第9个主题:Binder与Shared Memory

9.1 Binder源代码剖析

9.2 Shared Memory剖析

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

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

 

第10个主题:Dalvik VM

10.1 Dalvik VM的特点,Dalvik VM和JVM的比较

10.2 Dalvik VM的内存分布及OOM(Out of Memory)的根本原因和解决方案是什么?

10.3 Preload Classes和 Preload Resources,ClassLoader到底在哪里?

10.4 Dalvik与Java和C/C++

 

 

时间

內  容

备注

第二天

 

第11个主题:Android中的JNI编程

11.1 Java调用C/C++

11.2 JNIEnv、JVM、JObject揭秘

11.3 C/C++创建Java对象、调用Java属性和方法

11.4 JNI中的多线程编程

11.5 Facade Pattern在JNI中绝妙应用剖析

11.6 PnP(Plug and Play)

 

第12个主题:Android中的NDK编程

11.1 NDK与JNI关系揭秘

11.2 NDK开发的流程

11.3 采用NDK方式开发出的程序安装和运行的内幕

11.4 NDK中的Java与C/C++相互调用

11.5 NDK中的多线程编程

11.6 关于Android软件开发的标准化和可替换性揭秘

 

第13个主题:SystemServer与Framework中的Service

13.1 Zygote与SystemServer

13.2 SystemServer开启Java世界的过程揭秘

13.3 Android Service和Native Service是如何关联起来的?

13.4 Android Service与ServiceManager

13.5 如何把自己的服务加入到ServiceManager中?

13.6以PowerManagerService为例分析其工作机制

13.7 WallpaperService底层机制分析

 

 

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

14.1 IInterface与CTS

14.2 Binder

14.3 AIDL

14.4 Java Service与Manager

14.5 SystemServer、ServiceManager

 

第15个主题:Android框架移植移植时的事件驱动机制

15.1 Android Service是如何应对硬件阻塞的?

15.2 开辟新的子线程并不断的poll

15.3 Listener注册

15.4 Callback

15.5 Application Framework中的Handler、Message、Looper、MessageQueue

15.6 事件驱动机制实例

 

第16个主题:Manager、Service和完整的数据流

16.1,Manager和Service分离的原则

16.2,ANR问题

16.3,阻塞式的操作和非阻塞式操作

16.4,以实例说明Android中的从最底层到最上层的数据流

 

第17个主题:Android Application Framwork和App的关系

17.1 Framework和App的具体关系是什么?

17.2 Framework和App的交互过程?

17.3 Framework如何掌控App的?

1.4 Framework与Android的四大组件;

 

第18个主题: Handler、Looper、Message、MessageQueue

18.1. Android的事件驱动模型

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

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

 

第19主题:ActivityManager与WindowManager彻底揭秘

19.1 ActivityManager Architect&Proxy&执行流程&Code

19.2 ActivityManager Architect&Proxy&执行流程&Code

 

 

时间

内容

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第三天

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

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

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

20.3 浏览器定制和开发实战

 

第21个主题:HTML5 架构思维

21.1  All in JavaScript
21.2  Architect of Device & Cloud
21.3  Open Platform & API

 

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

22.1  制作Android界面的新大陆

22.2  Java调用Javascript

22.3  Javascript调用Java

 

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

23.1 实战HTML5新增页面元素;

23.2 实战HTML5中的表单;

23.3 实战HTML5中的Canvas

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

23.5  CSS3技术实战

 

第24个主题:HTML5的新特性

24.1 本地存储

24.2 离线应用

24.3 多线程技术

24.4 地理位置信息

24.5 其它新特性

 

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

25.1  PhoneGap的架构艺术

25.2  PhoneGap与HTML5、CSS3、JavaScript的关系

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

25.4  PhoneGap的优势和劣势

 

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

26.1  使用WebView

26.2  在WebView中使用JavaScript

26.3  创建本地Java API

26.4  使用JavaScriptInterface

26.5  JavaScript调用Java

26.6  Java调用JavaScript

26.7  PhoneGap是如何使用JavaScriptInterface的

 

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

27.1  PhoneGap的生命周期事件

27.2 通过Connection测试网络链接

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

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

27.5  PhoneGap 操作本地系统的Camera

27.6  PhoneGap其它的本地API;

 

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

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

28.2  jQuery Mobile入门初体验;

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

28.4  jQuery Mobile中的表单和按钮;

28.5  jQuery Mobile中的列表;

28.6  jQuery Mobile和CSS结合;

28.7  jQuery Mobile主题;

28.8  jQuery Mobile的API;

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

 

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

29.1  Node***的思考;

29.2  Node***开发环境安装;

29.3  Node***开发实战

 

第30个主题:Node***和WebSocket的整合

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

30.2使用Node***和WebSocket打造非同步处理机制案例实战

 

 

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
18
关闭 站长推荐上一条 /3 下一条