当前位置: 首页 > 党团工作 >

《Android手机开发》教学内容探讨

发布时间:2023-05-31 08:42:02 | 来源:网友投稿

【摘 要】Android手机、平板设备在近几年得以迅速普及,从而Android应用开发人材也变得供不应求起来。本文在我们教学实践的基础上,介绍了手机应用开发人材培养中教学内容的设置,这些设置既注重了基础能力的培养,又为学生进一步的能力提升奠定了基础。

【关键词】Android;手机开发;教学内容

0 引言

Android是Google推出的一款基于Linux的便携设备操作系统,近几年来Android因其开放性的优势和丰富的硬件选择得以迅速地普及。据IDC公布的数据,截至2012年11月份, 也就是Android发布5周年之际, 其市场份额已占全球智能机75%[1]。在应用软件需求不断增长的形势下, Android手机应用开发人才就变得供不应求[2]。很多大学和企业在教学和人才培训方面都引入了Android开发课程,作为培养专业软件开发人才的软件学院,我院在2010年开始为JAVA课程体系的大三本科生开设Android手机开发课程,受到了学生们的欢迎。由于Android涉及Linux系统、JAVA、XML技术、数据库技术、网络协议等相关知识,我们在一学期的课程中设置的主要内容是手机应用程序开发。

Android是一个相对比较新的平台,而且是运行在智能手机、平板电脑等手持设备上,跟电脑平台和互联网应用开发有所不同,这给进入这一领域的开发人员设置了一个并不低的门槛。好在Google为开发者提供了一个开放性的系统架构,该系统架构从下到上分为四层[3,4]:第一层为Linux内核层,包括Linux操系统和驱动程序,提供系统的安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。第二层为Android运行时环境、核心类库。运行时环境由Andoid核心库和Dalvik虚拟机组成,核心类库包括系统C库、多媒体库、3D处理、浏览器引擎LibWebCore、和轻量级数据库SQLite等。第三层为应用框架层,包含了大量的API供开发者调用。第四层为应用层,主要是通过调用底层类库,使用Java开发的应用程序,这些应用程序包括电子邮件客户端、SMS程序、日历、地图、浏览器等,Android程序员开发的应用也位于此层。Android的这个系统架构采用软件叠层的方式构建,降低了层与层之间的耦合,从而保证了层与层之间相互分离,各层的分工明确。

作为各种资源受限的嵌入式系统,Android应用程序的构成方式与电脑平台上的应用程序有很大的不同。Android应用程序主要由4部分组成,也称为四大组件: Activity、ContentProvider、Service和BroadcastReceiver。Activity是Android应用中负责与用户交互的组件,包括用户界面和事件响应;ContentProvider是不同应用程序之间共享数据的标准API;Service是没有界面、在后台运行的程序,比如下载文件、播放音乐等;Broadcast Receiver是一个全局事件监听器,用来监听系统广播的消息。多数Android应用还离不开多媒体处理和网络应用。因此,在内容设置上,我们以四大应用组件为基础,以多媒体应用开发和网络应用为扩展。

1 四大应用组件

Android应用程序开发的一项重要内容就是用户界面的开发,一个好的应用程序首先要提供友好的图形用户界面(GUI),才能最终吸引到用户。Android四大组件中最重要的是Activity,它负责系统与用户的交互,也是大多数应用程序的入口。Activity作为视图的管理者,管理窗口(PhoneWindow)和各个UI组件。Android提供了大量的UI组件,使得开发者可以像搭积木一样组合出优秀的用户界面。这些UI组件都是从View类中派生出来的,View类还派生了一个ViewGroup类,提供了GUI上所有组件的布局方式。在界面开发方式上,Android还提供了在XML布局文件中控制组件属性的方式,大大提高了开发的效率和程序的灵活扩展性。为了让UI组件响应用户的按键、触摸等动作,Android也提供了事件响应机制,方便实现用户的交互操作。Android还提供了一些特殊的Activity,比如ListActivity、TabActivity、ExpandableListActivity、PreferenceActivity等,它们都是从Activity类中派生出来的,用来提供专门扩展的功能。

ContentProvider是Android中不同应用程序之间共享数据的标准API。当一个应用程序需要把自己的数据暴露给其它应用程序时,该应用程序就可通过ContentProvider来实现;其它应用程序就可通过ContentResolver来操作ContentProvider暴露出来的数据。一旦应用程序通过ContentProvider暴露了自己的数据操作接口,则不管该应用是否启动,其它应用程序都可通过该接口对它的内部数据进行增、删、改、查等操作。通过ContentProvider,开发者可以很方便地访问图像、视频、音乐、通讯录、短信等系统数据。

为了节约电量, 当前Activity不可见时,它运行的程序也进入休眠状态。为了兼顾比如音乐播放、数据下载等耗时较长的应用,Android系统提供了Service组件。Service组件与Activity相类似,也代表着可执行程序。不过它没有用户界面,一直在后台运行。开发者可以使用Activity做前台界面,调用Service实现相关功能,Activity还可以与Service绑定,并与之通信。

BroadcastReceiver是一个全局的监听器,通过它可以方便地实现系统中不同应用程序之间的通信。这些应用程序包括用户开发的程序和系统内建的程序,因此,BroadcastReceiver可以响应系统发生的改变,比如电池电量变化、系统时间日期改变、开关机等。特别地,通过BroadcastReceiver可以实现应用程序随系统自动启动。

以上四大应用组件的共同特点是,它们都需要在AndroidManifest.xml文件中进行配置。除这四大应用组件外,Android还有一个重要的组件:Intent。Intent是上述四大应用组件之间信息沟通的桥梁。通过Intent,各组件能够以统一规范的方式进行数据交换。

在数据存储方面,除了四大应用组件之一的ContentProvider,Android还有三种方式[5]。第一种称为Shared Preferences,它采取的处理方式是键值对,适合于用作程序和系统中的信息配置文件。第二种是文件存储,特别是SD卡上文件的读写。Android系统大部分操作与JAVA的I/O流类似,只要设置相应的权限并获取SD卡的路径即可。Android还内置了一个轻量级的数据库SQLite,可以调用SQL语句实现对数据的增、删、改、查操作,对小规模的数据存储具有较高的效率。

2 多媒体处理

Android提供了ImageView控件显示普通静态图片,也提供了AnimationDrawable来开发逐帧动画,还可通过Animation对普通图片使用补间动画。图形、图像不仅对Android系统的应用界面开发非常重要,而且Android系统上益智游戏、2D游戏都需要大量的图形、图像处理。所谓游戏,本质就是提供更逼真的、能模拟某种环境的用户界面,并根据某种规则来响应用户操作。为了提供更逼真的用户界面,需要借助于图形处理。

Android还提供了常见音频、视频的编码、解码机制,比如常用的MediaPlayer类,Android支持的音频格式有MP3、WAV、3GP等,支持的视频格式有MP4、3GP等。借助于这些媒体支持类,我们可以很方便地在手机应用中播放音频、视频等,这些多媒体数据既可以来自于Android应用的资源文件,也可以是来自外部存储器上的文件,甚至是来自于网络的文件流。不仅如此,Android也提供了对摄像头、麦克风的支持,因此也可以十分方便地从外部采集照片、音频、视频等多媒体信息。

3 网络应用

手机本身是作为客户端来使用的,它的计算能力和存储能力都是有限的。它的主要优势是携带方便,可以随时打开,而且手机通常总处于联网状态。因此网络支持对于手机应用的重要性是不言而喻的。

在Android中,除了Java中使用的访问网络的方式,还可以通过两种方式使用HTTP进行网络通信:一种是使用HttpURLConnection实现,创建一HttpURLConnection对象就可以发送HTTP请求,默认采用的是GET方式,也可以调用setRequestMethod()方法指定使用POST请求方式。另一种是使用HttpClient实现,HttpClient实现了对Java中访问网络方法的封装,有HttpGet类代表发送GET请求,HttpPost类代表POST请求,HttpResponse类代表处理响应。

4 结论

通过对本课程的学习,学生可以掌握Android手机客户端应用程序开发的基础知识,能够熟练进行应用程序界面开发和美化,能够进行简单的单机游戏的开发,能够通过JSP页面跟服务器进行交互。在此基础上,学生可以通过实训等方式,进一步提升自身的实力,能够参与完成某些大型应用程序开发,在娱乐、餐饮、导航、沟通、资讯、办公等方面为便携设备用户提供便捷服务。

【参考文献】

[1]IDC: Android has a heady 59 percent of world smartphone share, iPhone still on the way up[OL]. /2012/05/24/idc-q1-2012-world-smartphone-share/, /story/tech/2012/11/02/android-on-75-percent-of-smartphones/1678429/.

[2]邹兴,张磊.3G 智能终端软件开发实验教学改革的思考[J].实验科学与技术,2012,6,10(3):84-86.

[3]李刚.疯狂Android讲义.2版[M]. 北京:电子工业出版社,2013,2.

[4]杨凤年,何文德,周景,刘华富.手持设备应用软件开发课程教学方法研究[J].中国教育技术装备,2008,246:33-35.

[5]林永军.Android课程实验教学系统的研究与设计[D]北京邮电大学,2012,2.

[责任编辑:王静]

推荐访问:教学内容 探讨 开发 手机 android

本文标题:《Android手机开发》教学内容探讨
链接地址:http://www.ylwt22.com/dangtuangongzuo/2023/0531/258951.html

版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《《Android手机开发》教学内容探讨》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

十号范文网 |
Copyright © 2018-2024 十号范文网 Inc. All Rights Reserved.十号范文网 版权所有
本站部分资源和信息来源于互联网,如有侵犯您的权益,请尽快联系我们进行处理,谢谢!备案号:粤ICP备18086540号