求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
知名某轨 “ReWorks中
塞默菲舍 《嵌入式软件架构设
某水声通 嵌入式Linux应
广汽研究 ARM处理器体系架
联合汽微 嵌入式软件架构设计
某全球知 Linux内核和系
广汽研究 嵌入式软件架构设计

相关课程  
UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks
 

Android框架原理,Android系统级内核原理,定制,移植和优化    
吴老师
曾任 Marvell中国开发经理,负责在Google TV项目的Android系统移植、定制和优化 。
报名课程       
时间地点: 北京 上海 深圳 根据报名开班
课程费用: 5000元 详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册
 

本课程为Android开发者建立全面的开发方案,包括:Android应用程序框架原理与开发实践 和Android系统级内核原理、定制、移植和优化。

培训目标
Android应用程序框架原理与开发实践
  • Android系统结构与分层
  • Android应用程序
  • 显示与Layout
  • Android环境里的大型应用程序的设计 -- 在线播放器开发实例
  • Android版本变迁与应付Android碎片化
  • 多线程
  • RemoteService与设计
  • JNI
  • 优化
Android系统级内核原理、定制、移植与优化
  • Android系统结构与源代码
  • Android系统运行原理
  • Android 移植
  • 实现硬件适配的HAL
  • HAL的典型范例 -- Sensor HAL
  • Binder
  • 交叉编译与整合第三方代码
  • Android的人机交互设计
  • 系统定制
  • 调试与优化
  • Android版本与项目管理
培训对象:Android开发工程师
学员基础:具有一定的Android开发经验
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容: 2天
Android应用程序框架原理与开发实践
Android系统结构与分层
  • Android的分层设计
  • Android系统构成原理与特点
  • Android需要的Linux内核
  • Android式的驱动抽象 -- HAL
  • Android的核心 -- Framework
  • Android的应用程序层
Android应用程序
  • Android应用程序的四大组成部分及交互
  • Intent与Intent filter
  • Activity
  • Service
  • Broadcast Receiver
  • Content Provider
显示与Layout
  • View、ViewGroup和Layout
  • 基本控件
  • 复杂控件(ListView,GridView,Gallery)
  • Adapter
  • 自定义View
  • 后台线程的View绘制
Android环境里的大型应用程序的设计 -- 在线播放器开发实例
  • 基于已有的WebService的需求分析
  • 功能分析与设计
  • 基于用户体验的交互设计
  • 可靠性设计 – Android里的无崩溃应用程序设计技巧
  • 拓展性设计 – 基于Reflection提高软件的灵活性
  • 设计模式在Android里的实践
  • 编码上的技巧 – 库方式开发、Activity Affinity、与代码保护
  • 代码的可测试环境 – 活用Android环境里的白盒测试与黑盒测试工具
  • 质量控制与版本升级
Android版本变迁与应付Android碎片化
  • Android的版本变迁史
  • Android应用程序上的“碎片化”问题
  • 应对“Android碎片化”的技巧与手段
  • 跨平台软件工程 – 如何兼容iOS
  • Android 2.3到4.0的应用程序编程上的巨大变动
  • 保持应用程序在不同Android版本上的兼容性
多线程
  • UI线程单线程原则
  • 分析与解决ANR
  • 后台线程
  • AsyncTask与IntentService
  • Android 3.0之后的多核化编程注意事项
RemoteService与设计
  • Service在软件构架上的重要性
  • Local Service与Remote Service
  • AIDL,接口与实现
  • 基于AIDL的数据传递
  • 通过Remote Service构建播放器的实例
JNI
  • JNI的必要性与缺陷
  • 使用NDK开发JNI
  • JNI编程的两种模式
  • 通过JNI,实现Java与Native执行环境的交互
  • JNI开发的注意要点
  • 通过JNI整合第三方代码
  • NativeActivity
优化
  • layout优化
  • 代码分析与优化
  • 性能采样工具
  • Java环境里的优化设计与编码
  • Native环境里的优化设计与编码
  • 指令级优化
  • 硬件级加速 – DSP,硬件加速器及RenderScript
Android系统级内核原理、定制、移植与优化
Android系统结构与源代码
  • 回顾Android的系统分层
  • Android在不同版本下的源代码构成
  • Android源代码工程
  • 整合不同的源代码工程
  • 编译Android源代码
  • Android源代码的静态构成
Android系统运行原理
  • Android系统的启动过程 – 构建 Framework的过程
  • 应用程序的启动与被管理
  • 系统运行时的“沙盒”模型
  • Android的独特多任务模型
  • Android框架层提供API实现封装
  • Android框架层向下抽象硬件或是软件实现上的差异性
  • 应用访问底层库或驱动的三种模型
Android 移植
  • 官方Android源代码与第三方代码
  • 各大芯片厂商的源代码
  • 移植的Dirty way
  • 移植后的产品化
  • Linux驱动的快捷化移植
  • 修改HAL
  • 属性的自定义
  • 非手机平台的Android产品化
实现硬件适配的HAL
  • Android系统里的常见硬件功能
  • 处理硬件差异性
  • 广义的HAL和狭义的HAL
  • HAL的两种模型
  • HAL的实现
  • 定义新的HAL
  • 基于HAL模型拓展Android硬件支持能力
  • HAL与Hot plug
HAL的典型范例 -- Sensor HAL
  • Android里的Sensor管理框架
  • 在版本变迁过程里的Sensor框架改进
  • 2.2之前的Sensor HAL
  • 2.3之后的Sensor HAL
  • Sensor的Linux驱动
Binder
  • Binder简介
  • Binder在Android系统里的核心作用
  • 基于Binder的Intent
  • Remote Service在Android系统里的意义
  • 实现Native Service
  • 基于Binder的灵活性设计
  • 在整合现有资源时使用或不使用Binder的区别
交叉编译与整合第三方代码
  • 嵌入式的交叉编译
  • Android的编译系统
  • 通过Android.mk快速整合源代码
  • Framework与第三方代码整合时的考量
  • Framework与第三方代码的三种交互模式
  • 设计模式的使用
Android的人机交互设计
  • 人机交互设计的终极目标:简单、高效、高响应
  • Android在UI交互设计上的革命性
  • 处理输入事件的Linux标准输入层
  • Android处理输入事件的不同接口
  • Android的显示处理框架
  • 硬件加速在Android系统里的重要性
系统定制
  • android系统定制的需求与着眼点
  • android的核心组件与交互
  • 深层定制软件工程
  • 安全性设计
  • 功能层二次设计与开发
  • API兼容性保持
  • 深度定制实例分析
调试与优化
  • Android底层开发里的常见问题
  • 简单化的调试优化手段
  • Java态的调试技术
  • C++环境里的调试技术
  • 基于Linux的调试与优化
  • 代码执行性能采样
  • 如何进行Android的优化
Android版本与项目管理
  • repo
  • git与基本版本管理工具
  • Gerrit
  • 基于git的云开发
  • Bug管理
  • 基于repo的产品管理
  • 开发者的工作流
  • 管理者和代码检阅者的工作流
 
其他人还看了课程
企业战略与变革管理  
软件架构设计方法  
红帽认证  
数据分析与挖掘  
定制内训




最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]