Close Banner

Android 应用开发

Android 基础知识

中级

大约 10 个礼拜

6小时每周 (按照自己的节奏)

由以下企业参与制作:
加入成千上万的全球学员

开始免费课程

加入课程
免费
可享受
课程视频
实战练习与参考项目指导
中级

大约 10 个礼拜

6小时每周 (按照自己的节奏)

由以下企业参与制作:
加入成千上万的全球学员
观看Android 应用开发课程介绍
观看视频

课程概述

这门课程将理论与实际结合,帮助大家开发优秀的应用。在这门课中,你将与讲师一同逐步创建连接到云端的 Android 应用,并学习移动开发,尤其是 Android 开发的最佳做法。此课程提供中文版本。

喜欢这门课程?你可以继续学习“Android 开发工程师”纳米学位!

为什么学习这门课程?

目前全球已有超过 10 亿活跃的 Android 设备,Android 为开发者提供了不可置信的机会。

Android 持续发展,已经超出了智能手机的范畴。它将成为看不见的、无处不在的云计算大脑。在本课所学到的技能将帮助大家为当今的智能手机和平板电脑开发超棒的应用,并让大家在 Android 的未来发展中抓住机会。

在课程结尾,你将开发一个连接到云端的 Android 应用,并了解 Android 开发所需的工具、原则和模型。大家将了解与移动环境有关的挑战,以及如何克服它们。学习如何为 Android 设备设计更好的用户体验,并将这些知识应用到自己的项目中。

先修要求

要学习本课程,你需要拥有至少1年 Java 或其它面向对象编程语言(例如:C++、Objective C 或 Python)的编程经验。

如果你是编程初学者,我们建议你学习 Android 开发入门课程,该课程是我们与 Google 共同为初学者创建的。

如果你想要巩固自己的 Java 技巧,那么优达学城的 Java 编程入门无疑是个很好的途径。

为了在课程中能跟上讲师的进度,你必须下载 Android Studio 。请参见我们的迷你课程 “如何安装 Android Studio” 获取安装程序指导。

此外,你应该能熟练使用 GitHub

为了完成最终项目,拥有一台 Android 设备会很有帮助——但这不是必须的。

查看使用优达学城的技术要求

你将学习什么内容?

项目

热播电影,第一阶段

开发一个应用,帮助用户发现最热和最新的电影。你需要构建一个能够和服务器同步、并将信息呈现给用户的简洁的用户界面。

热播电影,第二阶段

在第一阶段项目的基础上,为每部电影增加详细信息视图和“喜欢”功能,并增加平板布局。

最终项目:第二阶段

在该项目中,建立一个应用,让用户可以找到正在上映的热门电影。

学习计划

第 1 课:利用简单的 UI 创建 Sunshine 项目(5-8小时)

你将从安装 Android Studio 开始,开发你的第一个项目——一个简单的基于表格的用户界面,并将其配置到虚拟和实际设备上。你还会了解移动设备——尤其是 Android 作为应用开发环境的独特之处。

  • Android Studio、Gradle 以及调试工具
  • 用户界面和布局管理器
  • ListView 和适配器

第 2 课:将 Sunshine 项目连接到云端(8-10小时)

通过将 Sunshine 项目连接到 Open Weather Map API 上,将模拟数据替换为真实的天气数据。你将学会如何为自己的添加权限,初始化网络 I/O,以及如何将耗时的任务(如网络数据传送)从主要 UI 线程移除。

  • 线程和 ASyncTask
  • 网络 API 的 HTTP 请求
  • Android 权限系统

第 3 课:创建新 Activities 和通过 Intents 浏览应用(8-10小时)

确定你的应用的结构,创建更多复杂的 Activities。你将学习 Android Intent 框架,以及如何利用 Intent 在不同 Activities 间切换——不仅在你的应用内部,也是第三方功能。

  • 用 Explicit Intents 浏览应用
  • 整合第三方应用的 Implicit Intents
  • Share Intent 和 Android 共享框架
  • Broadcast Intents 和 Broadcast Receivers

可选项目:热播电影,第一阶段(5-10小时)

开发一个应用,帮助用户发现最热和最新的电影。你需要构建一个能够和服务器同步、并将信息呈现给用户的简洁的用户界面。

第 4 课:利用 Content Providers 和 Loaders 持久化和恢复数据(15-20小时)

学习 Android 框架如何管理 activity 生命周期,它和你想象的有何不同,以及进入数据永久储存的世界。学习如何创建数据库,利用 Android Content Providers 在你的数据和 UI 实施之间提供一个抽象层,并使用 Loaders 高效加载已存数据。

  • Activity 生命周期和后台活动中止
  • SQLite 数据库和 JUnit 测试
  • 创建 Content Providers 并将其作为抽象层使用
  • 用 Loaders 异步导入数据
  • 创建一个适配器,将 UI 部分和 Content Providers 相连

第 5 课:执行 Rich 和响应布局(8-10小时)

创建能在多种不同的硬件类型和不同的屏幕尺寸上运行的 Rich 响应用户界面。需要学习利用 Android 布局管理器、Fragments、UI 小部件以及 Android 设计原则的更多细节,以便在你的用户界面上添加可视化修饰,以及如何动手创建自己的控件。

  • 基本 Android 设计原则
  • 支持本地化和可变屏幕尺寸
  • 利用 Fragments 优化平板电脑 UI
  • 辅助功能
  • 自定义视图

第 6 课:利用在后台运行的服务和通知(5-8小时)

让你的应用不在前台打开时,也提供完美的用户体验。学习 Android 框架如何管理后台应用;查明如何利用服务和通知,使你的应用即便不在前台也被激活。你将学习利用 SyncAdapters 和 Google Google Cloud Messaging 进行高效数据传送的技术,因此你的应用能够不耗尽电量而适时更新。

  • 背景服务和后台任务安排警报
  • 利用 SyncAdapters 进行高效背景数据传输
  • 与用户互动的 Rich 通知

可选项目:热播电影,第二阶段(4-6小时)

在第一阶段项目的基础上,为每部电影增加详细信息视图和“喜欢”功能,并增加平板布局。

最终项目(10-20小时)

利用你在本课中所学到的技能,开发你自己的 Android 应用。

讲师与合作伙伴

Katherine Kuan

Katherine Kuan

Katherine Kuan 是 Google 的开发技术推广工程师。在此之前,她是 Android Apps 团队的软件工程师,针对 Google Keep、Google Play 和 People app(之前叫作 Contacts)。她非常热衷于帮助别人编写能改进他们的社区的应用。

Dan Galpin

Dan Galpin

Dan Galpin 是 Android 开发技术推广工程师,他主要从事 Android 的性能调节、开发者培训以及游戏开发。他在移动领域工作时间已经超过10年,几乎在电话堆栈的每个层面都他都开发过。有视频显示他曾参与音乐剧的制作,但他本人却予以否认。

Alexander Lucas

Alexander Lucas

Alexander Lucas 自 2010 年便是 Google Android 开发团队的一员。之前,他利用 J2ME 进行手机游戏开发,此后利用 ColdFusion 短暂地做过网页开发。Alex 着迷于如何将示例代码写好,他教导开发者们读取这些代码。他的人生目标是为全世界的每一个人节省 5 分钟。

Sarah Spikes

Sarah Spikes

Sarah Spikes 在斯坦福获得 BS 和 MS 学位,她在斯坦福也担任过很长时间的助教。在她积极加入优达学城开始教学之前,她在 Google 做了两年的软件工程师。业余时间,Sarah 喜欢表演音乐戏剧,制作果汁冰糕和攀岩。

James Williams

James Williams

一次在计算机夏令营当讲师的经历,让 James Williams 爱上教学工作。他在闲暇时间还参加障碍赛或越野赛,同时他还是《HTML5 游戏编程》的作者,这本书被翻译成了中文和韩文。他拥有计算机科学的本科和硕士学位,以及法语的本科学位。

Lyla Fujiwara

Lyla Fujiwara

Lyla Fujiwara 是优达学城的课程策划之一,他在三个大洲教授数学和计算机科学。在加入优达学城之前,她在卢旺达担任和平部队志愿者,在那里她与 Gashora 女子学院的高材生们一起工作。工作之余,她喜欢跳舞、财迷、画画、桌游以及在半岛周围骑自行车。

Reto Meier

Reto Meier

Reto Meier 自2009年其就成为 Google Android 开发人员之一,领导 Google 可扩展开发技术推广团队。他非常热衷帮助别的开发者建立最好的 Android 应用,他是 Wrox 出版社专业 Android 应用开发系列丛书的作者。

官方微信公众号二维码

优达学城(Udacity)微信