当前位置: 企业公开课 > 人力资源 > 培训管理
Android应用框架解析和应用程序开发
课程安排: 西安

其它排期:

授课讲师:王家林

课程价格:6800

培训对象:

报名热线:400-801-3929

请填写您的报名信息

您的称呼

报名企业

您的电话

< 返回继续选课


时间地点: 2014-6-18 至 2014-6-20  西安      授课讲师王家林    学习费用: 6800 元/位

2014-06-18至2014-06-20【西安】  

培训对象 对此课程感兴趣者

课程费用6800元/人


课程简介:

通晓Android的架构哲学和力量来源以及实现技术;
能够开发出任意类型、任意复杂程度的应用程序;
能够使用NDK技术编程;
实战Android测试技术;

课程要求:
揭秘Android;
精通四大组件;
掌握Android的测试和调试技术;
精通Android高级界面编程;
精通Android网络编程;
熟练NDK编程;
实战Android测试技术;
课题

Day1
1.1Android的哲学思考
1. 造型简单、内涵丰富、无限重复
2. Android的胜利者
3. Android核心力量源泉

1.2Android框架分析
1. Android框架
2. Android设计模式
3. Android的IOC
4.框架的重大意义

1.3Android发短信、发彩信、打电话
1.发短信案例
2.发彩信案例
3,打电话案例

1.4Activity生命周期剖析、应用程序生命周期剖析
1.Activity生命周期周期图分析
2.Activity生命周期测试代码
3.Activity嵌套生命周期
4.应用程序生命周期剖析
5.对Android管理应用程序和Activity方式的思考

1.5不同Activity之间的调用和数据传输,关于隐式Intent精彩绝伦剖析,关于setType的问题已经解决方案显示Intent和隐式Intent使用场景分析(0.8小时)
1.startActivity,startActivityForResult,requestCode,resultCode,finish,onActivityResult的彻底剖析
2.关于隐式Intent剖析:动作(Action)、类别(category)、数据data(Uri(Schema,Host,Path)和数据类型(MimeType))
3.setType()带来的困扰以及最佳解决方案
4.显示Intent和隐式Intent使用场景、使用意义、利弊。
5.对Android中鼓励解耦的实现方式的思考

1.6 Handler、Looper、Message、MessageQueue
1. Android的事件驱动模型
2. Looper、MessageQueue、Hanlder、Message等源码深度剖析
3. Looper、MessageQueue、Hanlder、Message及多线程实战案例

1.7 AsyncTASK异步线程技术
1. 使用AsyncTask的原因及对AsyncTask的思考
2. AsyncTask代码示例
3. AsyncTask源码剖析

1.8Android测试
1.Android代码测试的好处,测试的方式
2.JUnit框架解析
3.测试用例的生命周期
4.自动化测试
5.源码剖析

1.9深入Android测试,涵盖Activity、Service、ContentProvider的测试等(0.6小时)
1.Assertion
定制消息
静态导入
2. 深入Assertion
3. TouchUtils类
4. Mock对象
MockContext概述
IsolatedContext类
对文件和数据库的测试操作
MockContentResolver类
5.基类TestCase
没有参数的构造方法
传递参数的构造方法
setName()方法
6.基类AndroidTestCase
assertActivityRequiresPermission()方法剖析和实战
assertReadingContentUriRequiresPermission()
方法剖析和实战
assertWritingContentUriRequiresPermission()
方法剖析和实战
7. Instrumentation
ActivityMonitor内部类剖析和实战
8. InstrumentationTestCase类
launchActivity和launchActivityWithIntent方法
sendKeys和sendRepeatedKeys方法
runTestOnUiThread帮助方法
9. ActivityTestCase类
scrubClass方法
10. ActivityInstrumentation
TestCase2类
构造方法
setUp方法
tearDown方法
testPreconditions方法
11. ProviderTestCase2<T>类
构造方法
实战
12. ServiceTestCase<T>
构造方法
13. TestSuiteBuilder.FailedToCreateTests类剖析
14. 在测试工程中使用external libraries

2.0Android调试(0.1小时)
1.调试的重要价值
2. 调试实战
2.1性能测试和优化(0.1小时)
1. 如何进行性能测试
2. 性能测试实战
3.性能优化

Day2
1.1广播接受者BroadcastReceiver,短信监听器案例(接受到短信后上传到服务器或发送到指定的号码或者发送到指定的邮件中)(1小时)
1.剖析广播接收者,与JMS的比较,广播接受者的IoC原理
2.短信监听Android客户端
3.服务器端搭建
4.通过网络把接收到的短信上传到服务器
5.把接收到的短信发送到指定的手机号码或者邮件中
6.BroadcastReceiver的的生命周期和注意事项以及5秒钟生命响应时间的解决方案

1.2服务Service,电话监听器(每次开机的时候自动开机,电话来时录音并上传到服务器)(1小时)
1.详细剖析Service
2.构建电话监听的Service
3.使用BroadcastReceiver监听开机事件,并在开机时启动电话监听的Service
4.上传音频文件到服务器
5.关于Android安全体系的思考

1.3 SQLite管理工具类、CRUD操作、分页等及源代码剖析(0.5小时)
1.SQLite简介
2.SQLiteOpenHelper类
3.CURD:execSQL()和rawQuery()
4.分页
5.对getWritableDatabase()和getReadableDatabase()进行源代码分析,剖析其原理
6.执行流程和原理的深入彻底的剖析
7.源代码剖析

1.4使用Android自身提供的API进行CRUD操作、ListView的详细讲解及源代码剖析(0.5小时)
1.使用Android自带的insert、update、query、delete等进行CRUD操作
2.剖析insert、update、query、delete的源代码
3.对ListView深入详细的剖析,自定义视图,自定义Adapter。
4.剖析Cursor的源代码
5.关于SQLite和Cursor的“_id”问题的剖析和解决方案
7.源代码剖析

1.5ContentProvider背景、用途,如何构建ContentProvider,UriMatcher,ContentUris,对CotentProvider进行单元测试、源代码分析(2小时)
1.ContentProvider背景、用途
2.构建ContentProvider的详细步骤
3.对URI的彻底剖析
4.分析UriMatcher,ContentUris
5.对ContentProvider的业务层代码进行单元测试
6.ContentProvider的源代码剖析

1.6基于通讯录的开发(1小时)
1. 通讯录的数据库和数据表分析
2. 通讯录ContentProvider的源码剖析
3. 获取所有的联系人信息
4.添加联系人
5.如何处理添加通讯录记录时的事物问题

Day3
1.1断点续传(一)类似迅雷的多线程下载器(适用于任何类型的文件下载)
1,多线程下载断点续传原理和流程图
2,下载文件时Http协议协议详解
3,多线程下载断点续传程序:设计服务端和Android端
4,Android端的内容涉及IoC、多线程、SQLite数据库、Handler、Http协议、缓存处理、意外关机时候的处理、编写框架、MVC、Service、Android中的I/O流、代码调试、Activity的生命周期等
5,单元测试
6,软件调试

1.2断点续传(二)多线程断点文件上传器(适用于任何类型的文件上传)
1,断点续传原理和流程图
2,上传文件的Http协议详解
3,自定义自己的文件传输协议
4,服务端程序的编写:文件的下载与实时数据的记录、监听模式、乱码问题的处理、并发问题、黑客安全问题
5,客户端程序的编写:Android内存溢出问题,Android中的Socket编程、大文件的传输、大文件传输时候的安全问题
6,单元测试
7,软件调试

1.3Android客户端表单数据的上传
1,上传基本的数据类型
2,上传图片等附件
5,把代码重构为能够上传任意数量的字段和任意数量的附件的工具类

1.4Android中Java与WebView中Javascript相互沟通
1,制作Android界面的新大陆
2,Java调用Javascript
3,Javascript调用Java

1.5:Android ndk中C通过JNI调用Java
1 本地C代码调用Java中的Method
2本地C代码获得Java对象的属性值
3 多个类中有本地C代码的调用
4 在本地代码中创建Java对象
5 处理异常

1.6:ANDROID NDK中Java与C++沟通
1 Java代码调用C++代码
2 C++代码调用Java代码

1.7:NDK中的多线程编程
1 深度剖析Java、Dalvik VM、C/C++的运行机制与流程
2 Java中分配线程调用C/C++函数
3 C/C++本地代码通过分配线程调用Java函数




讲师介绍:王家林

致力于HTML5和软、硬、云整合,智慧家庭,智能城市,精通Android安全
讲师背景

项目经验

HTML5的软硬整合、HTML5和云计算的整合、HTML5游戏项目、HTML5的Web项目、 Android手机卫士、Android移植工作、Android上特定硬件的垂直整合、编写Java虚拟机、Android框架修改、Android娱乐多媒体软件(针对酷六、优酷、土豆等类型的网站)、大型B2C电子商务网站、大型SNS网站等。

工作经验:
三次技术创业经历:B2C电子商务创业、SNS创业、Android创业、赶集网“起航”项目唯一一位高级软件工程师、Android培训,HTML5技术的狂热者,多家著名公司的技术顾问;

培训经验
成功对包括三星、华为等世界500强企业实施Android底层移植、框架修改、应用开发等培训。

所出书籍:
《大话企业级Android应用开发实战》、《基于Android平台的商业软件---手机守护神开发全程实战》、《Android 4.0网络编程详解》、《细说Android NDK编程》、《Android软、硬、云整合实战》、《Android开发三剑客——UML、模式与测试》等多部Android著作。