《Android高级开发实战培训班》

《Android高级开发实战培训班》

开课时间:2013 课程时长: 18
授课讲师:王老师 课程价格:¥4500
天数:3
开课地点:南京
专业分类:研发创新类
行业分类:
岗位分类:研发技术部,研发技术部:研发经理
关键字:
分享至:

开课计划

城市 天数 价格 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
深圳 3 450022-24
南京 3 450027-29

背景与目标

适合人员概述

主要内容

------- 2013年07月29-31日  (上海)

 

------- 2013年09月27-29日  (南京)

 

------- 2013年11月22-24日  (深圳)

 

 

课程背景

 

为响应工业和信息化部 “工业和信息化领域紧缺人才培养工程”,我中心针对目前企事业单位信息技术研发人员对Andriod技术的紧迫需求,设计推出了Android高级开发实战课程。授课专家在多年的Android6款硬件产品和超过20款应用软件)及HTML5系列技术的实战背景下制定本课程,课程全程以过去工作的案例为核心,掌握本课程后至少能够轻松编写完成诸如UC迅雷、优酷和KU6等的Android视频客户端、赶集网的移动客户端等并对HTML5有本质性的认识,最后以ActivityManagerService的源码剖析为核心,彻底剖析Android程序运行背后的机制,深刻体悟Android框架的设计哲学和实现机制,旨在帮助贵公司完成任意负责程度的Android程序开发并从务实实战的角度帮助Android工程师升级到Android架构师。

 

参加人员

 

研发工程师、解决方案工程师、系统维护工程师等。

 

课程目标

 

1.通晓Android的架构哲学和力量来源以及实现技术;

2.能够开发出任意类型、任意复杂程度的应用程序;

3.能够使用NDK技术编程;

4.实战Android测试技术;

5.HTML5有根本性的理解;

6.ActivityManagerService的源码剖析为核心,彻底剖析Android程序运行背后的机制,深刻体悟Android框架的设计哲学和实现机制。

 

课程大纲

 

第一单元

 

1.1Android的哲学思考

 

1. 造型简单、内涵丰富、无限重复

2. Android的胜利者

3. Android核心力量源泉

4. AndroidIOC容器、解耦

5.AndroidiOS的核心区别

 

1.2Android框架分析

 

1. Android框架

2. Android设计模式

3. 深入AndroidIOC

4.框架的重大意义

5.Android的硬件框架HAL

6.Android各主要版本区别(2.33.0 4.0)

7..AndroidiOS的共同点

 

1.3Dalvik VM

 

1. Dalvik VM的特点,Dalvik VMJVM的比较

2 .Dalvik VM的内存分布及OOM(Out of Memory)的根本原因和解决方案是什么?

3 .Preload Classes Preload ResourcesClassLoader到底在哪里?

4 .DalvikJavaC/C++

 

1.4Android开发环境搭建和HelloWorld

 

1. JavaEclipseSDKNDKADT

2. 搭建环境过程中的疑难问题

3.彻底解决没有3G信号的问题

4.开发HelloWorld

5.彻底剖析第一个程序

6.Android应用程序开发的经典模式---MVC模式彻底剖析

7.总结:掌握一个完整的应用程序的开发步骤、注意事项、方法等

 

1.5Android发短信、发彩信、打电话

 

1.发短信案例

2.发彩信案例

3,打电话案例

4,总结和思考之一:Android应用程序的设计理念

5,总结和思考之二:Android应用程序的生命周期

 

1.6Activity生命周期剖析、应用程序生命周期剖析

 

1.Activity生命周期周期图分析

2.Activity生命周期测试代码

3.Activity嵌套生命周期

4.应用程序生命周期剖析

5.Android管理应用程序和Activity方式思考

 

1.7不同Activity之间的调用和数据传输,关于隐式Intent精彩绝伦剖析,关于setType的问题已经解决方案显示Intent和隐式Intent使用场景分析

 

1.startActivitystartActivityForResultrequestCoderesultCodefinishonActivityResult的彻底剖析

2.关于隐式Intent剖析:动作(Action)、类别(category)、数据dataUriSchemaHostPath)和数据类型(MimeType))

3.setType()带来的困扰以及最佳解决方案

4.显示Intent和隐式Intent使用场景、使用意义、利弊。

5.Android中鼓励解耦的实现方式的思考

 

1.8 HandlerLooperMessageMessageQueue

 

1. Android的事件驱动模型

2. LooperMessageQueueHanlderMessage等源码深度剖析

3. LooperMessageQueueHanlderMessage及多线程实战案例

 

1.9 AsyncTASK异步线程技术

 

1. 使用AsyncTask的原因及对AsyncTask的思考

2. AsyncTask代码示例

3. AsyncTask源码剖析

4. 异步线程调用的应用场景及注意事项

 

2.0Android调试

 

1.调试的重要价值

2. 调试实战

 

2.1 Android基本UI设计与开发技巧

 

1. UI设计理念与开发技巧

2. 菜单实战;

3Google MapWebViewGallerySpinnerTab LayoutGrid ViewTable layoutRelative layoutLinear layout实战;

 

2.2 ListView异步加载技术

 

1. 使用ListView异步加载技术的必要性

2. ListView异步加载技术编程实战

 

2.3 ListView分页加载技术

 

1. 使用ListView分页加载技术的必要性

2. ListView分页加载技术编程实战

 

2.4 Widget编程实战

 

1. Widget应用场景

2. Widget编程实战

 

2.5自定义TabHost

 

1. Tabhost的应用场景

2. 自定义TabHost编程实战

3. TabHost源码剖析

 

2.6自定义标题栏

 

1. 自定义标题栏的应用场景

2. 自定义标题栏编程实战

3.自定义标题栏疑难问题解析

 

2.7 PopupWindow

 

1. PopupWindow程序带来的视觉冲击

2. PopupWindow编程实战

3. PopupWindow调试

 

2.8性能测试和优化

 

1. 如何进行性能测试

2. 性能测试实战

3. 优化法则和编码应该注意的地方

 

第二单元

 

1.1图片拖拉功能

 

1 图片拖拉功能应用场景

2 图片拖拉功能编程实战

 

1.2多点触摸与缩放功能

 

1 多点触摸与缩放功能应用场景

2 多点触摸与缩放功能编程实战

 

1.3 ANDROID中图形编程实战

 

1 使用LAYER LIST制作动态相框

2 使用STATELIST实现不同状态下图片的切换

3 使用LEVEL LIST揭秘电池电量变换状态

4 使用TRANSITION DRAWABLE实现动态过渡效果

5 使用CLIP DRAWABLE揭秘水平进度条

6 使用SHAPE DRAWABLE自定义几何图形

 

1.4广播接受者BroadcastReceiver,短信监听器案例(接受到短信后上传到服务器或发送到指定的号码或者发送到指定的邮件中)

 

1.剖析广播接收者,与JMS的比较,广播接受者的IoC原理

2.短信监听Android客户端

3.服务器端搭建

4.通过网络把接收到的短信上传到服务器

5.把接收到的短信发送到指定的手机号码或者邮件中

6.BroadcastReceiver的的生命周期和注意事项以及5秒钟生命响应时间的解决方案

 

1.5服务Service,电话监听器(每次开机的时候自动开机,电话来时录音并上传到服务器)

 

1.详细剖析Service

2.构建电话监听的Service

3.使用BroadcastReceiver监听开机事件,并在开机时启动电话监听的Service

4.上传音频文件到服务器

5.关于Android安全体系的思考

 

1.6 SharedPreferences的读写、SharedPreferences操作权限、从不同的包中读取参数及源代码剖析

 

1.SharedPreferences的读

2.SharedPreferences的写

3.SharedPreference操作权限分析

4.读写不同包中的SharedPreference

5.源代码剖析

 

1.7单元测试、日志、手机内部文件的形式存储数据及源代码剖析

 

1.单元测试

2.日志

3.对手机的文件进行读写:openFileInput()openFileOutput()       4.对文件读写的单元测试

5.对四种文件权限模式的测试

6.常用的文件读写API简介

7.剖析源代码

 

1.8 SDCard读写、代码重构、源代码剖析

 

1.构建业务层

2.对业务层的单元测试

3.使用Activity调用业务层对SDCard进行读写

4.提取出帮助类,遵循MVC模式对代码重构。

5.源代码剖析

 

1.9 SQLite管理工具类、CRUD操作、分页等及源代码剖析

 

1.SQLite简介

2.SQLiteOpenHelper

3.CURDexecSQL()rawQuery()

4.分页

5.getWritableDatabase()getReadableDatabase()进行源代码分析

6.执行流程和原理的深入彻底的剖析

7.源代码剖析

 

2.0使用Android自身提供的API进行CRUD操作、ListView的详细讲解及源代码剖析

 

1.使用Android自带的insertupdatequerydelete等进行CRUD操作

2.剖析insertupdatequerydelete的源代码

3.ListView深入详细的剖析,自定义视图,自定义Adapter

4.剖析Cursor的源代码

5.关于SQLiteCursor的“_id”问题的剖析和解决方案

7.源代码剖析

 

2.1 ContentProvider背景、用途,如何构建ContentProviderUriMatcherContentUris,对CotentProvider进行单元测试、源代码分析

 

1.ContentProvider背景、用途

2.构建ContentProvider的详细步骤

3.URI的彻底剖析

4.分析UriMatcherContentUris

5.ContentProvider的层代码单元测试

6.ContentProvider的源代码剖析

 

2.2基于通讯录的开发

 

1. 通讯录的数据库和数据表分析

2. 通讯录ContentProvider的源码剖析

3. 获取所有的联系人信息

4.添加联系人

5.如何处理添加通讯录记录时的事物问题

 

第三单元

 

1.1深入Android测试,涵盖ActivityServiceContentProvider的测试等

 

1.Assertion

定制消息静态导入

2. 深入Assertion

3. TouchUtils

4. Mock对象

MockContext概述

IsolatedContext

对文件和数据库的测试操作

MockContentResolver

5.基类TestCase

没有参数的构造方法

传递参数的构造方法

setName()方法

6.基类AndroidTestCase

assertActivityRequiresPermission()

方法剖析和实战

assertReadingContentUriRequiresPermission()

方法剖析和实战

assertWritingContentUriRequiresPermission()方法剖析和实战

7. Instrumentation

ActivityMonitor内部类剖析和实战

8. InstrumentationTestCase

launchActivitylaunchActivityWithIntent方法

sendKeyssendRepeatedKeys方法

runTestOnUiThread帮助方法

9. ActivityTestCase

scrubClass方法

10. ActivityInstrumentationTestCase2

构造方法

setUp方法 earDown方法

testPreconditions方法   11. ProviderTestCase2类构造方法实战

12. ServiceTestCase 构造方法

13.TestSuiteBuilder.FailedToCreate Tests类剖析

14. 在测试工程中使用external ibraries

 

1.2断点续传(一)类似迅雷的多线程下载器(适用于任何类型的文件下载)

 

1,多线程下载断点续传原理和流程图

2,下载文件时Http协议协议详解

3,多线程下载断点续传程序:设计服务端和Android

4Android端的内容涉及IoC、多线程、SQLite数据库、HandlerHttp协议、缓存处理、意外关机时候的处理、编写框架、MVCServiceAndroid中的I/O流、代码调试、Activity的生命周期等

5,单元测试

6,软件调试

 

1.3断点续传(二)多线程断点文件上传器(适用于任何类型的文件上传)

 

1,断点续传原理和流程图

2,上传文件的Http协议详解

3,自定义自己的文件传输协议

4,服务端程序的编写:文件的下载与实时数据的记录、监听模式、乱码问题的处理、并发问题、黑客安全问题

5,客户端程序的编写:Android内存溢出问题,Android中的Socket编程、大文件的传输、大文件传输时候的安全问题

6,单元测试

7,软件调试

 

1.4 Android客户端表单数据的上传

 

1,上传基本的数据类型

2,上传图片等附件

3,把代码重构为能够上传任意数量的字段和任意数量的附件的工具类

4,思考本地离线存储/在线上传技术方案

 

第四单元

 

1.1AndroidJavaWebViewJavascript相互沟通

 

1,制作Android界面的新大陆

2Java调用Javascript

3Javascript调用Java

 

1.2Android ndkC通过JNI调用Java

 

1 本地C代码调用Java中的Method

2本地C代码获得Java对象的属性值

3 多个类中有本地C代码的调用

4 在本地代码中创建Java对象

5 处理异常

 

1.3ANDROID NDKJavaC++沟通

 

1 Java代码调用C++代码

2 C++代码调用Java代码

 

1.4NDK中的多线程编程

 

1 深度剖析JavaDalvik VMC/C++的运行流程

2 Java中分配线程调用C/C++函数

3 C/C++本地代码通过分配线程调用Java函数

 

1.5Android手机功能开发(20分钟)

 

1  应用程序控制硬件的起点:getSystemService函数剖析;

2手机硬件功能开发、Android底层方法的调用等

 

1.6浏览器开发和自定义

 

1 浏览器定制和开发的核心原理剖析

2 浏览器定制和开发的技术手段剖析

3 浏览器定制和开发实战

 

1.7 HTML5时代:DeviceBrowserCloud

 

1  HTML5时代谁最重要?

2  HTML5Device

3  HTML5Cloud

4  什么主导了HTML5时代?

 

1.8 Android应用程序运行背后秘密---WindowManagerService源码剖析

 

1  Android应用程序的main入口到底在哪里?

2 ActivityThread成为应用程序的主线程的过程是什么?

3 LooperMessageQueueHandler背后的秘密;

4 AndroidActivityServiceProviderReceiver启动的流程源码剖析

 

 

授课讲师

 

王老师

 

国内最早(2007年)从事于Android系统移植、软硬整合、框架修改、应用程序软件开发以及Android系统测试和应用软件测试的技术专家和技术创业人员之一。成功对包括三星、摩托罗拉、华为等世界500强企业实施Android底层移植、框架修改、应用开发等培训。 成功对平安保险、英特尔等实施HTML5培训; 撰写了《大话企业级Android应用开发实战》、《基于Android平台的商业软件---手机守护神开发全程实战》、《Android 4.0网络编程详解》、《细说Android NDK编程》、《Android软、硬、云整合实战》、《Android开发三剑客——UML、模式与测试》等多部Android著作。

 

主办单位

 

上海复锐企业管理咨询有限公司

 

收费标准

 

听课费用:4500 /人(含培训费、考试费、证书费、资料费、午餐) 食宿统一安排,费用自理。

 

联系方式

 

上课地点:南京

电 话:021-65210156-811

传 真: 021-65210596

 

授课老师

学员反馈

相关课程推荐 / related COURSES

    
    点击这里给我发消息