Andr​​oid 手持系统的移动应用程序设计:第 1 部分

Programming Mobile Applications for Android Handheld Systems: Part 1

本课程主要介绍在安卓平台下,手持设备(如手机、平板电脑)应用程序的设计与实现。
本课程是“基于 Android 系统的移动云计算专项课程”的其中一门课程(共 8 门课程)

马里兰大学帕克分校

分享

Andr​​oid 手持系统的移动应用编程
  • 分类: 计算机
  • 平台: Coursera
  • 语言: 英语

本课程主要介绍在安卓平台下,手持设备(如手机、平板电脑)应用程序的设计与实现。

课程简介

This course has been developed in two parts (Part 1 and Part 2), which will cover the fundamental programming principles, software architecture and user experience considerations underlying handheld software applications and their development environments.

手持系统,如手机和平板电脑,是目前使用计算机服务最为普遍的方式。因此,对应用程序开发人员的需求也以惊人的速度增长。学习应用程序开发,要求同学们要全面掌握计算机科学和工程学方面的原理,研究特定移动应用平台的具体内容,设计出既美观又能吸引眼球的用户界面,从而体现使用手持设备应用程序的原因,使用环境和使用方法。

课程内容包括:编程的基本原理,软件架构和手持设备的软件应用和开发环境中用户体验的注意事项。安卓平台是目前手持系统用户中成长最快的移动平台,为了更好地理解这些概念,课程会深入讲解,并加入实例辅助。学生将运用所学知识,在安卓平台下编写实验项目和大型学期项目。
附注:本课程是跨学校教学项目之一。

另一套课程由美国范德堡大学的道格拉斯•施密特和朱尔斯•怀特教授主讲,二者相辅相成。 因此,两套课程中的一些内容和编程作业是互相补充的;本课程作为跨学校教学项目的第一部,将率先与大家见面,主讲手持系统和面向用户的应用程序设计;而范德堡大学的课程主要介绍 相对 底层的内容,包括操作系统、后台处理、网络和云计算,课程定于2014年的春末发布。
两套课程相互独立,你可以只选其一,但是如果选修两门课程,会对手持系统和相关应用程序有一个更 完整、 更细致的了解。

课程大纲

第一周:
第0课——手持系统的使用,及其对手持设备应用程序设计的影响
第1课——安卓平台
第2课——安卓开发环境
实验1:安装。确定所需软件&并在个人电脑上安装, 执行几个程序,以熟悉安卓平台及其开发环境。

第二周:
第3课——应用程序的基本原理
第4课——Activity类
实验2:Activity的生命周期和重构:1)创建由安卓平台发出的追踪生命周期回调方法的应用程序;2)当设备的配置环境发生变化时(如:设备由纵向模式变为横向模式),改变应用程序的布局。

第三周:
第5课——Intent类
第6课——权限
实验3a:Intent和权限。 创建几个应用程序,程序通过标准和自定义Intent启动多个Activity,以及设置非默认权限。
第7课——Fragment类
实验3b:平板电脑的用户界面。创建两个程序,一个适用于手机,包含一系列Activity;另一个适用于平板电脑,提供多面板用户界面。

第四周:
第8课——用户界面类,第一部分。
第9课——用户界面类,第二部分。
实验4:ToDoManager(备忘管理软件)。运用课上讲的用户界面元素创建一个列表管理器;发挥想象力,利用自定义视图,以列表形式显示备忘项;根据运行设备的不同(手机或平板电脑),程序将显示两种不同的用户界面。

第五周:
第10课——线程,消息和线程池
第11课——BroadcastReceiver类
第12课——通知和警告
第13课——网络
实验5:线程。编写并发多线程代码,通过后台线程从网络服务器加载备忘项(即不阻塞主UI线程)。

第六周:
第14课——多点触控和手势
实验6a:手势取样器。 创建接受手势输入的程序,例如手势“X”用来删除,手势“?”显示帮助等等。
第15课——图形和动画
第16课——多媒体
实验6b:爆裂泡泡(Bubble Popper)。编写一个程序,在设备屏幕上显示泡泡(看上去像泡泡的图形),并添加动画效果,当用户触碰屏幕上的泡泡时,泡泡随即爆开。

第七周:
第17课——传感器
第18课——定位和地图
实验7a:障碍训练场。创建一个程序,利用设备的方向定位功能(如倾斜、旋转)操纵物体越过障碍。
第19课——Service类
Lab实验7b:BroadcastReceiver(广播收音机)。创建一个程序,当事件发生时,如连接或断开充电器,利用BroadcastReceiver做出反应;当电源或网络连接条件允许时,程序也可以利用Service来完成后台处理。

第八周:
第20课——ContentProvider类
第21课——数据管理一
第22课——数据管理二
实验8a:数据库管理(SQL)。开发一个数据库,用于存储和检索带文本标签的多媒体信息。
实验8b:使用Content Provider管理多媒体信息。扩展多媒体数据库功能,通过ContentProvider实现多个应用程序之间的多媒体信息共享。

结业设计:数据采集游戏
手持设备复杂应用程序的前端实现,程序涉及课上的众多概念。

背景知识

本课程直接面向大学二年级或三年级本科生,学生应了解如何使用Java编程,但不需要具备移动应用程序开发的相关知识。

参考资料

本课程没有固定教材,但是强烈建议学生广泛搜集与安卓系统相关的免费开放资源。
浏览安卓开发者博客,实时掌握安卓生态系统的变化与改进。
访问Google I/O开发者大会网站,观看专题演讲和其他内容。

授课形式

每节课都有5-10分钟左右的视频课程,每小节之后会有相关活动或评估,包括提问或任务,以确保学生充分理解所学内容。活动包括针对当堂内容的提问,补充信息,深入讨论和回顾性提问,引导学生对前面所学内容进行更深入地探索和思考。

每周课程都有对应的实验练习,包括作业说明、实现部分功能的源代码和可执行的测试程序。学生需要在自己的电脑上运行程序,以确定是否顺利完成实验任务。
最后,学生需完成一个较复杂的结业设计。

常见问题

学完这门课,我能得到结课证书吗?
凡顺利完成本课程的学生均可获得由授课老师签发的结课证书。

选修此课程需要准备什么?
一台能上网、能运行安卓开发工具的电脑,有时间阅读、编程和讨论。

如果我学习了这门课程,最大的收获将会是什么?
学会编写你自己和世界上一半的人都可以在手持设备上运行的应用软件。

声明:MOOC中国收录之课程均源自下列机构,版权均归他们所有。本站仅作报道并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc

Copyright © 2008-2015 MOOC.CN 慕课改变你,你改变世界