【专业课程:Android应用界面开发】
本课程虽然名为界面开发,但其实并不仅仅是界面开发,老师使用代码实例的方式,在实践过程中讲解Android界面开发中的各种技术,包括:多姿多彩的控件、布局技巧与优化、自定义控件、Fragment、几大基本组件以及WebView、Widget等酷特性。
授课大纲
章
|
节
|
第一课 开始`Android`开发奇妙之旅
|
1.
新建工程
|
2.
新建页面
|
|
3.
新建布局
|
|
4.
新建控件
|
|
5.
新建点击事件
|
|
6.
签名
|
|
7.
打包
|
|
8.
发布
|
|
9.
总结
|
|
第二课 第一个`Android`应用
|
1.
修改应用名称、版本号、版本名称
|
2.
修改应用`icon`
|
|
3.
声明主`Activity`
|
|
4.
简单布局
|
|
5.
页面跳转
|
|
6.
总结
|
|
7.
小技巧
|
|
第三课 `Activity`你必须要知道的事
|
1.
启动页面(用`Handler`过几分钟跳转)
|
2. `Activity`
跳转传值
|
|
3. `Activity`
跳转传值后接收
|
|
4.
接收到后再回传数据 `setResult()`
|
|
5. `Activity`
的生命周期
|
|
6.
总结
|
|
7.
小技巧
|
|
第四课 多姿多彩的控件(1)
|
1. `View`
视图的能用特性
|
2. `TextView`
常用属性讲解
|
|
3. `Button`
常用属性讲解
|
|
4. `EditText`
常用属性讲解
|
|
5.
总结
|
|
6.
小技巧
|
|
第五课 多姿多彩的控件(2)
|
1. `ImageView`
常用属性讲解
|
2. `ImageButton`
常用属性讲解
|
|
3. `SeekBar`
常用属性讲解
|
|
4. `RatingBar`
常用属性讲解
|
|
5. `ProgressBar`
常用属性讲解
|
|
6.
总结
|
|
7.
小技巧
|
|
第六课 Android开发布局详解
|
1.
布局引子
|
2. `Linearlayout`
线性布局的用法
|
|
3. `RelativeLayout`
相对布局的用法
|
|
4. `FrameLayout`
帧布局
|
|
5. `AbsoluteLayout`
绝对布局
|
|
6. `TableLayout`
表格布局
|
|
第七课 Android布局技巧与优化
|
1.
如何选择更正确的布局
|
2.
减少布局层次的重要性
|
|
3.
控件的组合
|
|
4.
如何优化布局
|
|
1. `include`
|
|
2. `merge`
|
|
3. `ViewStub`
|
|
5.
其它小技巧
|
|
第八课 无比重要的ListView
|
1. `ListView`
常用属性详解
|
2.
如何利用`Adapter`展示数据?
|
|
3.
点击、长按等事件的处理
|
|
4.
如何刷新、重绘数据
|
|
5.
使用`ListView`的一些小技巧
|
|
1. `Item`
的布局不相同怎么处理?
|
|
2.
像微信那样的聊天列表怎么布局?
|
|
3.
风格迥异的分割线如何做?
|
|
4.
复杂`ListView`的性能如何优化?
|
|
第九课 GridView和ScrollView
|
1.
和`ListView`的相似与区别有哪些?
|
2.
微信上有哪些地方用了`GridView`
|
|
3.
创建一个表情或者选择图片`GridView`
|
|
4.
小知识
|
|
1. `Debug`
的技巧
|
|
2.
如何更好的打`log`
|
|
第十课 自定义控件(1)--预备知识
|
1. `dp`
、`sp`和`px`的爱与纠缠
|
2. `Inflater`
如何使用?
|
|
3. `style`
是什么,有什么作用?
|
|
4. `theme`
如何使用?
|
|
第十一课 自定义控件(2)--基础入门
|
1. `View`
是如何`work`的?
|
2.
如何自定义视图属性
|
|
3.
做一个简单的自定义控件
|
|
第十二课 自定义控件(3)--深入了解
|
1.
绘制屏幕
|
2.
响应用户消息
|
|
3.
自定义回调函数
|
|
4.
自定义组合控件
|
|
第十三课 如何使用大名鼎鼎的`Fragment`
|
1.
什么是`fragment`?
|
2.
为什么要使用`fragment`?
|
|
3.
如何使用`fragment`?
|
|
4.
有哪些你一定要知道的坑?
|
|
第十四课 有用的`Handler`
|
1. `Message`
和`MessageQueue`
|
2. `Looper`
的原理
|
|
3. `Handler`
怎么使用?
|
|
第十五课 关于`Service`的那些事
|
1.
什么是`Service`
|
2.
什么情况下使用呢?
|
|
3. `startService`()
和`bindService`()
|
|
4. `Service`
的生命周期
|
|
5. `IntentService`
|
|
第十六课 `BroadcastReceiver`应用详解
|
1. `BroadcastReceiver`
是什么?怎么使用?
|
2. `BroadcastReceiver`
的内部机制
|
|
3.
类型有哪些?
|
|
4.
怎么收发`BroadcastReceiver`以及注册与注销
|
|
5. `BroadcastReceiver`
的部分`API`
|
|
第十七课 强大的`webview`
|
1.
如何使用`webView`
|
2.
怎么自定义
|
|
3.
如何拦截请求进行`Hybrid`开发
|
|
第十八课 `Android`的酷特性`widget`
|
1.
什么是`widget`
|
2.
如何设计和使用
|
|
3.
处理`widget`的相关事件
|
Android网络与数据存储
【专业课程:Android网络与数据存储】
本课程主要讲解Android网络编程和数据存储开发过程中的核心模型和常用技巧,内容涵盖TCP、Webview、Download manager、文件访问、数据库、Content Provider等。
授课大纲
章
|
节
|
第一课 使用`SharedPreferences`方便地存储数据
|
1. `SharedPreferences`
适用于哪些地方?
|
2.
如何创建`SharedPreferences`?
|
|
3.
如何保存以及修改?
|
|
4.
封装成通用工具类
|
|
5.
总结
|
|
6.
小技巧
|
|
第二课 如何随心所欲地管理文件(1)
|
1.
如何访问`SDcard`
|
2.
如何读取应用本身目录
|
|
3.
怎样读取文件?
|
|
4.
如何写入文件
|
|
5.
如何删除文件
|
|
6.
总结
|
|
7.
小技巧
|
|
第三课 如何随心所欲地管理文件(2)
|
1.
读取`assets`目录下的文件
|
2.
读取`raw`目录下的文件
|
|
3.
缓存文件的使用
|
|
4.
总结
|
|
5.
小技巧
|
|
第四课 用`SQLite`存储你重要的数据(1)
|
1.
数据库简单介绍
|
2.
聊聊`SQlite`数据库
|
|
3.
如何创建一个数据库
|
|
4.
新建各种表
|
|
5.
总结
|
|
6.
小技巧
|
|
第五课 用`SQLite`存储你重要的数据(2)
|
1.
如何更好的设计数据库与表
|
2.
对数据库进行增删改查
|
|
3.
查询
|
|
4.
优化
|
|
5.
对象关系映射`ORM`
|
|
6.
总结
|
|
7.
小技巧
|
|
第六课 系统源码也经常用的ContentProvider(1)
|
1.
什么是`content provider`?
|
2. `content provider`
适用场景
|
|
3.
如何创建`content provider`?
|
|
4.
访问`content provider`数据
|
|
5.
总结
|
|
6.
小技巧
|
|
第七课 系统源码也经常用的ContentProvider(2)
|
1. `Contacts content provider`
|
2. `Media Store content provider`
|
|
3. `Calendar content provider`
|
|
4.
访问各种`content provider`
|
|
5.
多应用间的共享
|
|
6.
总结
|
|
7.
小技巧
|
|
第八课 做Android开发怎能少的了它?--网络编程数据处理(1)
|
1.
如何请求网络数据,需要注意哪些点(权限)?
|
2.
请求结果如何处理?
|
|
3.
开源网络库(`android-async-http`)
|
|
4.
开源网络库(`volly`)
|
|
5.
总结
|
|
6.
小技巧
|
|
第九课 做Android开发怎能少的了它?--网络编程数据处理(2)
|
1.
如何下载电影、音乐、游戏?
|
2. `DownloadManager`
的使用
|
|
3.
怎样解析`xml`
|
|
4.
常用的数据格式`json`
|
|
5.
方便的`GSON`等开源库
|
|
6.
总结
|
|
7.
小技巧:`postman`
|
Android开发高级进阶
【专业课程:Android开发高级进阶】
本课程主要讲解Android开发的各种高级进阶技术,包括:多线程、服务与通知、传感器、LBS定位服务、使用Gradle 构建项目、Android NDK开发、如何在Google Play上架应用以及最新关于Android M的介绍。
授课大纲
章
|
节
|
第一课 教你学会使用率超高的多线程开发?
|
1.
什么时候用多线程?
|
2.
如何使用多线程
|
|
3.
使用多线程需要注意哪些地方?
|
|
4.
多线程的优化
|
|
5.
总结
|
|
6.
小技巧
|
|
第二课 你会使用多进程吗?
|
1.
什么时候用多进程?
|
2.
如何使用多进程
|
|
3.
使用多进程需要注意哪些地方?
|
|
4.
多进程间的通信
|
|
5. `Thread`
与`Process`的区别
|
|
6.
总结
|
|
7.
小技巧
|
|
第三课 高级进阶必知必会之服务
|
1.
服务到底是什么?
|
2.
话说前台服务
|
|
3.
再说后台服务
|
|
4.
如何做一个音乐播放服务?
|
|
5. `Service`
与`Thread`的区别
|
|
6.
总结
|
|
7.
小技巧
|
|
第四课 如何使用传感器做出有意思的小应用
|
1.
什么是传感器?
|
2.
主要使用在哪里?
|
|
3.
常用传感器有哪些?
|
|
4.
如何使用这些传感器呢?
|
|
5.
总结
|
|
6.
小技巧
|
|
第五课 近年来火透半天边的LBS定位功能
|
1. `LBS`
定位服务可以做哪些事情?
|
2.
如何使用`GPS`定位?
|
|
3.
系统地图服务的使用。
|
|
4.
怎样使用第三方地图?
|
|
5.
总结
|
|
6.
小技巧
|
|
第六课 不使用`Gradle`构建项目,你就`OUT`了
|
1. `Gradle`
是什么?
|
2. `Gradle`
和`Ant`、`Maven`之前的区别和关系
|
|
3. `Groovy`
基本语法
|
|
4.
开始方便的构建项目
|
|
5.
简单地实用技巧
|
|
6.
一些高级扩展
|
|
7.
总结
|
|
8.
小技巧
|
|
第七课 揭开看似很艰难的`Android NDK`开发
|
1. Don't Worry `Android NDK` ^_^
|
2.
一起看看如何搭建开发环境
|
|
3. `Java`
与`c/c++`的主要通信方法
|
|
4.
如何编译出`.so`文件
|
|
5.
使用时的注意事项
|
|
6.
总结
|
|
7.
小技巧
|
|
第八课 你知道如何管理`Android`依赖吗
|
1.
如何使用`library`
|
2.
方便的`aar`引用
|
|
3.
依赖如何管理
|
|
4.
总结
|
|
5.
小技巧
|
|
第九课 补充小知识
|
1. `Android6.0`
的新特性
|
2.
如何在`Google Play`上发布应用?
|
|
3.
开发出属于你的创意应用吧,少年!
|
Android应用性能优化
【专业课程:Android应用性能优化】
本课程从多个方面入手,帮助大家学习优化应用性能的多种方法,主要内容包括:内存优化、视图优化、电量优化、Bitmap优化以及其他优化等知识点。
授课大纲
章
|
节
|
第一课
内存优化
|
1. Android
中的垃圾回收机制
|
2.
内存泄露的危害
|
|
3.
检测内存泄露的工具
|
|
4.
如何避免内存泄露
|
|
5.
如何减少内存的使用
|
|
第二课
视图优化
|
6. 60fps
|
7.
检测
UI
卡顿及过度绘制
|
|
8.
避免
UI
卡顿
|
|
9.
优化过度绘制
|
|
第三课
电量优化
|
10. Android
电量消耗介绍
|
11.
网络优化
|
|
12. WakeLock
|
|
13. jobscheduler
|
|
第四课
Bitmap
优化
|
14. Android
中
Bitmap
的解码和存储
|
15.
复用
Bitmap
|
|
16.
减少
Bitmap
占用的内存
|
|
17. LRUCache
介绍
|
|
第五课
其他优化
|
18.
查找优化
CPU
使用高的代码
|
19.
使用
lint
检测性能问题
|
|
20. Google
提供的一些高效的工具类
|
|
第六课
打造自己的图片库
|
Android设计模式
【专业课程:Android设计模式】
设计模式(Design Pattern)是软件开发设计经验的概括与提炼,它使得软件开发人员可以方便地复用已经被证明成功的软件设计方法与思想,是提高程序可读性、可维护性和可扩展性最有效的手段,也是当代优秀软件工程师必备的一项素质。课程从设计之道(松耦合设计思想)和设计之术(重构与迭代式设计)两方面,通过大量的代码实践与演练,深入剖析经典GOF 23种设计模式。
授课大纲
章 |
节
|
第一课
软件设计概要
|
1.
设计模式简介
|
2.
面向对象设计原则
|
|
3. Java
对象模型与设计
|
|
第二课
组件协作模式
|
4.
模板方法
Template Method
|
5.
观察者
Observer / Event
|
|
6.
策略模式
Strategy
|
|
第三课
单一职责模式
|
7.
装饰模式
Decorator
|
8.
桥模式
Bridge
|
|
第四课
对象创建模式
|
9.
工厂方法
Factory Method
|
10.
抽象工厂
Abstract Factory
|
|
11.
原型模式
Prototype
|
|
12.
构建器
Builder
|
|
第五课
对象性能模式
|
13.
单例模式
Singleton
|
14.
享元模式
Flyweight
|
|
第六课
接口隔离模式
|
15.
外观模式
Façade
|
16.
代理模式
Proxy
|
|
17.
适配器
Adapter
|
|
18.
中介者
Mediator
|
|
第七课
状态变化模式
|
19.
备忘录
Memento
|
20.
状态模式
State
|
|
第八课
数据结构模式
|
21.
组合模式
Composite
|
22.
迭代器
Iterator
|
|
23.
职责链
Chain of Resposibility
|
|
第九课
行为变化模式
|
24.
命令
Command
|
25.
访问器
Visitor
|
|
第十课
领域问题
|
26.
解析器
Interpreter
|
27.
课程总结
|