课程目录:Android应用开发框架解析与软硬整合培训
4401 人关注
(78637/99817)
课程大纲:

     Android应用开发框架解析与软硬整合培训

 

 

Android的软硬整合观点及获利模式
1.1、 Android产业信息策略分析 Android技术、产品与市场 Android开源、开放与相容的意义和途径 Android手机、平板和电视产品的技术趋势与市场策略 软硬整合观点与应用(AP)开发的常见迷思 Android带给硬件同质化,硬件厂必须自行开发AP,以创造差异化 内容或网络业者好推出自己的设备(如亚马逊电子书、手机) AP力求跨平台,应该独立于硬件或幕后服务 为求跨平台,AP应该全部使用Java语言开发 打造自己应用商城(App Market)才能主导AP开发者 AP开发者只能实践业务流程,不能主导商业的金流
1.2、 Android产业观点及获利模式 如何从产业(不是产品)观点看Android平台 Android平台如何主导商业金流 硬件厂商如何调教Android平台 电信、网络服务和内容业者如何善用Android平台 软件(AP)开发者如何成为Android平台上的主导者 Android的整体架构介绍
1.3、 Android的平台的服务 、 常用的服务 简介(0verview) Android各项服务的启动 Windows Manager Activity Manager Package Manager 其它服务介绍 Android框架四大基本组件: 通信基础:Intent -Intent-based Programming -范例:使用Intent启动Activity Activity -使用Intent启动Activity -Activity的life-cycle -Activity间的互相传递数据 -建立多Activity的应用程序 -Android基本UI布局及样式(Pattern) Service -使用Intent启动Service -何谓远距(remote)的Service? -绑定(bind)远距Service -建立Service应用程序,以播放背景MP3歌曲 BroadcastReceiver -何谓BroadcastReceiver? -以BroadcastReceiver接收S短信 -建立BroadcastReceiver应用程序,以启动Service播放MP3歌曲 ContentProvider -何谓ContentProvider? -ContentProvier与SQLite数据库 -使用ContentProvider进行数据的增、删、改、查 Android的进程观念和IPC通信机制 进程(Process)观念 IBinder接口 呼叫IBinder接口的transact()函数 Binder类的意义和用法 实作Binder类onTransact()函数 Android的线程模式介绍 Android的主线程(Main Thread) 如何诞生Java层子线程 Java层主、子线程的通讯模式 Android的机制 Android/Linux的UID观念 Android的Permissions机制 Android的UI框架介绍 主线程与ANR(Android Not Responding)对话框 Activity与View 控件体系的事件(信息)传递机制 View 控件体系的扩充与组件定制 SurfaceView控件幕后的多线程机制 SurfaceView结合动画的应用
1.4、 熟悉Android开发环境 介绍Android Java层应用开发环境、器、及如何建立程序 Android的开发工作 使用Android SDK和器 Eclipse、ADT、DDMS和ADB等 亲手开发支Android应用程序

2 Android的HAL-based驱动开发
2.1、 Android/Linux驱动开发技术及经验 Android与Linux内核驱动的比较 Linux内核和驱动程序基本概念 User-space驱动与Kernel-space驱动 Android中设备驱动使用 User-space驱动的Pros和Cons
2.2、 Android HAL框架开发 HAL(Hardware Abstraction Layer)的意义 设计HAL Stub 程序 理解runtime与HAL Stub HAL Stub调用Kernel Driver的方法 Java与C/C++整合开发技术
2.3、 JNI Native进阶开发:雕龙妙技 控制点的抉择 控制点的规划 控制点在Java层:复习Java呼叫Native C函数 控制点在C/C++:Native C如何呼叫Java函数 控制点在C/C++:Native C函数如何诞生Java对象 JNI Native C的执行绪模式 Android VM的执行绪模式介绍 JNI Native C程序的执行绪模式 JNI Native程序的执行绪设计
2.4 、核心服务框架的关键机制:Binder Kernel 认识Android核心服务 以多媒体Mediaplayer为例介绍C++层服务 核心服务:包括Android Service和 Native Service 核心服务的幕后机制:Binder Kernel 核心服务框架内的通讯机制 IPC跨进程(Process)通讯机制 如何绑定(Bind)C++层服务
2.5、 撰写你的个Android核心服务 观摩天字号核心服务:(ServiceManager) 撰写C++类实现你的核心服务 创建该C++类的物件,藉由存入Binder Kernel里 JNI函数透过来绑定该核心服务 Java框架透过JNI而呼叫核心服务 核心服务透过HAL衔接到Linux或底层驱动程序

3 Android 框架解析与应用界面设计
3.1、 认识Android的UI框架 认识UI线程及线程 View类别体系的常用控件 布局、菜单、对话框 GroupView与Layout ListView与活用Adapter UI Style初步与活用 UI 布景(Theme)设计 以XML定义UI Layout设计
3.2 、UI呈现与多媒体框架解析 UI界面与绘图应用 Android 的2D绘图基础:使用Skia 活用Android的View控件及其画布(Canvas) 使用Android的Drawable图像资源 Drawable图像的透明度 Android的3D绘图基础:使用0penGL ES 介绍Android的SurfaceView控件 范例:让图像在SurfaceView里旋转 SQlite数据与多媒体应用范例 存取SQlite数据库 规划音乐档案格式(WAV) 启动Audio 服务进行录制音乐,并存入SQlite数据库
3.3、 观摩Android应用框架的设计 MediaPlayer框架范例解析 Java层框架基类及相关类别 JNI界面 核心服务 SurfaceView框架范例解析 一般View与SurfaceView的区别 SurfaceView的执行绪模式 以0penGL_ES说明SurfaceView的JNI接口设计 SurfaceFlinger在框架里的角色 SurfaceFlinger的任务 SurfaceView如何透过JNI呼叫SurfaceFlinger核心服务 SurfaceFlinger核心服务如何整合多个SurfaceView的动画 软硬整合 + 云服务:使用Android & HTML5
3.4、 Android + GAE云服务应用开发 以Google AppEngine为例,实现端云相连 取得云服务:以Google的AppEgine为例 Google的AppEgine的Servlet程序 将Image图文件存入云平台 撰写Android应用程序调用 Servlet程序 Servlet程序将图文件存入云的DB里
3.5 、Android + HTML5 + Android智能TV + 家庭物联网 实现智能家庭 以智能TV为中心,建立家庭云(Family Cloud) 将 i-Jetty安装到智能TV 撰写家庭云网页:将HTML(or HTML5)代码写入智能TV里 从手机访问家庭云主页:例如,控制IP摄像头等
3.6 结语:软硬整合与Android技术 软硬整合+设计 海峡两岸的<软硬整合之路>如何走呢? 三星、S0NY、微软都迈向软硬整合 必备条件:开放平台 圆满条件:精简设计 软硬整合流程和实践