王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V1(20140809)之Android软硬整合设计与框架揭秘: HALFramework Native Service AppHT

本文主要是介绍王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V1(20140809)之Android软硬整合设计与框架揭秘: HALFramework Native Service AppHT,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术;

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

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

 

一、课程特色

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

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

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

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

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

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

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

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

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

l 掌握HTML5技术的源泉和精髓

二、培训对象

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

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

l  Android底层开发者;

l  Android框架设计和开发者;

l  Android产品架构师;

l  Android系统架构师;

l  Android应用程序开发者;

l  欲从事HTML5系统工作的人员(浏览器的开发、PhoneGap的的Plugin开发等)

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

三、 培训目标

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

l  Android高级工程师

l  Android移植工程师

l  Android框架开发工程师

l  Android项目经理

l  Android架构师

l  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人才;授课是以案例驱动为基础重在讲解代码背后的设计思维和商业密码;

王家林老师(邮箱18610086859@126.com电话18610086859QQ:1740415547

中国目前唯一的移动互联网和云计算大数据集大成者;

云计算大数据Spark亚太研究院院长和首席专家;

 

Spark亚太研究院院长和首席专家,Spark源码级专家,Spark潜心研究(20121月起)2年多后,在完成了对Spark14不同版本的源码的彻底研究的同时不断在实际环境中使用Spark的各种特性的基础之上,编写了世界上第一本系统性的Spark书籍并开设了世界上第一个系统性的Spark课程并开设了世界上第一个Spark高端课程(涵盖Spark内核剖析、源码解读、性能优化和商业案例剖析)。Spark源码研究狂热爱好者,醉心于Spark的新型大数据处理模式改造和应用。

Hadoop源码级专家,曾负责某知名公司的类Hadoop框架开发工作,专注于Hadoop一站式解决方案的提供,同时也是云计算分布式大数据处理的最早实践者之一,Hadoop的狂热爱好者,不断的在实践中用Hadoop解决不同领域的大数据的高效处理和存储,现在正负责Hadoop在搜索引擎中的研发等,著有《云计算分布式大数据Hadoop实战高手之路---从零开始》《云计算分布式大数据Hadoop实战高手之路---高手崛起》《云计算分布式大数据Hadoop。实战高手之路---高手之巅》等;

 

Android架构师、高级工程师、咨询顾问、培训专家;

通晓Android、HTML5、Hadoop,迷恋英语播音和健美;

致力于Android、HTML5、Hadoop的软、硬、云整合的一站式解决方案;

国内最早(2007年)从事于Android系统移植、软硬整合、框架修改、应用程序软件开发以及Android系统测试和应用软件测试的技术专家和技术创业人员之一。

 

HTML5技术领域的最早实践者(2009年)之一,成功为多个机构实现多款自定义HTML5浏览器,参与某知名的HTML5浏览器研发;

超过10本的IT畅销书作者;

 

六、培训内容

 

第一天

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个主题:HALLinux Kernel

6.1 HAL Stub访问和控制硬件

6.2 Android下的Linux Kernel剖析

6.3 Android 硬件的Driver

6.4 访问Linux内核空间的Driver

 

7个主题:ServiceHAL 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个主题:ServiceServiceManagerBinder交互关系揭秘

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

8.2 如何编写Service

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

8.4 如何获取一个Service?

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

 

 

时间

內  容

备注

第二天

9个主题:BinderShared 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个主题:SystemServerFramework中的Service

13.1 Zygote与SystemServer

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

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

13.4 Android Service与ServiceManager

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

 

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个主题:ManagerService和完整的数据流

16.1,Manager和Service分离的原则

16.2,ANR问题

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

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

 

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

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

17.2 在Native Service中整合Android与云

17.3 在Application Framework中整合Android与云

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

     

 

 

时间

內  容

备注

第三天

18主题:Android Application FramworkApp的关系

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

18.2 Framework和App的交互过程?

18.3 Framework如何掌控App的?

18.4 Framework与Android的四大组件;

 

19主题:Android Application FramworkApp的关系

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

19.2 Framework和App的交互过程?

19.3 Framework如何掌控App的?

19.4 Framework与Android的四大组件;

 

20主题:HandlerLooperMessageMessageQueue

20.1. Android的事件驱动模型

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

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

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

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

21.2. AsyncTask代码示例

21.3. AsyncTask源码剖析

 

22主题:Android测试

22.1.Android代码测试的好处,测试的方式

22.2.JUnit框架解析

22.3.测试用例的生命周期

22.4.自动化测试

22.5.源码剖析

 

23主题:广播接受者BroadcastReceiver,短信监听器案例(接受到短信后上传到服务器或发送到指定的号码或者发送到指定的邮件中)

23.1.剖析广播接收者,与JMS的比较,广播接受者的IoC原理

23.2.短信监听Android客户端

23.3.服务器端搭建

23.4.通过网络把接收到的短信上传到服务器

23.5.把接收到的短信发送到指定的手机号码或者邮件中

23.6.BroadcastReceiver的的生命周期和注意事项以及5秒钟生命响应时间的解决方案

 

24主题:服务Service,电话监听器(每次开机的时候自动开机,电话来时录音并上传到服务器)

24.1.详细剖析Service

24.2.构建电话监听的Service

24.3.使用BroadcastReceiver监听开机事件,并在开机时启动电话监听的Service

24.4.上传音频文件到服务器

24.5.关于Android安全体系的思考

 

25主题:ContentProvider背景、用途,如何构建ContentProviderUriMatcherContentUris,对CotentProvider进行单元测试、源代码分析

25.1.ContentProvider背景、用途

25.2.构建ContentProvider的详细步骤

25.3.对URI的彻底剖析

25.4.分析UriMatcher,ContentUris

25.5.对ContentProvider的业务层代码进行单元测试

25.6.ContentProvider的源代码剖析

第26主题:基于通讯录的开发

26.1. 通讯录的数据库和数据表分析

26.2. 通讯录ContentProvider的源码剖析

26.3. 获取所有的联系人信息

26.4.添加联系人

26.5.如何处理添加通讯录记录时的事物问题

 

27主题:断点续传(一)类似迅雷的多线程下载器(适用于任何类型的文件下载)

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

27.2,下载文件时Http协议协议详解

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

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

27.5,单元测试

27.6,软件调试

 

28主题:断点续传(二)多线程断点文件上传器(适用于任何类型的文件上传)

28.1,断点续传原理和流程图

28.2,上传文件的Http协议详解

28.3,自定义自己的文件传输协议

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

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

28.6,单元测试

28.7,软件调试

29主题:Android客户端表单数据的上传

29.1,上传基本的数据类型

29.2,上传图片等附件

把代码重构为能够上传任意数量的字段和任意数量的附件的工具类

 

30主题:AndroidJavaWebViewJavascript相互沟通

30.1,制作Android界面的新大陆

30.2,Java调用Javascript

30.3,Javascript调用Java

 

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

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

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

31.3 浏览器定制和开发实战

 

32主题:HTML5时代:DeviceBrowserCloud

32.1  HTML5时代谁最重要?

32.2  HTML5与Device

32.3  HTML5与Cloud

32.4  什么主导了HTML5时代?

 

33个主题:HTML5开发平台----PhoneGap框架的技术基石是什么?

33,1 使用WebView

33,2 在WebView中使用JavaScript

33.3 创建本地Java API

33.4 使用JavaScriptInterface

33.5 JavaScript调用Java

33.6 Java调用JavaScript

33.7 PhoneGap是如何使用JavaScriptInterface的

 

34个主题:PhoneGapPlugin开发

34.1如何扩展PhoneGap的功能?

34.2 IPlugin接口

34.3 Proxy-Stub模式在Plugin开发中的应用及价值

34.4 Plugin开发中如何控制硬件厂商和Web开发者

34.5 Plugin核心代码剖析及开发实战

 

 

 

 

这篇关于王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V1(20140809)之Android软硬整合设计与框架揭秘: HALFramework Native Service AppHT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/193064

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <