Android:从程序员到架构师之路Ⅴ_高焕堂
Part-4: 亲自<敏捷+架构>、并迭代出代码
一 情境范例:”手机访问TV/STB”
l 愿景:多屏互动、幸福家庭的实践
l 亮点:许多智能设备大量进入家庭,在家里的Android TV建立一朵私密云,来整合窗外多个云平台和手机移动终端,变得流行起来。
l 情境:手机远距访问TV,透过TV打开家中的壁灯开关
l 架构:基于<手机+TV>的大小机相联、大小屏幕互动的新架构
l 设计:设计TV里的框架<E&I>、撰写插件<T>
l 技术:
在外的家庭成员透过手机浏览器(Browser)上网访问家庭云,您可以在家庭云里,安装一个i-Jetty网页容器(Web Container)
此时,I-Jetty里的HttpServlet就是另一个<E>,而它的doGet()等函数就是<I>
您写的servlet代码就是I-Jetty的<T>,它接受手机的访问
二 实际开发:依循敏捷、落实为代码
<架构设计>阶段的敏捷迭代
l Step-0. 准备测试计划
订定此阶段的测试方案(Test Case)
以Android手机Browser为测试方案的执行软件
l Step-1. 设计敏捷过程的起点架构:Simple Solution
通信协议:手机与TV采HTTP通信
软件接口:TV端的EIT造形与手机端Browser对接
设计:以UML表达EIT造形
代码:赚写I-Jetty的Servlet来实践EIT造形
l Step-2. 启动TDD机制、进行迭代
从手机来实机检测TV里的EIT造形的接口代码
依循TDD的反馈,迭代Step-1和Step-2的活动
<代码开发>阶段的敏捷迭代
l Step-3. 准备测试计划
订定此阶段的测试方案:基于用户需求(Requirements)
以Android手机Browser为测试方案的执行软件
l Step-4. 以上阶段Step-2产出的EIT造形为起点架构
l Step-5. 依循测试方案,展开细节设计和代码开发
撰写Android App代码:基于Android应用框架
I-Jetty的<T>调用Android的App
App透过JNI调用Android的Zigbee驱动代码
Zigbee驱动透过Dongle发信号给壁灯开关
l Step-6. 启动TDD机制、进行迭代
从手机来实机检测TV里的有关代码
依循TDD的反馈,迭代Step-5和Step-6的活动,直到完成
三 继续敏捷迭代、开发新功能
新功能1:手机控制TV里的Camera拍照片
l TV/STB内的i-Jetty含有servlet代码,让手机可以远距来访问它
l TV/STB则内含Camera驱动,能控制摄像头硬件
l 运用EIT造形和敏捷迭代,开发软件来整合家外的手机与TV/STB上的摄像头硬件,让家庭成员随时从手机来打开TV/STB的摄像头,拍了照片送回到手机上呈现出来
l 展开敏捷过程,直到完成
新功能2:手机控制TV将照片送上云端(Cloud)
l TV/STB将Camera拍摄的照片送上云端:例如Google的GAE等
l 基于WiFi通信协议
l 展开敏捷过程,直到完成
高老师部分视频网盘分享:http://pan.baidu.com/share/link?uk=1882162285&shareid=2210518229