Android官方培训课程中文版(v0.9.4)
Google Android团队在2012年的时候开设了 Android Training板块 - http://developer.android.com/training/index.html,这些课程是学习Android应用开发的绝佳资料。我们通过Github发起开源协作翻译的项目,完成中文版的输出,欢迎大家传阅学习! 文章中难免会有很多写的不对不好的地方,欢迎读者加入此协作项目,进行纠错,为完善这份教程贡献一点力量!
Github托管主页
https://github.com/kesenhoo/android-training-course-in-chinese
请读者点击Star进行关注并支持!
在线阅读
http://hukai.me/android-training-course-in-chinese/index.html
更新记录
v0.9.4 - 2015/06/11
v0.9.3 - 2015/05/18
v0.9.2 - 2015/03/30
v0.9.1 - 2015/03/14
v0.9.0 - 2015/03/09
v0.8.0 - 2015/02/12
v0.7.0 - 2014/11/30
v0.6.0 - 2014/11/02
v0.5.0 - 2014/10/18
v0.4.0 - 2014/09/11
v0.3.0 - 2014/08/31
v0.2.0 - 2014/08/14
v0.1.0 - 2014/08/05
参与方式
你可以选择以下的方式帮忙修改纠正这份教程(推荐使用方法1):
通过在线阅读课程的页面,找到Github仓库对应的章节文件,直接在线编辑修改提交即可。
在线阅读的文章底部留言,提出问题与修改意见,我们会及时处理。
写邮件给发起人:胡凯,邮箱是kesenhoo at gmail.com,邮件内容注明需要纠正的章节段落位置,并给出纠正的建议。
你也可以选择加入QQ群和学习Training课程的小伙伴一起讨论交流:
Android Training基础群,适合刚接触Android Training课程的同学。基础群(1):363415744,已满
基础群(2):399077455,已满
基础群(3):458929573
Android Training进阶群:适合实际Android开发经验1-3年的同学。进阶群(1):414115939,已满
进阶群(2):386059229
Android Training高级群:399096506,理论上Android开发经验至少3年以上,部分能力突出的也可以申请,请在申请入群的时候填写能力举证(例如,XXX公司Android高级开发/个人博客/Github账号等等),未填写的不予通过,谢谢配合!
课程结构
序言
Android入门基础:从这里开始建立第一个App创建Android项目
执行Android程序
建立简单的用户界面
启动其他的Activity
添加ActionBar建立ActionBar
添加Action按钮
自定义ActionBar的风格
ActionBar的覆盖层叠
兼容不同的设备适配不同的语言
适配不同的屏幕
适配不同的系统版本
管理Activity的生命周期启动与销毁Activity
暂停与恢复Activity
停止与重启Activity
重新创建Activity
使用Fragment建立动态的UI创建一个Fragment
建立灵活动态的UI
Fragments之间的交互
数据保存保存到Preference
保存到文件
保存到数据库
与其他应用的交互Intent的发送
接收Activity返回的结果
Intent过滤
Android分享操作分享简单的数据给其他App发送简单的数据
接收从其他App返回的数据
给ActionBar增加分享功能
分享文件建立文件分享
分享文件
请求分享一个文件
获取文件信息
使用NFC分享文件发送文件给其他设备
接收其他设备的文件
Android多媒体管理音频播放控制音量与音频播放
管理音频焦点
兼容音频输出设备
拍照简单的拍照
简单的录像
控制相机硬件
打印打印照片
打印HTML文档
打印自定义文档
Android图像与动画高效显示Bitmap高效加载大图
非UI线程处理Bitmap
缓存Bitmap
管理Bitmap的内存
在UI上显示Bitmap
使用OpenGL ES显示图像建立OpenGL ES的环境
定义Shapes
绘制Shapes
运用投影与相机视图
添加移动
响应触摸事件
添加动画View间渐变
使用ViewPager实现屏幕滑动
展示Card翻转动画
缩放View
布局变更动画
Android网络连接与云服务无线连接设备使用网络服务发现
使用WiFi建立P2P连接
使用WiFi P2P服务
执行网络操作连接到网络
管理网络的使用情况
解析XML数据
传输数据时避免消耗大量电量优化下载以高效地访问网络
最小化定期更新造成的影响
重复的下载是冗余的
根据网络连接类型来调整下载模式
云同步使用备份API
使用Google Cloud Messaging
解决云同步的保存冲突
使用Sync Adapter传输数据创建Stub授权器
创建Stub Content Provider
创建Sync Adpater
执行Sync Adpater
使用Volley执行网络数据传输发送简单的网络请求
建立请求队列
创建标准的网络请求
实现自定义的网络请求
Android联系人与位置信息Android联系人信息获取联系人列表
获取联系人详情
使用Intents修改联系人信息
显示联系人头像
Android位置信息获取最后可知位置
获取位置更新
显示位置地址
创建和监视地理围栏
Android可穿戴应用赋予Notification可穿戴特性创建Notification
在Notifcation中接收语音输入
为Notification添加显示页面
以Stack的方式显示Notifications
创建可穿戴的应用创建并运行可穿戴应用
创建自定义的布局
添加语音功能
打包可穿戴应用
通过蓝牙进行调试
创建自定义的UI定义Layouts
创建Card
创建List
创建2D Picker
创建确认界面
退出全屏的Activity
发送并同步数据访问可穿戴数据层
同步数据单元
传输资源
发送与接收消息
处理数据层的事件
创建表盘设计表盘
构建表盘服务
绘制表盘
在表盘上显示信息
提供配置 Activity
定位常见的问题
优化性能和电池使用时间
位置检测
Android TV应用创建TV应用创建TV应用的第一步
处理TV硬件部分
创建TV的布局文件
创建TV的导航栏
创建TV播放应用创建目录浏览器
提供一个Card视图
创建详情页
显示正在播放卡片
帮助用户在TV上探索内容TV上的推荐内容
使得TV App能够被搜索
使用TV应用进行搜索
创建TV游戏应用
创建TV直播应用
TV Apps Checklist
Android企业级应用Ensuring Compatibility with Managed Profiles
Implementing App Restrictions
Building a Work Policy Controller
Android交互设计设计高效的导航规划屏幕界面与他们之间的关系
为多种大小的屏幕进行规划
提供向下和横向导航
提供向上和历史导航
综合:设计样例 App
实现高效的导航使用Tabs创建Swipe视图
创建抽屉导航
提供向上的导航
提供向后的导航
实现向下的导航
通知提示用户建立Notification
当启动Activity时保留导航
更新Notification
使用BigView风格
显示Notification进度
增加搜索功能建立搜索界面
保存并搜索数据
保持向下兼容
使得你的App内容可被Google搜索为App内容开启深度链接
为索引指定App内容
Android界面设计为多屏幕设计兼容不同的屏幕大小
兼容不同的屏幕密度
实现可适应的UI
创建自定义View创建自定义的View类
实现自定义View的绘制
使得View可交互
优化自定义View
创建向后兼容的UI抽象新的APIs
代理至新的APIs
使用旧的APIs实现新API的效果
使用版本敏感的组件
实现辅助功能开发辅助程序
开发辅助服务
管理系统UI淡化系统Bar
隐藏系统Bar
隐藏导航Bar
全屏沉浸式应用
响应UI可见性的变化
创建使用Material Design的应用开始使用Material Design
使用Material的主题
创建Lists与Cards
定义Shadows与Clipping视图
使用Drawables
自定义动画
维护兼容性
Android用户输入使用触摸手势检测常用的手势
跟踪手势移动
滚动手势动画
处理多点触控手势
拖拽与缩放
管理ViewGroup中的触摸事件
处理键盘输入指定输入法类型
处理输入法可见性
支持键盘导航
处理按键动作
支持游戏控制器处理控制器输入动作
在不同的 Android 系统版本支持控制器
支持多个控制器
Android后台任务在IntentService中执行后台任务创建IntentService
发送工作任务到IntentService
报告后台任务执行状态
使用CursorLoader在后台加载数据使用CursorLoader执行查询任务
处理CursorLoader查询的结果
管理设备的唤醒状态保持设备的唤醒
制定重复定时的任务
Android性能优化管理应用的内存
代码性能优化建议
提升Layout的性能优化layout的层级
使用include标签重用layouts
按需加载视图
使得ListView滑动顺畅
优化电池寿命监测电量与充电状态
判断与监测Docking状态
判断与监测网络连接状态
根据需要操作Broadcast接受者
多线程操作在一个线程中执行一段特定的代码
为多线程创建线程池
启动与停止线程池中的线程
与UI线程通信
避免出现程序无响应ANR
JNI使用指南
优化多核处理器(SMP)下的Android程序
Android安全与隐私Security Tips
使用HTTPS与SSL
为防止SSL漏洞而更新Security
使用设备管理条例增强安全性
Android测试程序测试你的Activity建立测试环境
创建与执行测试用例
测试UI组件
创建单元测试
创建功能测试
License
本站作品由https://github.com/kesenhoo/android-training-course-in-chinese创作,采用知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。
文档说明
本文档为作者胡凯授权极客学院发布。 原文:https://github.com/wenquan0hf/android-training-course-in-chinese