服务热线

400-600-2138

Android&HTML5软硬云整合设计与框架揭秘

收藏课程
课程编号:74913 时间:2013年04月19日-21日 讲师:专家 地点:深圳
学习费用:5800 元/位
用手机看:
课程编号 开课日期 地点 培训天数 选择报名

培训对象:

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

课程收益:

课程大纲:

时间地点:2013年4月19-21日深圳

课程费用:5800 元/人

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

课程简介:

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

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

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

谁,将彻底洞悉HTML5的技术源泉和精髓,进而在HTML5游刃有余?

恭喜你,当别人还在雾里看花,你却有机会彻底掌握Android软、硬、云整合技术。

这是一次彻底的Android架构、思想和实战技术的洗礼。

彻底掌握Andorid HAL、Android Runtime、Android Framework、Android Native Service、Android Binder、Android App、HTML5技术的源泉和精髓等核心技术,不仅仅是技术和代码本身,更重要的是背后的设计思想和商业哲学。

课程特色:

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

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

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

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

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

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

揭秘Android系统的运行的基石Binder

以Camera实例来彻底剖析Native Service和Binder

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

掌握HTML5技术的源泉和精髓

培训目标:

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

Android高级工程师

Android移植工程师

Android框架开发工程师

Android项目经理

Android架构师

HTML5系统架构和开发人员

学员基础:

具有Java基础;

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

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

培训方式:

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

课程大纲:

day1

第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;

第6个主题:细致剖析Binder

6.1 Binder IPC数据传递和数据流

6.2 RPC代码与RPC数据

6.3 Binder Driver分析

6.4 ContextManager

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

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

7.2 如何编写Service

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

7.4 如何获取一个Service?

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

第8个主题:Binder与Shared Memory

8.1 Binder源代码剖析

8.2 Shared Memory剖析

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

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

第9个主题:Dalvik VM

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

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

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

9.4 Dalvik与Java和C/C++

Day2

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

10.1 Java调用C/C++

10.2 JNIEnv、JVM、JObject揭秘

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

10.4 JNI中的多线程编程

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

10.6 PnP(Plug and Play)

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

11.1 NDK与JNI关系揭秘

11.2 NDK开发的流程

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

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

11.5 NDK中的多线程编程

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

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

12.1 Zygote与SystemServer

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

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

12.4 Android Service与ServiceManager

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

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

12.7 WallpaperService底层机制分析

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

13.1 IInterface与CTS

13.2 Binder

13.3 AIDL

13.4 Java Service与Manager

13.5 SystemServer、ServiceManager

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

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

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

14.3 Listener注册

14.4 Callback

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

14.6 事件驱动机制实例

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

15.1,Manager和Service分离的原则

15.2,ANR问题

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

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

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

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

16.2 Framework和App的交互过程?

16.3 Framework如何掌控App的?

16.4 Framework与Android的四大组件

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

17.1 Android的事件驱动模型

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

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

第18主题: AsyncTASK异步线程技术

18.1. 使用AsyncTask的原因及对AsyncTask的思考

18.2. AsyncTask代码示例

18.3. AsyncTask源码剖析

Day3

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

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

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

19.3 浏览器定制和开发实战

第20个主题:HTML5 架构思维

20.1 All in JavaScript

20.2 Architect of Device & Cloud

20.3 Open Platform & API

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

21.1 制作Android界面的新大陆

21.2 Java调用Javascript

21.3 Javascript调用Java

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

22.1 实战HTML5新增页面元素;

22.2 实战HTML5中的表单;

22.3 实战HTML5中的Canvas

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

22.5 CSS3技术实战

第23个主题:HTML5的新特性

23.1 本地存储

23.2 离线应用

23.3 多线程技术

23.4 地理位置信息

23.5 其它新特性

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

24.1 PhoneGap的架构艺术

24.2 PhoneGap与HTML5、CSS3、JavaScript的关系

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

24.4 PhoneGap的优势和劣势

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

25.1 使用WebView

25.2 在WebView中使用JavaScript

25.3 创建本地Java API

25.4 使用JavaScriptInterface

25.5 JavaScript调用Java

25.6 Java调用JavaScript

25.7 PhoneGap是如何使用JavaScriptInterface的

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

26.1 PhoneGap的生命周期事件

26.2 通过Connection测试网络链接

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

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

26.5 PhoneGap 操作本地系统的Camera

26.6 PhoneGap其它的本地API;

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

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

27.2 jQuery Mobile入门初体验;

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

27.4 jQuery Mobile中的表单和按钮;

27.5 jQuery Mobile中的列表;

27.6 jQuery Mobile和CSS结合;

27.7 jQuery Mobile主题;

27.8 jQuery Mobile的API;

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

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

28.1 Node.js的思考;

28.2 Node.js开发环境安装;

28.3 Node.js开发实战

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

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

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

讲师介绍:

在线报名:

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

近期相关公开课:

报名服务流程:

中培网优势:

热门课程

会员登录

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

没有账号?立即注册

忘记密码?