1前言
Android是Google于2007年11月推出的基于Linux内核的开源手机操作系统,是HTC、Motorola、华为等企业多款智能手机的操作系统平台。市场调研公司Canalys于2011年5月4日发布的一季度全球智能手机市场统计报告显示,Android系统机型继续领跑智能机市场,份额达到35%[1]。
手持设备应用软件开发课程是长沙学院软件工程专业嵌入式系统方向的限选课,以及其他专业方向的选修课。在过去几年,该课程的教学内容是基于J2ME软件开发,教学没有针对具体的硬件或系统平台,实验课没有配备特定硬件设备,软件仅在模拟器上运行,不适合进行与硬件相关的程序设计。从2010年开始,Google开始与高校合作,帮助中国高校建立起智能手机移动应用开发课程体系,培养移动应用开发人才。在此战略的推动下,长沙学院已经于2011年上学年将该课程的教学内容更改为基于Android平台的智能手机软件开发技术。
2教学方法的实施
2.1前期准备工作
1)师资培训。近年来随着嵌入式技术的迅猛发展,嵌入式系统平台越来越丰富,如WindowsCE、Linux、Symbian、BlackBerry、Android、iPhoneOS等。通常,不同的系统平台有不同的应用程序开发技术,Android平台出现的时间不长,因此,目前国内熟练掌握Android平台应用程序开发技术的教师还很少,建议选派具有嵌入式系统和Java编程基础的教师参加培训和课程研讨会,并与先期已开设类似课程的高校加强交流,课程资料还可以从http://www.google.com/intl/zh-CN/corporate/university/courses.html处下载。
2)软件、硬件试验平台的配备。①开发环境:IDE——Eclipse3.3,3.4,3.5,3.6(helios);Eclipseplug-in——ADT1.0或者http://dl-ssl.google.com/android/eclipse/;AndroidSDK;JDK5orJDK6(单独的JRE不可以,必须要有JDK)。②AndroidSDK所支持的操作系统:WindowsXP(32-bit)orVista(32-or64-bit);MacOSX10.4.8orlater(x86only);Linux(testedonLinuxUbuntuDapperDrake);③智能手机:华为E8500;MotoMilestone。
2.2前期教学内容的组织
本课程的学习可以分为两个阶段:基础知识学习阶段和软件开发的项目教学法实施阶段。在学习基于Android平台的智能手机软件开发技术之前,必须让学生对Android平台有宏观上的认知。
1)Android的系统架构。Android是一个开放的软件系统,为用户提供丰富的移动设备开发功能,从下至上包括4个层次:如图1所示Android的系统架构。
第一层是Linux内核层,包括Linux操作系统及驱动,依赖于Linux2.6内核。
第二层是核心的扩展类库,如SQLite、WebKit、OpenGL等,它们可以通过Java本地调用JNI(JavaNativeInterface)的接口函数实现和上层之间的通信。该层由Android的Java虚拟机Dalvik和基础的Java库为Java运行环境提供Java编程语言核心库的大多数功能。
第三层是包含所有开发所用的SDK类库和某些未公开接口类库的框架层,是整个Android平台核心机制的体现。
第四层是应用层。系统部分应用和第三方开发的应用都位于该层,两者不尽相同,其中系统应用会用一些隐藏的类,而第三方应用是基于SDK基础上开发。一般Android开发是在SDK基础上用Java编写应用程序,但本机开发程序包NDK提供应用层穿越Java框架层直接和底层包含JNI接口的C/C++库直接通信的方法。
2)Java语言。Android所支持的Java语言是J2SE的子集,而J2ME的功能相对较弱。如果J2ME工程师想转行做Android,那么他要付出的代价比J2SE或J2EE工程师要大得多。最理想的情况是,该课程开设时学生已经具备J2EE的相关知识。
3)Android平台具有的特点:与硬件交互方便,像摄像头、GPS等,对其操作都较简单;具有自己的运行时和虚拟机,以及优秀的内存管理能力;提供丰富的界面控件供开发者使用,允许可视化开发;提供轻量级的进程间通信机制;支持无界面的后台服务类应用程序;支持高效、快速的数据存取。
4)Android应用程序的组成。嵌入式系统是各种资源受限的系统,应用程序的构成方式与基于PC机的应用程序有很大的不同。Android应用程序主要由4部分组成:活动(Activity),一个活动就是手机屏幕的一屏;意图(Intent),一个意图就是一次对将要执行的操作的抽象描述;服务(Service),一个服务就是一个没有界面、后台运行的程序,如音乐播放器;内容提供者(ContentProvider),是封装在自定义API中的一组数据,可以读取该数据和向API中写入数据。例如,Google为联系人程序提供一个内容提供者,任何需要使用联系人信息的应用程序都可共享其中的所有信息,包括姓名、地址、电话号码等。
5)独特的编程风格:用户体验至上原则。与其他应用程序开发相比,对于智能手机软件,用户体验凌驾于技术之上,优秀的用户体验可以起到事半功倍的效果。对于同类软件,在互联网上的软件下载排行中,下载量最大的,一定是让用户用着感觉最舒服的,哪怕它的功能并不比其他的产品出色。对于不同的触摸屏的技术,相应的屏幕界面的设计风格也不尽相同。对于电阻式触摸屏,通常会用笔尖或指甲来点击图标,那么界面的图标稍小、排列紧密可以容忍;而对于电容式触摸屏,用户更习惯使用指腹而非指甲点击屏幕,这就要求界面图标布局不太密、图标较大,这样不一定好看,但是好用。
在学生具备以上基础知识以后,再通过实施项目教学法,培养学生的智能手机软件开发能力。
2.3项目教学法的实施
项目教学法是由美国教育家凯兹博士和加拿大教育家查德博士在合著的《项目教学法》中共同提出的一种以学生为中心的教学方法[2],学生在教师的指导下亲自处理一个项目的全过程,在这一过程中学习掌握教学内容。学生独立组织、安排学习行为,解决在项目实施中遇到的困难,提高学习兴趣,能调动学习积极性。心理学研究结果表明:当感受类型是“听”时,记忆保持率为20%;当感受类型是“看”时,记忆保持率为30%;当感受类型是“听+看”时,记忆保持率为50%;当感受类型是“亲身实践”时,记忆保持率为90%[3]。
可选用以下几个案例程序作为教学项目:RSS阅读器、豆瓣网客户端、在线音乐播放器、手机短信查看软件、个人移动地图。项目选取的原则是既要包含基本的教学知识点,又要难度适中,能调动学生的积极性和主动性,在教学中还要注重师生共同参与。
项目教学法的教学过程分为7个步骤:明确任务、收集信息、制定计划、进行决策、组织实施、过程检查、结果评估。
明确任务:教师指定教学项目,帮助学生理解任务;学生知道自己要做什么,要学习哪方面的知识,要练习哪方面的技能。
获取信息:教师提供相关参考资料供学生查阅以获取有关信息,补充必要的知识和技能,教师答疑解惑。
制定计划:学生明确任务后组成学习小组,小组合作学习,制定可行的工作计划。分组要注意基础好和基础一般学生的合理搭配,以便学生互相学习和项目的.按时完成。
做出决定:各小组制定计划、提出方案,由全班讨论,教师适时评判,确立本项目的最佳实施方案。
组织实施:将大项目分成几个模块分别实现。项目实施时,教师在理论课上做示范,学生可以随时提问题,教师对学生提出的问题做出解答;在实验课上,学生根据计划完成自己的任务,教师观看、指导。学生按计划实施,在实施过程中能具体地对自己所负责的项目模块所涉及的知识点进行学习。
过程检查:学生在完成项目的过程中,自己检查工作过程、结果,出现问题时请老师和同学帮助解决。
结果评估:学生完成项目后,对成果进行展示与自我评价。教师对学生在整个学习过程中出现的问题予以评价,对于学生在设计与实现过程中出现的问题要及时纠正。
学生亲身经历从项目规划到生产出产品的整个过程,就能够感受到成功的喜悦,激发自主学习的欲望,从而能以更大的热情投入下一个项目的学习。
2.4教学效果的评价
考核方法以项目为主,体现能力培养特色。考核方式分为标准考核和加分两种方法。标准考核通过者或免试资格获得者即达到该课程的考核要求并获得响应学分。标准考核为全面考核方式,总分值为100分,其中理论考试40分,项目完成情况60分。理论考试为闭卷考试,考试时间为1小时,着重考核相关理论知识;在项目开发环节,学生可根据自身在项目中担任的角色和完成工作量的情况,获得不同的分数。本课程鼓励学生独立或组队参加校级以上学科竞赛,在国内外相关竞赛中的获奖者都可以在期末总评成绩中视获奖情况酌情加分,省级以上相关竞赛的获奖者即可得到本课程的满分成绩。
3总结
教学实践表明,实施该教学方法后,大多数学生的Android应用程序开发能力得到较大提高,紧接着还安排与该课程配合的课程设计培养环节,使学生基本具备Android应用程序开发能力。目前,国内熟悉该开发技术的人才还十分有限,企业对相关技术人才需求却不断增加,因此很多学生毕业后已在沿海地区从事Android应用程序开发工作,待遇较好,这样将更加激发下一届学生对该课程的学习热情。同时教师经过教学实践,教学水平也得到提高。
参考文献
[1]晓明.Android智能机一季度全球份额升至35%[EB/OL].
[2]肖胜阳.在计算机课程教学中开展项目教学法的研究[J].电化教育研究,2003(10):72-76
[3]刘卫珍.项目教学法[EB/OL].
[4]靳岩,姚尚朗.GoogleAndroid开发入门与实战[M].北京:人民邮电出版社,2009
【手持设备应用软件的开发课程教学研究论文】相关文章: