开发环境
- Android Studio安装与配置
- Android Studio使用技巧
- 比真机还快的模拟器-Genymotion
- Gradle学习
- 了解android应用程序的结构
- 常见问题集
基础UI
- resources资源介绍
- anim
- Selector
- Styles&Themes
- raw
- menu
- 9-Patches
- dp&sp&px
- Gravity&layout_gravity
- Margin&padding
- 常用的基础布局
- 常用的基础控件
- 高级控件ListView,GridView
- 常见问题集
- 使用场景与案例
四大组件
-
Activity(活动)
- 生命周期
- 任务栈
- Activity的启动模式
- Intent和Intent-Filter
- 转移到AppCompat库(AppCompatActivity)
- 管理与技巧
- 你所需要知道的Context细节
- 常见问题集
- 使用场景与案例
-
Content Provider(内容提供者)
- 访问其他程序的数据(系统和三方的)
- 创建自己的Content Provider
- Content Provider和Sqlite存储方式的对比
- 常见问题集
- 使用场景与案例
-
Service(服务)
- 基础使用
- 生命周期
- 与Activity的通信
- 前台Service和IntentService
- Android多线程编程
- Handler机制
- AIDL的介绍
- 常见问题集
- 使用场景与案例
-
BroadcastReceiver(广播通知者)
- 广播的分类和注册方式
- 本地广播机制
- 常见问题集
- 使用场景与案例
数据存储
- SharedPreference
- 文件
- sqlite
- 使用场景与案例
- 阶段案例:模拟QQ登陆
Fragment(碎片)的使用
- Fragment的简单使用
- Fragment的使用方式
- Fragment的生命周期
- Fragment和Activity的对比
- FragmentTransaction
- Fragment Backstack
- 嵌套Fragment
- Fragment和Activity的通信
- Fragment和Fragment的通信
- EventBus简介
- otto简介
- 使用场景与案例
网络相关
- Android网络访问
- 基础网络协议
- 发送网络请求
- WebView的使用
- Android系统在网络请求api上的变更
- Socket的使用
- 发送网络请求,展示图片
- Gson的使用
- Json的解析
- AsyncTask的使用
- 如何处理请求中ProgressBar的变化(屏幕旋转以及其他因素)
- OkHttp的使用
- AysncHttpClient的使用
- Picasso的使用
- Volley的使用
- Fresco的使用
- Retrofit的使用
- Native与H5交互
- 阶段案例:百度车联网提供的API做天气预报app
- 阶段案例:百度车联网提供的API做上映电影查看app
- 常见问题集
- 使用场景与案例
多媒体
- Android多媒体
- 调用相机和相册
- 音频和视频
- 常见问题集
- 使用场景与案例
动画
- View动画
- 属性动画
- 常见问题集
- 使用场景与案例
运行时权限
- Runtime permissions
高级UI使用
- 高级控件的使用
- RecyclerView
- CardView
- ViewPager
- SlidingTabLayout&TabLayout&ViewPagerIndicator
- SmartTabLayout&PagerSlidingTabStrip
- ActionBar和ToolBar
- ViewDragHelper
- SwipeRefreshLayout的使用
- Design Support Library库的使用
- 图表引擎的使用
- view的事件体系
- view的滑动
- view的分发机制
- 常见问题集
- 使用场景与案例
- view的工作原理
- 自定义view
- 继承view
- 继承ViewGroup
- 组合控件
- 使用场景与案例
- UI Hierarchy( Hierarchy Viewer使用)
- 常见问题集
- 使用场景与案例
数据库框架
- realm
- ormlite
- greendao
网络请求封装和源码分析(含对比)
- AsyncHttpClient
- Volley
- okhttp
- retrofit
图片缓存开源库及其封装(含对比)
- Picasso
- glide
- fresco
组件通信
- otto
- EventBus
依赖注入
- dagger
- ButterKnife
- RoboGuice
三方SDK集成
- 支付平台以及支付SDK使用
- 国内主流地图框架介绍以及使用
- 三方推送平台
- 三方分享平台
- 三方统计平台
- 语音SDK的使用
- 云端数据(Bmob,leancloud的使用)
内存优化
- Dalvik和ART虚拟机的区别
- Android Studio提供的Memory Monitor
- Allocation Tracking(DDMS)
- Heap Tool与MAT
- LeakCanary
- ANR监测(工具编写)
- Material Design
- Palettes
- Ripple Animation
- Activity Transition
- Circular Reveal Animation
- Bitmap关于OOM的处理
- 适配
- 插件式开发
- 蓝牙开发
- 硬件加速解决方案
- 手势控制
- 传感器
- 项目重构
- mvp+dagger2+rxjava+retrofit
RxJava
NDK开发
- NDK使用场景
- NDK开发
打包、更新
- 线上热修复
- 增量升级
- 多渠道打包
- 自动化打包
一个App的诞生之路
- 引导页、启动页
- 登录、注册
- 主界面搭建
- ...
商城客户端/新闻客户端/微博客户端...
参考: