Android官方培训中文课程
2016-04-26 10:47
211 查看
序言 | Android官方培训课程中文版(v0.9.5)
[/i]
序言
[/i]
1.
Android入门基础:从这里开始
[/i]
1.1.
建立第一个App
[/i]
1.1.1.
创建Android项目
[/i]
1.1.2.
执行Android程序
[/i]
1.1.3.
建立简单的用户界面
[/i]
1.1.4.
启动其他的Activity
[/i]
1.2.
添加ActionBar
[/i]
1.2.1.
建立ActionBar
[/i]
1.2.2.
添加Action按钮
[/i]
1.2.3.
自定义ActionBar的风格
[/i]
1.2.4.
ActionBar的覆盖层叠
[/i]
1.3.
兼容不同的设备
[/i]
1.3.1.
适配不同的语言
[/i]
1.3.2.
适配不同的屏幕
[/i]
1.3.3.
适配不同的系统版本
[/i]
1.4.
管理Activity的生命周期
[/i]
1.4.1.
启动与销毁Activity
[/i]
1.4.2.
暂停与恢复Activity
[/i]
1.4.3.
停止与重启Activity
[/i]
1.4.4.
重新创建Activity
[/i]
1.5.
使用Fragment建立动态的UI
[/i]
1.5.1.
创建一个Fragment
[/i]
1.5.2.
建立灵活动态的UI
[/i]
1.5.3.
Fragments之间的交互
[/i]
1.6.
数据保存
[/i]
1.6.1.
保存到Preference
[/i]
1.6.2.
保存到文件
[/i]
1.6.3.
保存到数据库
[/i]
1.7.
与其他应用的交互
[/i]
1.7.1.
Intent的发送
[/i]
1.7.2.
接收Activity返回的结果
[/i]
1.7.3.
Intent过滤
[/i]
2.
Android分享操作
[/i]
2.1.
分享简单的数据
[/i]
2.1.1.
给其他App发送简单的数据
[/i]
2.1.2.
接收从其他App返回的数据
[/i]
2.1.3.
给ActionBar增加分享功能
[/i]
2.2.
分享文件
[/i]
2.2.1.
建立文件分享
[/i]
2.2.2.
分享文件
[/i]
2.2.3.
请求分享一个文件
[/i]
2.2.4.
获取文件信息
[/i]
2.3.
使用NFC分享文件
[/i]
2.3.1.
发送文件给其他设备
[/i]
2.3.2.
接收其他设备的文件
[/i]
3.
Android多媒体
[/i]
3.1.
管理音频播放
[/i]
3.1.1.
控制音量与音频播放
[/i]
3.1.2.
管理音频焦点
[/i]
3.1.3.
兼容音频输出设备
[/i]
3.2.
拍照
[/i]
3.2.1.
简单的拍照
[/i]
3.2.2.
简单的录像
[/i]
3.2.3.
控制相机硬件
[/i]
3.3.
打印
[/i]
3.3.1.
打印照片
[/i]
3.3.2.
打印HTML文档
[/i]
3.3.3.
打印自定义文档
[/i]
4.
Android图像与动画
[/i]
4.1.
高效显示Bitmap
[/i]
4.1.1.
高效加载大图
[/i]
4.1.2.
非UI线程处理Bitmap
[/i]
4.1.3.
缓存Bitmap
[/i]
4.1.4.
管理Bitmap的内存
[/i]
4.1.5.
在UI上显示Bitmap
[/i]
4.2.
使用OpenGL ES显示图像
[/i]
4.2.1.
建立OpenGL ES的环境
[/i]
4.2.2.
定义Shapes
[/i]
4.2.3.
绘制Shapes
[/i]
4.2.4.
运用投影与相机视图
[/i]
4.2.5.
添加移动
[/i]
4.2.6.
响应触摸事件
[/i]
4.3.
添加动画
[/i]
4.3.1.
View间渐变
[/i]
4.3.2.
使用ViewPager实现屏幕滑动
[/i]
4.3.3.
展示Card翻转动画
[/i]
4.3.4.
缩放View
[/i]
4.3.5.
布局变更动画
[/i]
5.
Android网络连接与云服务
[/i]
5.1.
无线连接设备
[/i]
5.1.1.
使用网络服务发现
[/i]
5.1.2.
使用WiFi建立P2P连接
[/i]
5.1.3.
使用WiFi P2P服务
[/i]
5.2.
执行网络操作
[/i]
5.2.1.
连接到网络
[/i]
5.2.2.
管理网络的使用情况
[/i]
5.2.3.
解析XML数据
[/i]
5.3.
传输数据时避免消耗大量电量
[/i]
5.3.1.
优化下载以高效地访问网络
[/i]
5.3.2.
最小化定期更新造成的影响
[/i]
5.3.3.
重复的下载是冗余的
[/i]
5.3.4.
根据网络连接类型来调整下载模式
[/i]
5.4.
云同步
[/i]
5.4.1.
使用备份API
[/i]
5.4.2.
使用Google Cloud Messaging
[/i]
5.5.
解决云同步的保存冲突
[/i]
5.6.
使用Sync Adapter传输数据
[/i]
5.6.1.
创建Stub授权器
[/i]
5.6.2.
创建Stub Content Provider
[/i]
5.6.3.
创建Sync Adpater
[/i]
5.6.4.
执行Sync Adpater
[/i]
5.7.
使用Volley执行网络数据传输
[/i]
5.7.1.
发送简单的网络请求
[/i]
5.7.2.
建立请求队列
[/i]
5.7.3.
创建标准的网络请求
[/i]
5.7.4.
实现自定义的网络请求
[/i]
6.
Android联系人与位置信息
[/i]
6.1.
Android联系人信息
[/i]
6.1.1.
获取联系人列表
[/i]
6.1.2.
获取联系人详情
[/i]
6.1.3.
使用Intents修改联系人信息
[/i]
6.1.4.
显示联系人头像
[/i]
6.2.
Android位置信息
[/i]
6.2.1.
获取最后可知位置
[/i]
6.2.2.
获取位置更新
[/i]
6.2.3.
显示位置地址
[/i]
6.2.4.
创建和监视地理围栏
[/i]
7.
Android可穿戴应用
[/i]
7.1.
赋予Notification可穿戴特性
[/i]
7.1.1.
创建Notification
[/i]
7.1.2.
在Notifcation中接收语音输入
[/i]
7.1.3.
为Notification添加显示页面
[/i]
7.1.4.
以Stack的方式显示Notifications
[/i]
7.2.
创建可穿戴的应用
[/i]
7.2.1.
创建并运行可穿戴应用
[/i]
7.2.2.
创建自定义的布局
[/i]
7.2.3.
添加语音功能
[/i]
7.2.4.
打包可穿戴应用
[/i]
7.2.5.
通过蓝牙进行调试
[/i]
7.3.
创建自定义的UI
[/i]
7.3.1.
定义Layouts
[/i]
7.3.2.
创建Card
[/i]
7.3.3.
创建List
[/i]
7.3.4.
创建2D Picker
[/i]
7.3.5.
创建确认界面
[/i]
7.3.6.
退出全屏的Activity
[/i]
7.4.
发送并同步数据
[/i]
7.4.1.
访问可穿戴数据层
[/i]
7.4.2.
同步数据单元
[/i]
7.4.3.
传输资源
[/i]
7.4.4.
发送与接收消息
[/i]
7.4.5.
处理数据层的事件
[/i]
7.5.
创建表盘
[/i]
7.5.1.
设计表盘
[/i]
7.5.2.
构建表盘服务
[/i]
7.5.3.
绘制表盘
[/i]
7.5.4.
在表盘上显示信息
[/i]
7.5.5.
提供配置 Activity
[/i]
7.5.6.
定位常见的问题
[/i]
7.5.7.
优化性能和电池使用时间
[/i]
7.6.
位置检测
[/i]
8.
Android TV应用
[/i]
8.1.
创建TV应用
[/i]
8.1.1.
创建TV应用的第一步
[/i]
8.1.2.
处理TV硬件部分
[/i]
8.1.3.
创建TV的布局文件
[/i]
8.1.4.
创建TV的导航栏
[/i]
8.2.
创建TV播放应用
[/i]
8.2.1.
创建目录浏览器
[/i]
8.2.2.
提供一个Card视图
[/i]
8.2.3.
创建详情页
[/i]
8.2.4.
显示正在播放卡片
[/i]
8.3.
帮助用户在TV上探索内容
[/i]
8.3.1.
TV上的推荐内容
[/i]
8.3.2.
使得TV App能够被搜索
[/i]
8.3.3.
使用TV应用进行搜索
[/i]
8.4.
创建TV游戏应用
[/i]
8.5.
创建TV直播应用
[/i]
8.6.
TV Apps Checklist
[/i]
9.
Android企业级应用
[/i]
9.1.
Ensuring Compatibility with Managed Profiles
[/i]
9.2.
Implementing App Restrictions
[/i]
9.3.
Building a Work Policy Controller
[/i]
10.
Android交互设计
[/i]
10.1.
设计高效的导航
[/i]
10.1.1.
规划屏幕界面与他们之间的关系
[/i]
10.1.2.
为多种大小的屏幕进行规划
[/i]
10.1.3.
提供向下和横向导航
[/i]
10.1.4.
提供向上和历史导航
[/i]
10.1.5.
综合:设计样例 App
[/i]
10.2.
实现高效的导航
[/i]
10.2.1.
使用Tabs创建Swipe视图
[/i]
10.2.2.
创建抽屉导航
[/i]
10.2.3.
提供向上的导航
[/i]
10.2.4.
提供向后的导航
[/i]
10.2.5.
实现向下的导航
[/i]
10.3.
通知提示用户
[/i]
10.3.1.
建立Notification
[/i]
10.3.2.
当启动Activity时保留导航
[/i]
10.3.3.
更新Notification
[/i]
10.3.4.
使用BigView风格
[/i]
10.3.5.
显示Notification进度
[/i]
10.4.
增加搜索功能
[/i]
10.4.1.
建立搜索界面
[/i]
10.4.2.
保存并搜索数据
[/i]
10.4.3.
保持向下兼容
[/i]
10.5.
使得你的App内容可被Google搜索
[/i]
10.5.1.
为App内容开启深度链接
[/i]
10.5.2.
为索引指定App内容
[/i]
11.
Android界面设计
[/i]
11.1.
为多屏幕设计
[/i]
11.1.1.
兼容不同的屏幕大小
[/i]
11.1.2.
兼容不同的屏幕密度
[/i]
11.1.3.
实现可适应的UI
[/i]
11.2.
创建自定义View
[/i]
11.2.1.
创建自定义的View类
[/i]
11.2.2.
实现自定义View的绘制
[/i]
11.2.3.
使得View可交互
[/i]
11.2.4.
优化自定义View
[/i]
11.3.
创建向后兼容的UI
[/i]
11.3.1.
抽象新的APIs
[/i]
11.3.2.
代理至新的APIs
[/i]
11.3.3.
使用旧的APIs实现新API的效果
[/i]
11.3.4.
使用版本敏感的组件
[/i]
11.4.
实现辅助功能
[/i]
11.4.1.
开发辅助程序
[/i]
11.4.2.
开发辅助服务
[/i]
11.5.
管理系统UI
[/i]
11.5.1.
淡化系统Bar
[/i]
11.5.2.
隐藏系统Bar
[/i]
11.5.3.
隐藏导航Bar
[/i]
11.5.4.
全屏沉浸式应用
[/i]
11.5.5.
响应UI可见性的变化
[/i]
11.6.
创建使用Material Design的应用
[/i]
11.6.1.
开始使用Material Design
[/i]
11.6.2.
使用Material的主题
[/i]
11.6.3.
创建Lists与Cards
[/i]
11.6.4.
定义Shadows与Clipping视图
[/i]
11.6.5.
使用Drawables
[/i]
11.6.6.
自定义动画
[/i]
11.6.7.
维护兼容性
[/i]
12.
Android用户输入
[/i]
12.1.
使用触摸手势
[/i]
12.1.1.
检测常用的手势
[/i]
12.1.2.
跟踪手势移动
[/i]
12.1.3.
滚动手势动画
[/i]
12.1.4.
处理多点触控手势
[/i]
12.1.5.
拖拽与缩放
[/i]
12.1.6.
管理ViewGroup中的触摸事件
[/i]
12.2.
处理键盘输入
[/i]
12.2.1.
指定输入法类型
[/i]
12.2.2.
处理输入法可见性
[/i]
12.2.3.
支持键盘导航
[/i]
12.2.4.
处理按键动作
[/i]
12.3.
支持游戏控制器
[/i]
12.3.1.
处理控制器输入动作
[/i]
12.3.2.
在不同的 Android 系统版本支持控制器
[/i]
12.3.3.
支持多个控制器
[/i]
13.
Android后台任务
[/i]
13.1.
在IntentService中执行后台任务
[/i]
13.1.1.
创建IntentService
[/i]
13.1.2.
发送工作任务到IntentService
[/i]
13.1.3.
报告后台任务执行状态
[/i]
13.2.
使用CursorLoader在后台加载数据
[/i]
13.2.1.
使用CursorLoader执行查询任务
[/i]
13.2.2.
处理CursorLoader查询的结果
[/i]
13.3.
管理设备的唤醒状态
[/i]
13.3.1.
保持设备的唤醒
[/i]
13.3.2.
制定重复定时的任务
[/i]
14.
Android性能优化
[/i]
14.1.
管理应用的内存
[/i]
14.2.
代码性能优化建议
[/i]
14.3.
提升Layout的性能
[/i]
14.3.1.
优化layout的层级
[/i]
14.3.2.
使用include标签重用layouts
[/i]
14.3.3.
按需加载视图
[/i]
14.3.4.
使得ListView滑动顺畅
[/i]
14.4.
优化电池寿命
[/i]
14.4.1.
监测电量与充电状态
[/i]
14.4.2.
判断与监测Docking状态
[/i]
14.4.3.
判断与监测网络连接状态
[/i]
14.4.4.
根据需要操作Broadcast接受者
[/i]
14.5.
多线程操作
[/i]
14.5.1.
在一个线程中执行一段特定的代码
[/i]
14.5.2.
为多线程创建线程池
[/i]
14.5.3.
启动与停止线程池中的线程
[/i]
14.5.4.
与UI线程通信
[/i]
14.6.
避免出现程序无响应ANR
[/i]
14.7.
JNI使用指南
[/i]
14.8.
优化多核处理器(SMP)下的Android程序
[/i]
15.
Android安全与隐私
[/i]
15.1.
Security Tips
[/i]
15.2.
使用HTTPS与SSL
[/i]
15.3.
为防止SSL漏洞而更新Security
[/i]
15.4.
使用设备管理条例增强安全性
[/i]
16.
Android测试程序
[/i]
16.1.
测试你的Activity
[/i]
16.1.1.
建立测试环境
[/i]
16.1.2.
创建与执行测试用例
[/i]
16.1.3.
测试UI组件
[/i]
16.1.4.
创建单元测试
[/i]
16.1.5.
创建功能测试
Published using GitBook
![](android_training.jpg)
Google Android团队在2012年的时候开设了Android Training板块 - http://developer.android.com/training/index.html,这些课程是学习Android应用开发的绝佳资料。我们通过Github发起开源协作翻译的项目,完成中文版的输出,欢迎大家传阅学习!
文章中难免会有很多写的不对不好的地方,欢迎读者加入此协作项目,进行纠错,为完善这份教程贡献一点力量!
请读者点击Star进行关注并支持!
通过在线阅读课程的页面,找到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 - @yuanfentiank789
添加ActionBar - @vincent4j
兼容不同的设备 - @Lin-H
管理Activity的生命周期 - @kesenhoo
使用Fragment建立动态的UI - @fastcome1985
数据保存 - @kesenhoo
与其他应用的交互 - @kesenhoo
Android分享操作
分享简单的数据 - @kesenhoo
分享文件 - @jdneo
使用NFC分享文件 - @jdneo
Android多媒体
管理音频播放 - @kesenhoo
拍照 - @kesenhoo
打印 - @jdneo
Android图像与动画
高效显示Bitmap - @kesenhoo
使用OpenGL ES显示图像 - @jdneo
添加动画 - @XizhiXu
Android网络连接与云服务
无线连接设备 - @naizhengtan
网络连接操作 - @kesenhoo
传输数据时避免消耗大量电量 - @kesenhoo
使用Sync Adapter传输数据 - @jdneo
使用Volley执行网络数据传输 - @kesenhoo
云同步 - @kesenhoo,@jdneo
解决云同步的保存冲突 - @jdneo
Android联系人与位置信息
Android联系人信息 - @spencer198711
Android位置信息 - @penkzhou
Android可穿戴应用
赋予Notification可穿戴的特性 - @wangyachen
创建可穿戴的应用 - @kesenhoo
创建自定义的UI - @Roya
发送并同步数据 - @wly2014
创建表盘 - @heray1990
位置检测 - @heray1990
Android企业级应用
Ensuring Compatibility with Managed Profiles - @2015/03/14 - 待认领
Implementing App Restrictions - @2015/03/14 - 待认领
Building a Work Policy Controller - @2015/03/14 - 待认领
Android TV应用
创建TV应用 - @awong1900
创建TV播放应用 - @huanglizhuo
帮助用户在TV上探索内容 - @awong1900
创建TV游戏应用 - @dupengwei
创建TV直播应用 - @dupengwei
TV应用清单 - @awong1900
Android交互设计
设计高效的导航 - @XizhiXu
实现高效的导航 - @Lin-H
通知提示用户 - @fastcome1985
增加搜索功能 - @Lin-H
使得你的App内容可被Google搜索 - @Lin-H
Android界面设计
为多屏幕设计 - @riverfeng
创建自定义View - @kesenhoo
创建向后兼容的UI - @spencer198711
实现辅助功能 - @K0ST
管理系统UI - @K0ST
创建Material Design的应用 - @allenlsy
Android用户输入
使用触摸手势 - @Andrwyw
处理键盘输入 - @zhaochunqi
支持游戏控制器 - @heray1990
Android后台任务
在IntentService中执行后台任务 - @kesenhoo
在后台加载数据 - @kesenhoo
管理设备的唤醒状态 - @jdneo,@lltowq
Android性能优化
管理应用的内存 - @kesenhoo
性能优化Tips - @kesenhoo
提升Layout的性能 - @allenlsy
优化电池寿命 - @kesenhoo
多线程操作 - @AllenZheng1991
避免程序无响应ANR - @kesenhoo
JNI Tips - @pedant
优化多核处理器(SMP)下的Android程序 - @kesenhoo - 20%
Android安全与隐私
Security Tips - @craftsmanBai
使用HTTPS与SSL - @craftsmanBai
Android测试程序
测试你的Activity - @huanglizhuo
下面是参与翻译的小伙伴(Github ID按照课程结构排序):
胡凯,博客:http://hukai.me,Github:https://github.com/kesenhoo,微博:http://weibo.com/kesenhoo
还有众多参与纠错校正的同学名字就不一一列举了,谢谢所有关注这个项目的小伙伴!特别感谢安卓巴士社区,爱开发社区,码农周刊对项目的宣传!
[/i]
序言
[/i]
1.
Android入门基础:从这里开始
[/i]
1.1.
建立第一个App
[/i]
1.1.1.
创建Android项目
[/i]
1.1.2.
执行Android程序
[/i]
1.1.3.
建立简单的用户界面
[/i]
1.1.4.
启动其他的Activity
[/i]
1.2.
添加ActionBar
[/i]
1.2.1.
建立ActionBar
[/i]
1.2.2.
添加Action按钮
[/i]
1.2.3.
自定义ActionBar的风格
[/i]
1.2.4.
ActionBar的覆盖层叠
[/i]
1.3.
兼容不同的设备
[/i]
1.3.1.
适配不同的语言
[/i]
1.3.2.
适配不同的屏幕
[/i]
1.3.3.
适配不同的系统版本
[/i]
1.4.
管理Activity的生命周期
[/i]
1.4.1.
启动与销毁Activity
[/i]
1.4.2.
暂停与恢复Activity
[/i]
1.4.3.
停止与重启Activity
[/i]
1.4.4.
重新创建Activity
[/i]
1.5.
使用Fragment建立动态的UI
[/i]
1.5.1.
创建一个Fragment
[/i]
1.5.2.
建立灵活动态的UI
[/i]
1.5.3.
Fragments之间的交互
[/i]
1.6.
数据保存
[/i]
1.6.1.
保存到Preference
[/i]
1.6.2.
保存到文件
[/i]
1.6.3.
保存到数据库
[/i]
1.7.
与其他应用的交互
[/i]
1.7.1.
Intent的发送
[/i]
1.7.2.
接收Activity返回的结果
[/i]
1.7.3.
Intent过滤
[/i]
2.
Android分享操作
[/i]
2.1.
分享简单的数据
[/i]
2.1.1.
给其他App发送简单的数据
[/i]
2.1.2.
接收从其他App返回的数据
[/i]
2.1.3.
给ActionBar增加分享功能
[/i]
2.2.
分享文件
[/i]
2.2.1.
建立文件分享
[/i]
2.2.2.
分享文件
[/i]
2.2.3.
请求分享一个文件
[/i]
2.2.4.
获取文件信息
[/i]
2.3.
使用NFC分享文件
[/i]
2.3.1.
发送文件给其他设备
[/i]
2.3.2.
接收其他设备的文件
[/i]
3.
Android多媒体
[/i]
3.1.
管理音频播放
[/i]
3.1.1.
控制音量与音频播放
[/i]
3.1.2.
管理音频焦点
[/i]
3.1.3.
兼容音频输出设备
[/i]
3.2.
拍照
[/i]
3.2.1.
简单的拍照
[/i]
3.2.2.
简单的录像
[/i]
3.2.3.
控制相机硬件
[/i]
3.3.
打印
[/i]
3.3.1.
打印照片
[/i]
3.3.2.
打印HTML文档
[/i]
3.3.3.
打印自定义文档
[/i]
4.
Android图像与动画
[/i]
4.1.
高效显示Bitmap
[/i]
4.1.1.
高效加载大图
[/i]
4.1.2.
非UI线程处理Bitmap
[/i]
4.1.3.
缓存Bitmap
[/i]
4.1.4.
管理Bitmap的内存
[/i]
4.1.5.
在UI上显示Bitmap
[/i]
4.2.
使用OpenGL ES显示图像
[/i]
4.2.1.
建立OpenGL ES的环境
[/i]
4.2.2.
定义Shapes
[/i]
4.2.3.
绘制Shapes
[/i]
4.2.4.
运用投影与相机视图
[/i]
4.2.5.
添加移动
[/i]
4.2.6.
响应触摸事件
[/i]
4.3.
添加动画
[/i]
4.3.1.
View间渐变
[/i]
4.3.2.
使用ViewPager实现屏幕滑动
[/i]
4.3.3.
展示Card翻转动画
[/i]
4.3.4.
缩放View
[/i]
4.3.5.
布局变更动画
[/i]
5.
Android网络连接与云服务
[/i]
5.1.
无线连接设备
[/i]
5.1.1.
使用网络服务发现
[/i]
5.1.2.
使用WiFi建立P2P连接
[/i]
5.1.3.
使用WiFi P2P服务
[/i]
5.2.
执行网络操作
[/i]
5.2.1.
连接到网络
[/i]
5.2.2.
管理网络的使用情况
[/i]
5.2.3.
解析XML数据
[/i]
5.3.
传输数据时避免消耗大量电量
[/i]
5.3.1.
优化下载以高效地访问网络
[/i]
5.3.2.
最小化定期更新造成的影响
[/i]
5.3.3.
重复的下载是冗余的
[/i]
5.3.4.
根据网络连接类型来调整下载模式
[/i]
5.4.
云同步
[/i]
5.4.1.
使用备份API
[/i]
5.4.2.
使用Google Cloud Messaging
[/i]
5.5.
解决云同步的保存冲突
[/i]
5.6.
使用Sync Adapter传输数据
[/i]
5.6.1.
创建Stub授权器
[/i]
5.6.2.
创建Stub Content Provider
[/i]
5.6.3.
创建Sync Adpater
[/i]
5.6.4.
执行Sync Adpater
[/i]
5.7.
使用Volley执行网络数据传输
[/i]
5.7.1.
发送简单的网络请求
[/i]
5.7.2.
建立请求队列
[/i]
5.7.3.
创建标准的网络请求
[/i]
5.7.4.
实现自定义的网络请求
[/i]
6.
Android联系人与位置信息
[/i]
6.1.
Android联系人信息
[/i]
6.1.1.
获取联系人列表
[/i]
6.1.2.
获取联系人详情
[/i]
6.1.3.
使用Intents修改联系人信息
[/i]
6.1.4.
显示联系人头像
[/i]
6.2.
Android位置信息
[/i]
6.2.1.
获取最后可知位置
[/i]
6.2.2.
获取位置更新
[/i]
6.2.3.
显示位置地址
[/i]
6.2.4.
创建和监视地理围栏
[/i]
7.
Android可穿戴应用
[/i]
7.1.
赋予Notification可穿戴特性
[/i]
7.1.1.
创建Notification
[/i]
7.1.2.
在Notifcation中接收语音输入
[/i]
7.1.3.
为Notification添加显示页面
[/i]
7.1.4.
以Stack的方式显示Notifications
[/i]
7.2.
创建可穿戴的应用
[/i]
7.2.1.
创建并运行可穿戴应用
[/i]
7.2.2.
创建自定义的布局
[/i]
7.2.3.
添加语音功能
[/i]
7.2.4.
打包可穿戴应用
[/i]
7.2.5.
通过蓝牙进行调试
[/i]
7.3.
创建自定义的UI
[/i]
7.3.1.
定义Layouts
[/i]
7.3.2.
创建Card
[/i]
7.3.3.
创建List
[/i]
7.3.4.
创建2D Picker
[/i]
7.3.5.
创建确认界面
[/i]
7.3.6.
退出全屏的Activity
[/i]
7.4.
发送并同步数据
[/i]
7.4.1.
访问可穿戴数据层
[/i]
7.4.2.
同步数据单元
[/i]
7.4.3.
传输资源
[/i]
7.4.4.
发送与接收消息
[/i]
7.4.5.
处理数据层的事件
[/i]
7.5.
创建表盘
[/i]
7.5.1.
设计表盘
[/i]
7.5.2.
构建表盘服务
[/i]
7.5.3.
绘制表盘
[/i]
7.5.4.
在表盘上显示信息
[/i]
7.5.5.
提供配置 Activity
[/i]
7.5.6.
定位常见的问题
[/i]
7.5.7.
优化性能和电池使用时间
[/i]
7.6.
位置检测
[/i]
8.
Android TV应用
[/i]
8.1.
创建TV应用
[/i]
8.1.1.
创建TV应用的第一步
[/i]
8.1.2.
处理TV硬件部分
[/i]
8.1.3.
创建TV的布局文件
[/i]
8.1.4.
创建TV的导航栏
[/i]
8.2.
创建TV播放应用
[/i]
8.2.1.
创建目录浏览器
[/i]
8.2.2.
提供一个Card视图
[/i]
8.2.3.
创建详情页
[/i]
8.2.4.
显示正在播放卡片
[/i]
8.3.
帮助用户在TV上探索内容
[/i]
8.3.1.
TV上的推荐内容
[/i]
8.3.2.
使得TV App能够被搜索
[/i]
8.3.3.
使用TV应用进行搜索
[/i]
8.4.
创建TV游戏应用
[/i]
8.5.
创建TV直播应用
[/i]
8.6.
TV Apps Checklist
[/i]
9.
Android企业级应用
[/i]
9.1.
Ensuring Compatibility with Managed Profiles
[/i]
9.2.
Implementing App Restrictions
[/i]
9.3.
Building a Work Policy Controller
[/i]
10.
Android交互设计
[/i]
10.1.
设计高效的导航
[/i]
10.1.1.
规划屏幕界面与他们之间的关系
[/i]
10.1.2.
为多种大小的屏幕进行规划
[/i]
10.1.3.
提供向下和横向导航
[/i]
10.1.4.
提供向上和历史导航
[/i]
10.1.5.
综合:设计样例 App
[/i]
10.2.
实现高效的导航
[/i]
10.2.1.
使用Tabs创建Swipe视图
[/i]
10.2.2.
创建抽屉导航
[/i]
10.2.3.
提供向上的导航
[/i]
10.2.4.
提供向后的导航
[/i]
10.2.5.
实现向下的导航
[/i]
10.3.
通知提示用户
[/i]
10.3.1.
建立Notification
[/i]
10.3.2.
当启动Activity时保留导航
[/i]
10.3.3.
更新Notification
[/i]
10.3.4.
使用BigView风格
[/i]
10.3.5.
显示Notification进度
[/i]
10.4.
增加搜索功能
[/i]
10.4.1.
建立搜索界面
[/i]
10.4.2.
保存并搜索数据
[/i]
10.4.3.
保持向下兼容
[/i]
10.5.
使得你的App内容可被Google搜索
[/i]
10.5.1.
为App内容开启深度链接
[/i]
10.5.2.
为索引指定App内容
[/i]
11.
Android界面设计
[/i]
11.1.
为多屏幕设计
[/i]
11.1.1.
兼容不同的屏幕大小
[/i]
11.1.2.
兼容不同的屏幕密度
[/i]
11.1.3.
实现可适应的UI
[/i]
11.2.
创建自定义View
[/i]
11.2.1.
创建自定义的View类
[/i]
11.2.2.
实现自定义View的绘制
[/i]
11.2.3.
使得View可交互
[/i]
11.2.4.
优化自定义View
[/i]
11.3.
创建向后兼容的UI
[/i]
11.3.1.
抽象新的APIs
[/i]
11.3.2.
代理至新的APIs
[/i]
11.3.3.
使用旧的APIs实现新API的效果
[/i]
11.3.4.
使用版本敏感的组件
[/i]
11.4.
实现辅助功能
[/i]
11.4.1.
开发辅助程序
[/i]
11.4.2.
开发辅助服务
[/i]
11.5.
管理系统UI
[/i]
11.5.1.
淡化系统Bar
[/i]
11.5.2.
隐藏系统Bar
[/i]
11.5.3.
隐藏导航Bar
[/i]
11.5.4.
全屏沉浸式应用
[/i]
11.5.5.
响应UI可见性的变化
[/i]
11.6.
创建使用Material Design的应用
[/i]
11.6.1.
开始使用Material Design
[/i]
11.6.2.
使用Material的主题
[/i]
11.6.3.
创建Lists与Cards
[/i]
11.6.4.
定义Shadows与Clipping视图
[/i]
11.6.5.
使用Drawables
[/i]
11.6.6.
自定义动画
[/i]
11.6.7.
维护兼容性
[/i]
12.
Android用户输入
[/i]
12.1.
使用触摸手势
[/i]
12.1.1.
检测常用的手势
[/i]
12.1.2.
跟踪手势移动
[/i]
12.1.3.
滚动手势动画
[/i]
12.1.4.
处理多点触控手势
[/i]
12.1.5.
拖拽与缩放
[/i]
12.1.6.
管理ViewGroup中的触摸事件
[/i]
12.2.
处理键盘输入
[/i]
12.2.1.
指定输入法类型
[/i]
12.2.2.
处理输入法可见性
[/i]
12.2.3.
支持键盘导航
[/i]
12.2.4.
处理按键动作
[/i]
12.3.
支持游戏控制器
[/i]
12.3.1.
处理控制器输入动作
[/i]
12.3.2.
在不同的 Android 系统版本支持控制器
[/i]
12.3.3.
支持多个控制器
[/i]
13.
Android后台任务
[/i]
13.1.
在IntentService中执行后台任务
[/i]
13.1.1.
创建IntentService
[/i]
13.1.2.
发送工作任务到IntentService
[/i]
13.1.3.
报告后台任务执行状态
[/i]
13.2.
使用CursorLoader在后台加载数据
[/i]
13.2.1.
使用CursorLoader执行查询任务
[/i]
13.2.2.
处理CursorLoader查询的结果
[/i]
13.3.
管理设备的唤醒状态
[/i]
13.3.1.
保持设备的唤醒
[/i]
13.3.2.
制定重复定时的任务
[/i]
14.
Android性能优化
[/i]
14.1.
管理应用的内存
[/i]
14.2.
代码性能优化建议
[/i]
14.3.
提升Layout的性能
[/i]
14.3.1.
优化layout的层级
[/i]
14.3.2.
使用include标签重用layouts
[/i]
14.3.3.
按需加载视图
[/i]
14.3.4.
使得ListView滑动顺畅
[/i]
14.4.
优化电池寿命
[/i]
14.4.1.
监测电量与充电状态
[/i]
14.4.2.
判断与监测Docking状态
[/i]
14.4.3.
判断与监测网络连接状态
[/i]
14.4.4.
根据需要操作Broadcast接受者
[/i]
14.5.
多线程操作
[/i]
14.5.1.
在一个线程中执行一段特定的代码
[/i]
14.5.2.
为多线程创建线程池
[/i]
14.5.3.
启动与停止线程池中的线程
[/i]
14.5.4.
与UI线程通信
[/i]
14.6.
避免出现程序无响应ANR
[/i]
14.7.
JNI使用指南
[/i]
14.8.
优化多核处理器(SMP)下的Android程序
[/i]
15.
Android安全与隐私
[/i]
15.1.
Security Tips
[/i]
15.2.
使用HTTPS与SSL
[/i]
15.3.
为防止SSL漏洞而更新Security
[/i]
15.4.
使用设备管理条例增强安全性
[/i]
16.
Android测试程序
[/i]
16.1.
测试你的Activity
[/i]
16.1.1.
建立测试环境
[/i]
16.1.2.
创建与执行测试用例
[/i]
16.1.3.
测试UI组件
[/i]
16.1.4.
创建单元测试
[/i]
16.1.5.
创建功能测试
Published using GitBook
![](android_training.jpg)
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参与方式
你可以选择以下的方式帮忙修改纠正这份教程(推荐使用方法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 - @yuanfentiank789
添加ActionBar - @vincent4j
兼容不同的设备 - @Lin-H
管理Activity的生命周期 - @kesenhoo
使用Fragment建立动态的UI - @fastcome1985
数据保存 - @kesenhoo
与其他应用的交互 - @kesenhoo
Android分享操作
分享简单的数据 - @kesenhoo
分享文件 - @jdneo
使用NFC分享文件 - @jdneo
Android多媒体
管理音频播放 - @kesenhoo
拍照 - @kesenhoo
打印 - @jdneo
Android图像与动画
高效显示Bitmap - @kesenhoo
使用OpenGL ES显示图像 - @jdneo
添加动画 - @XizhiXu
Android网络连接与云服务
无线连接设备 - @naizhengtan
网络连接操作 - @kesenhoo
传输数据时避免消耗大量电量 - @kesenhoo
使用Sync Adapter传输数据 - @jdneo
使用Volley执行网络数据传输 - @kesenhoo
云同步 - @kesenhoo,@jdneo
解决云同步的保存冲突 - @jdneo
Android联系人与位置信息
Android联系人信息 - @spencer198711
Android位置信息 - @penkzhou
Android可穿戴应用
赋予Notification可穿戴的特性 - @wangyachen
创建可穿戴的应用 - @kesenhoo
创建自定义的UI - @Roya
发送并同步数据 - @wly2014
创建表盘 - @heray1990
位置检测 - @heray1990
Android企业级应用
Ensuring Compatibility with Managed Profiles - @2015/03/14 - 待认领
Implementing App Restrictions - @2015/03/14 - 待认领
Building a Work Policy Controller - @2015/03/14 - 待认领
Android TV应用
创建TV应用 - @awong1900
创建TV播放应用 - @huanglizhuo
帮助用户在TV上探索内容 - @awong1900
创建TV游戏应用 - @dupengwei
创建TV直播应用 - @dupengwei
TV应用清单 - @awong1900
Android交互设计
设计高效的导航 - @XizhiXu
实现高效的导航 - @Lin-H
通知提示用户 - @fastcome1985
增加搜索功能 - @Lin-H
使得你的App内容可被Google搜索 - @Lin-H
Android界面设计
为多屏幕设计 - @riverfeng
创建自定义View - @kesenhoo
创建向后兼容的UI - @spencer198711
实现辅助功能 - @K0ST
管理系统UI - @K0ST
创建Material Design的应用 - @allenlsy
Android用户输入
使用触摸手势 - @Andrwyw
处理键盘输入 - @zhaochunqi
支持游戏控制器 - @heray1990
Android后台任务
在IntentService中执行后台任务 - @kesenhoo
在后台加载数据 - @kesenhoo
管理设备的唤醒状态 - @jdneo,@lltowq
Android性能优化
管理应用的内存 - @kesenhoo
性能优化Tips - @kesenhoo
提升Layout的性能 - @allenlsy
优化电池寿命 - @kesenhoo
多线程操作 - @AllenZheng1991
避免程序无响应ANR - @kesenhoo
JNI Tips - @pedant
优化多核处理器(SMP)下的Android程序 - @kesenhoo - 20%
Android安全与隐私
Security Tips - @craftsmanBai
使用HTTPS与SSL - @craftsmanBai
Android测试程序
测试你的Activity - @huanglizhuo
致谢
发起这个项目之后,得到很多人的支持,有经验丰富的Android开发者,也有刚接触Android的爱好者。他们有些已经上班,有些还是学生,有些在国内,还有的在国外!感谢所有参与或者关注这个项目的小伙伴!下面是参与翻译的小伙伴(Github ID按照课程结构排序):
胡凯,博客:http://hukai.me,Github:https://github.com/kesenhoo,微博:http://weibo.com/kesenhoo
还有众多参与纠错校正的同学名字就不一一列举了,谢谢所有关注这个项目的小伙伴!特别感谢安卓巴士社区,爱开发社区,码农周刊对项目的宣传!
License
本站作品由https://github.com/kesenhoo/android-training-course-in-chinese创作,采用知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。相关文章推荐
- IDA学习
- 四、工厂设计模式
- 集成融云IM需要做的配置
- Android手指绘图Demo
- android qq第三方登录(腾讯sdk)
- Android自定义组合控件之自定义下拉刷新和左滑删除实例代码
- GitHub Android Libraries Top 100
- Android shape的使用实现圆角,虚线,渐变等效果
- android使用PulltoRefushGridview实现下拉刷新
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- Android学习技巧
- Android Activity和Fragment的转场动画
- Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory Android
- android入门四 数据持久化
- android报错汇总
- Android系统服务源码位置解析
- 与Android应用程序相关的文件目录都有哪些?
- android 动态添加视图与静态添加视图
- android反编译工具
- android轻松管理安卓应用中的log日志 发布应用时log日志全部去掉的方法