温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android软硬整合技术(HAL&Framework)

发布时间:2020-04-03 22:00:03 来源:网络 阅读:752 作者:myeit 栏目:移动开发

[ back ]

Android软硬整合技术:

    HAL&Framework&App 架构设计与实战开发


 by 高煥堂 


第1步: 自学在线微课:<Android的HAL驱动框架和API>

              Android软硬整合技术(HAL&Framework) 微课-1(请点击此图,立即体验)

 听完了,可深入理解HAL的产生背景、角色、功能,及其代码写法和范例。

 对于孰悉Linux和C/C++的工程师而言,了解HAL及其设计,是开发 Android产品的第一门课。基于Linux驱动开发的既有基础经验,透过分析HAL 的设计,建立基础的Android框架知识。顾名思义,框架(Framework)就是基于既定架构的接口(API)来协助应用开发、并框住应用的行为。HAL框架也不例外,具有上述的角色和功用。


第2步: 自学在线微课:解析Linux驱动框架(初步) >

              Android软硬整合技术(HAL&Framework)  微课-2(请点击此图,立即体验)

 听完了,可深入理解Android框架与Linux密切的关系,非常有助于HAL-based驱动开发工作

☆ Android是基于Linux OS的智能终端平台(platform),此平台内含多层框架(framework),而框架又内含许多设计模式(patterns)。如果我们也能将设计模式和框架观念,应用于Linux的驱动开发上。就能基于一致的概念来看待上层的Android软件开发和底层的Linux驱动开发了,而达到一个完美的境界:概念一致性(conceptual integrity)。

    

第3步: 自学在线微课:JNI開發初步 >

              Android软硬整合技术(HAL&Framework)微课-3(请点击此图,立即体验)

 听完了,可深入在Android架构里,Java与C/C++如何密切的结合在一起,非常有助于HAL-based驱动开发工作。

☆ 从框架(Framework)角度来看,Android平台里含有两层框架。上面是Java层的应用框架,而下面是C/C++层的系统框架。这两层框架之间会有密切的沟通。此时JNI(Java Native Interface)就扮演双方沟通的接口了。藉由JNI接口,可将Java层的基类或子类别的函数实作部份挖空,而移到JNI层的本地C函数来实作之。这个JNI本地(Native)C函数,再衔接到底层的C/C++系统框架。      


第4步: 自学在线微课:Android的Java层系统服务与API >

              Android软硬整合技术(HAL&Framework) 微课-4(请点击此图,立即体验)

 听完了,可深入理解Android系统的核心部分,包括其架构、API和开发要点。

☆ 为什么我们需要学习撰写系统服务呢? 底层系统服务是Android 框架最接近Linux/Driver 的部分。为充分发挥硬件设备的差化特性,系统服务是让上层Java 应用程序使用Driver/HW Device 特色的重要管道。在开机过程中,就可以启动核心服务(如汉字输入法服务等),让众多应用程序共享之。由于共享,所以能有效低 Java 应用程序的大小(Size)。于此,先仔细解析Java层系统服务的架构,然后阐述这系统服务的代码开发要点,以及其API设计方法。


第5步: 自学在线微课:App框架(Framework)初步 >

               Android软硬整合技术(HAL&Framework)  微课-5(请点击此图,立即体验)

 听完了,可掌握框架(Framework)的基本知识和技术,对于深入理解Android系统的多层框架体系,是非常有帮助的。

☆ Android是基于Linux的多层框架(framework)体系,而框架又内含许多设计模式(patterns)。如果我们也能将设计模式和框架观念,应用于Linux的驱动开发上。就能基于一致的概念来看待上层的Android软件开发和底层的Linux驱动开发了,而达到一个完美的境界:概念一致性(conceptual integrity)。让该领域中的程序员们,依共同结构来发展程序,使程序间具有一致性,增加了程序的清晰度,以降低程序的设计与维护费用。

  

第6步: 恭喜初阶课程毕业了,

             请继续=> 学习高阶课程

 

~ End ~


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI