课程收益
具体收益包括:
1. 揭秘Android;
2. 精通四大组件;
3. 精通Android高级界面编程;
4. 精通Android网络编程;
5. 实战Android测试技术;
6. 洞悉HTML5;
7. 熟练Android 系统服务
8. 熟练掌握Android 开发技巧
9. 熟练掌握Android 微信开发服务
三、 培训大纲
实施说明本课程共分三期,每期四个授课时段,两个下午与两个晚上。第一期Android基础;第二期Android UI与即时通讯;第三期微信SDK、HTML5开发。
第一期Android基础
第一单元 一、Android平台环境搭建
1.1Android的哲学思考
1. 造型简单、内涵丰富、无限重复
2. Android的胜利者
3. Android核心力量源泉
4. Android的IOC容器、解耦
5.Android和iOS的核心区别
1.2Android框架分析
1. Android框架
2. Android设计模式
3. 深入Android的IOC
4.框架的重大意义
5.Android的硬件框架HAL
6.Android各主要版本区别(2.3,3.0, 4.0)
7..Android和iOS的共同点
1.3Dalvik VM
1. Dalvik VM的特点,Dalvik VM和JVM的比较
2 .Dalvik VM的内存分布及OOM(Out of Memory)的根本原因和解决方案是什么?
3 .Preload Classes和 Preload Resources,ClassLoader到底在哪里?
4 .Dalvik与Java和C/C++
1.4Android开发环境搭建和HelloWorld
1. Java、Eclipse、SDK、NDK、ADT
2. 搭建环境过程中的疑难问题
3.彻底解决没有3G信号的问题
4.开发HelloWorld
5.彻底剖析第一个程序
6.Android应用程序开发的经典模式---MVC模式彻底剖析
7.总结:掌握一个完整的应用程序的开发步骤、注意事项、方法等
第二单元 二、Android 四大组件
2.1Android发短信、发彩信、打电话
1.发短信案例
2.发彩信案例
3,打电话案例
4,总结和思考之一:Android应用程序的设计理念
5,总结和思考之二:Android应用程序的生命周期
2.2Activity生命周期剖析、应用程序生命周期剖析
1.Activity生命周期周期图分析
2.Activity生命周期测试代码
3.Activity嵌套生命周期
4.应用程序生命周期剖析
5.对Android管理应用程序和Activity方式思考
2.3不同Activity之间的调用和数据传输,关于隐式Intent精彩绝伦剖析,关于setType的问题已经解决方案显示Intent和隐式Intent使用场景分析
3.setType()带来的困扰以及佳解决方案
4.显示Intent和隐式Intent使用场景、使用意义、利弊。
5.对Android中鼓励解耦的实现方式的思考
2.4广播接受者BroadcastReceiver,短信监听器案例(接受到短信后上传到服务器或发送到指定的号码或者发送到指定的邮件中)
1.剖析广播接收者,与JMS的比较,广播接受者的IoC原理
2.短信监听Android客户端
3.服务器端搭建
4.通过网络把接收到的短信上传到服务器
5.把接收到的短信发送到指定的手机号码或者邮件中
6.BroadcastReceiver的的生命周期和注意事项以及5秒钟生命响应时间的解决方案
2.5服务Service,电话监听器(每次开机的时候自动开机,电话来时录音并上传到服务器)
1.详细剖析Service
2.构建电话监听的Service
3.使用BroadcastReceiver监听开机事件,并在开机时启动电话监听的Service
4.上传音频文件到服务器
5.关于Android安全体系的思考
第三单元 三、Andriod 数据存储
3.1 SharedPreferences的读写、SharedPreferences操作权限、从不同的包中读取参数及源代码剖析
1.SharedPreferences的读
2.SharedPreferences的写
3.对SharedPreference操作权限分析
4.读写不同包中的SharedPreference
5.源代码剖析
3.2单元测试、日志、手机内部文件的形式存储数据及源代码剖析
1.单元测试
2.日志
3.对手机的文件进行读写:openFileInput()、openFileOutput()
4.对文件读写的单元测试
5.对四种文件权限模式的测试
6.常用的文件读写API简介
7.剖析源代码
3.3SDCard读写、代码重构、源代码剖析
1.构建业务层
2.对业务层的单元测试
3.使用Activity调用业务层对SDCard进行读写
4.提取出帮助类,遵循MVC模式对代码重构。
5.源代码剖析
3.4 SQLite管理工具类、CRUD操作、分页等及源代码剖析
1.SQLite简介
2.SQLiteOpenHelper类
3.CURD:execSQL()和rawQuery()
4.分页
5.对getWritableDatabase()和getReadableDatabase()进行源代码分析
6.执行流程和原理的深入彻底的剖析
7.源代码剖析
第四单元 3.5使用Android自身提供的API进行CRUD操作、ListView的详细讲解及源代码剖析
1.使用Android自带的insert、update、query、delete等进行CRUD操作
2.剖析insert、update、query、delete的源代码
3.对ListView深入详细的剖析,自定义视图,自定义Adapter。
4.剖析Cursor的源代码
5.关于SQLite和Cursor的“_id”问题的剖析和解决方案
7.源代码剖析
3.6 ContentProvider背景、用途,如何构建ContentProvider,UriMatcher,ContentUris,对CotentProvider进行单元测试、源代码分析
1.ContentProvider背景、用途
2.构建ContentProvider的详细步骤
3.对URI的彻底剖析
4.分析UriMatcher,ContentUris
5.对ContentProvider的层代码单元测试
6.ContentProvider的源代码剖析
3.7基于通讯录的开发
1. 通讯录的数据库和数据表分析
2. 通讯录ContentProvider的源码剖析
3. 获取所有的联系人信息
4.添加联系人
5.如何处理添加通讯录记录时的事物问题
第二期Android UI与即时通讯
第一单元
四、Android UI
4.1 Android基本UI设计与开发技巧
1. UI设计理念与开发技巧
2. 菜单实战;
3.Google Map、WebView、Gallery、Spinner、Tab Layout、Grid View、Table layout、Relative layout、Linear layout实战;
4.2 ListView异步加载技术
1. 使用ListView异步加载技术的必要性
2. ListView异步加载技术编程实战
4.3 ListView分页加载技术
1. 使用ListView分页加载技术的必要性
2. ListView分页加载技术编程实战
4.4 Widget编程实战
1. Widget应用场景
2. Widget编程实战
4.5自定义TabHost
1. Tabhost的应用场景
2. 自定义TabHost编程实战
3. TabHost源码剖析
4.6自定义标题栏
1. 自定义标题栏的应用场景
2. 自定义标题栏编程实战
3.自定义标题栏疑难问题解析
4.7 PopupWindow
1. PopupWindow程序带来的视觉冲击
2. PopupWindow编程实战
3. PopupWindow调试
第二单元
4.8 WebView
1. WebView主要的API
2. WebView的行为
3. WebView控制Web页面的各个方面及实例
4. WebView高级应用
5.WebView的高级控制
6. WebView和服务器
7.WebView和CGI请求相结合
4.9 性能测试和优化
1. 如何进行性能测试
2. 性能测试实战
3. 优化法则和编码应该注意的地方
五、Android JNI
5.1: Android ndk中C通过JNI调用Java
1 本地C代码调用Java中的Method
2本地C代码获得Java对象的属性值
3 多个类中有本地C代码的调用
4 在本地代码中创建Java对象
5 处理异常
5.2:ANDROID NDK中Java与C++沟通
1 Java代码调用C++代码
2 C++代码调用Java代码
5.3:NDK中的多线程编程
1 深度剖析Java、Dalvik VM、C/C++的运行流程
2 Java中分配线程调用C/C++函数
3 C/C++本地代码通过分配线程调用Java函数
5.4:Android手机功能开发(20分钟)
1 应用程序控制硬件的起点:getSystemService函数剖析;
2手机硬件功能开发、Android底层方法的调用等
六、Andrord 多媒体开发及数据适配器
1. 多媒体音视频播放
2. OpenCore多媒体框架;MediaPlayer生命周期;音频播放与控制;VideoView生命周期;视频播放与控制。
3. 多媒体图像采集
4. Camera拍照或图像采集;SurfaceView图像显示SurfaceView绘图、Canvas与Paint。
5. 多媒体音视频录制
6. MediaRecorder生命周期、音频录制与控制;MediaRecorder视频录制与控制。
7. 使用数据适配器
8. 数据适配的原理、SimpleAdapter适配器、SimpleCursorAdapter适配器、自定义BaseAdapter。
第三单元 七、Android 网络服务
7.1 Handler、Looper、Message、MessageQueue
1. Android的事件驱动模型
2. Looper、MessageQueue、Hanlder、Message等源码深度剖析
3. Looper、MessageQueue、Hanlder、Message及多线程实战案例
7.2 AsyncTASK异步线程技术
1. 使用AsyncTask的原因及对AsyncTask的思考
2. AsyncTask代码示例
3. AsyncTask源码剖析
4. 异步线程调用的应用场景及注意事项
第四单元 7.3断点续传(一)类似迅雷的多线程下载器(适用于任何类型的文件下载)
1. 多线程下载断点续传原理和流程图
2. 下载文件时Http协议协议详解
3. 多线程下载断点续传程序:设计服务端和Android端
4. Android端的内容涉及IoC、多线程、SQLite数据库、Handler、Http协议、缓存处理、意外关机时候的处理、编写框架、MVC、Service、Android中的I/O流、代码调试、Activity的生命周期等
5. 单元测试
6. 软件调试
7.4断点续传(二)多线程断点文件上传器(适用于任何类型的文件上传)
1. 断点续传原理和流程图
2. 上传文件的Http协议详解
3. 自定义自己的文件传输协议
4. 服务端程序的编写:文件的下载与实时数据的记录、监听模式、乱码问题的处理、并发问题、黑客安全问题
5. 客户端程序的编写:Android内存溢出问题,Android中的Socket编程、大文件的传输、大文件传输时候的安全问题
6. 单元测试
软件调试
第三期微信SDK、HTML5开发
第一单元 Android 微信开发实录
第一章:应用接入
1. 微信帝国一览
2. 开发者注册以及创建移动应用
3. 微信SDK Demo演示
4. 编写我的Hello World应用
第二章:微信API接口详解
1. 微信通信原理和创建IWXAPI实例
2. IWXAPI接口的使用方法
3. 请求基类和响应基类
4. 请求相关实现类和响应相关实现类
5. 微信支付相关类
6. API中的各种常量
第二单元 第三章:发送消息到微信
1. 发送文本消息到微信
2. 发送二进制图片数据到微信
3. 发送本地路径图片和网络连接图片到微信
4. 发送音乐消息到微信
5. 发送视频消息到微信
6. 发送网页链接到微信
7. 实现二级菜单栏目
8. 发送文件到微信
9. 发送表情消息到微信
10. 发送APP消息到微信
11. 发送场景的选择
第四章:微信登录
1. 接受微信响应
2. OAuth2.0授权
3. 授权微信登录
4. 通过code获取access_token.
5. 通过access_token.获取用户信息
6. 刷新或续期access_token.
第三单元 第1个主题:HTML5 架构思维
1,1 All in JavaScript
1,2 Architect of Device & Cloud
1,3 Open Platform & API
第2个主题:HTML5时代的商业机会和变革
2,1 HTML5和以前的HTML的不同;
2.2 HTML5时代新的商业模式;
2.3 HTML5与传统的Native App;
2.4 HTML5将给整个IT界带来全新的变革
第3个主题:通过一个Blog实例实战HTML5&CSS3
3.1 实战HTML5新增页面元素
3.2 实战HTML5中的表单
3.3 实战HTML5中的Canvas
3.4 实战html 5页面中视频和音频
3.5 CSS3技术实战
第四单元 第4主题:浏览器开发和自定义
4.1 浏览器定制和开发的核心原理剖析
4.2 浏览器定制和开发的技术手段剖析
4.3 浏览器定制和开发实战
第5主题:浏览器定制技术基石:WebView下JavaScript如何与本地API进行相互调用
5.1 以Android系统为例探讨制作Android界面的新大陆
5.2 浏览器的JavaScriptInterface
5.3 本地API调用Javascript
5.4 Javascript调用本地API
第6个主题: HTML5的多线程技术
6.1为什么HTML5的多线程技术是Device端编程的一项革命
6.2 WebWorker的原理和机制
6.3 Dedicated Worker和Shared Worker详解
6.4 工作线程生命周期
6.5 通过后台数值计算、共享线程、线程代理等实战多线程技术
|