基于安卓手机平台的化学实验软件的设计与实现.docx
- 文档编号:8089103
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:50
- 大小:995.77KB
基于安卓手机平台的化学实验软件的设计与实现.docx
《基于安卓手机平台的化学实验软件的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于安卓手机平台的化学实验软件的设计与实现.docx(50页珍藏版)》请在冰豆网上搜索。
基于安卓手机平台的化学实验软件的设计与实现
基于安卓手机平台的化学实验软件的设计与实现
随着WindowsPhone商店,Appstore,AndroidMarketing三大主要应用市场陆续开放教育类别应用下载服务,标志着教育类应用新业务时代即将到来。
针对目前电子市场上化学教育软件数量少,形式单一的问题,本文提出了新的内容和模式。
本文的研究内容包括了化学教育类应用软件的新模式的提出以及在Android平台上进行应用开发,本文介绍的应用名为化学对对碰,这是一款以化学实验为核心的应用,在应用中,用户可以自己选择需要的化学物品,进行化学实验,并观察化学反应的现象。
同时,“化学对对碰”还辅助以化学物品查询和化学贴士功能,让应用变得更加丰富,也更加利于用户对于化学的学习。
实现阶段,本文从系统设计的角度,对系统的整体结构做了详细的介绍。
本应用使用了两层结构,在表现层的设计中,本文采用了MVC设计模式,使得整个系统层次分明,条理清楚。
然后对数据持久层,和数据库的设计分别进行描述。
本章使用了设计图,设计表相结合的方式,使系统的整体框架和设计能让读者一目了然。
该课题的关键点在于如何设计化学类教育应用使之更具趣味性和易用性,能够让用户对化学学习产生兴趣。
主要业务难点在于化学反应规则的制定,以及化学反应动画演示的设计。
最后,本文通过上传应用后的数据及曲线图证明文中提出的新化学教育应用的模式具有一定的现实意义。
关键词:
Android,手机应用,动画,教育,化学
Abstract
WiththeopeningoftheEducationApplicationsinWindowsstore,appstoreandAndroidMarketing,theeraofeducationapplicationiscoming.BecauseoftheproblemthatthekindsandthequantityoftheChemicaleducationareverylimited,inthisarticleIwillraiseanewmodel.
ThisarticlemainlyconcludestheraisingofanewmodelforChemicaleducationapplicationandtheprocessofdevelopingonAndroid.Theapplication’snameinthisarticleis“TheChemicals”whichisaChemicalexperienceexperiment.Inthisapplication,userscanchoosethechemicalstheywant,doexperimentsandobservethephenomenon.Ontheotherhand,“TheChemicals”alsoprovidesthefunctionsthatuserscanquerythechemicalstheywanttoknowandreadsomechemicaltips,thismakestheapplicationmorecompleteandalsomakesusersbenefitfromit.
Duringtheimplementperiod,thisarticleintroducesthewholearchitectureoftheapplication.TheChemicalusesthetwo-tierarchitecture.Inthepresentation layer,thisapplicationusestheMVCdesign pattern,makingtheapplicationmoremethodical.Thenthisarticleintroducesthedata persistencelayerandthedatabaseinturn.Thisarticleusessomedesigndrawingsandtablesinordertobemoreeasilyunderstood.
Thissubject’skeysarehowtodesigntheplayableandeaseofuseofChemicaleducationapplication,andthatcanmakeusersbeinterestedinchemicalstudy.Themainbusinessdifficultiesarethedesignofthechemicalreactionrolesandanimateddemonstrations.Atlast,thisarticlepresentsthedataanddiagramtoturnoutthatthenewchemicaleducationapplicationmodelmanifestsitspracticalsignificance.
KeyWords:
Android,mobileapplication,animation,education,chemical
图目录
表目录
第1章绪论
1.1课题背景
1.1.1移动应用程序的意义
智能手机不断融合MP3、MP4、数码相机、GPS、上网等功能,应用功能丰富程度正逐渐赶超电脑及其它电子终端。
在第二季度全球智能机销售统计报告中,全球智能手机的销量得到了13.4%的同比增长。
伴随着智能手机的爆炸式增长,各大国际巨头都陆续推出自己的应用商城,尝试用种类繁多的应用程序来吸引更多的用户。
因此,移动应用程序对于移动智能设备来说就变得异常重要,没有应用程序,智能手机将不再智能。
据国外媒体报道,市场研究公司IDC预测,在智能手机推动下,到2013年年底,全球将有11亿台以上的移动设备能够访问互联网。
移动设备还将表现出对这个行业的强大的转变作用,越来越多地作为主要的客户端平台与PC争夺开发人员和用户。
移动设备的增加将引起移动应用程序的爆炸式增长。
Android应用程序正在以五倍以上的速度增长。
根据业内在2013年3月份对安卓应用市场和苹果AppStore的统计,目前它们的应用总量都已经超过了80万。
其中的应用程序包罗万象,正在从方方面面改变人们的生活,为人们带来便捷。
1.1.2教育类移动应用程序的现状及面临的问题
随着教育信息化的发展,以及移动智能设备的普及,应用开发者将视野投向教育类应用,一款好的教育应用,可以让用户在轻松愉快的环境学习所需的知识,更重要的是,用户可以以随时随地拿出自己的移动设备进行学习[1],使得生活中诸如等车或者上班路上这种碎片时间得以充分利用。
纵观目前世界上最为流行的三大智能设备操作系统,IOS,Android,Windows,它们都陆续在应用商店中增加了教育类软件,可见,教育类软件有着广阔的前景。
但是目前教育类软件还存在着很多不足和问题,主要表现在以下几个方面:
第一,早期的应用都是以游戏和日常工具为主,教育类应用程序并没有受到多少重视。
Google也是在2011年刚刚增加了教育类别,所以总的来说,目前的教育类软件还相对较少。
第二,由于目前应用软件开发的主要盈利都是来自于游戏类应用和一些日常工具应用,这使得开发者纷纷转向这些有利可图的应用程序中来,于是教育类软件的开发群体就属于较小的群体。
这就导致了教育类软件不仅仅在数量上处于劣势,种类和质量上也都不能使用户满意。
第三,经过对AndroidMarket,AppStore和WindowsStore上教育类应用的分析与对比,很容易发现,目前教育类应用大多集中在语言学习和幼儿教育(幼儿有声读物,早教知识等)方面,而这些软件的受众范围都比较小,所以,当前的教育类软件并不能满足各个年龄段,各种职业背景用户的需求。
第四,当前的教育类应用程序形式太过简单,单一。
多数应用程序仍以图文显示作为主要方式,使得用户只是浏览其中内容,过程比较枯燥,并没有发挥智能设备所拥有的强大功能
1.1.3教育类应用程序改进要求的提出
针对当前教育类软件类别少,形式单一等问题,可以从以下两个方面进行改进。
1从不同学科,不同形式等方面着手,增加教育类软件的形式,丰富教育软件的类别。
首先,教育类软件不应该集中在语言学习上,随着智能手机在中小学生中的推广,可以针对各个年龄层设计应用程序。
以中学生为例,智能手机在他们当中已经有了一定的普及,那么,设计一款好的教育类应用程序,既可以激发他们对现代科技的兴趣,也能够使他们在使用应用程序的同时轻松地掌握课程知识。
例如,物理类应用可以帮助同学们利用碎片时间轻松复习常用物理公式,数学类应用可以帮助同学们熟悉定理,化学应用可以帮助同学们快捷的查找元素周期表,化学反应等。
其次,教育类软件不应该以简单的图文或者有声读物的形式出现,更多的形式才能充分调动用户的使用热情。
当前的教育软件普遍以图文的形式展现给用户,用户只是进行阅读,并不能身临其境的感受教学过程。
所以,增加用户与应用程序之间的交互是极其必要的。
2教育类应用程序应该根据受众的不同来选择界面风格,同时也需要把画面色彩尽量做到丰富以从视角上吸引用户。
仍以中学生群体为例,用商务风格的界面来设计一款面向中学生的应用这显然是不合适的。
所以,如果在设计一款针对中学生的手机应用程序时,使用卡通风格的界面,并配以色泽明快的背景,那么可能会更容易被中学生所接受。
1.1.4化学实验在化学教学中的作用及存在的问题
中学阶段的化学学习与考试主要围绕着化学物质的性质以及化学反应现象这个关键点进行考察。
由于很多的化学药剂生活中并不常见,所以导致传统的书本教育使学生并没有一个直观的感受,单纯依靠死记硬背的方法对化学物品的性质及化学反应现象进行记忆,这种方法很容易导致学生降低学习兴趣,同时也不利于对知识的理解和记忆。
所以,化学实验在化学教育中就尤为重要。
化学实验本身是神奇的,有趣的,能够吸引学生主动去学习的,这样学生在动手实验的同时,既不会觉得枯燥,也能很好的把亲眼所见的化学反应记住。
但是,大部分的化学药剂存在腐蚀性,危险性,另外,由于学校学生众多,学校很难让每一个学生都有足够的机会自己动手进行实验。
“化学对对碰”以此为契机,将化学实验迁移到一个虚拟的环境中,这样既能够让学生有足够的机会进行实验,又没有任何的危险性。
本文中介绍的“化学对对碰”是由我们“SmartEducation”团队开发的一款基于Android手机终端的移动化学教育软件实现的业务,它提出了一种新的化学教育模式,用户通过“化学对对碰可以:
1.查物品。
包括中学阶段全部化学物品。
2.做实验。
可以自己动手做实验,观察现象,记忆深刻。
3.小贴士。
将生活跟化学联系起来。
1.2课题任务
本课题旨在向读者介绍Android手机平台下“化学对对碰”软件的设计与实现,首先从理论上分别介绍Android开发环境的搭建,Android平台的整体架构,包括用到的工具及相关开发技术。
然后对Android平台上的化学教育应用“化学对对碰”进行逐一详细的介绍,包括应用程序的框架,表现层,数据持久层的设计,帧动画的应用。
最后上传应用,观察数据,并得出结论。
同时总结应用目前仍然存在的不足,并对化学教育的未来发展进行展望。
1.3论文结构
本论文共分六章,以下是各章节的内容介绍:
第一章引言:
本章作为本文的开头部分,主要是简要介绍了本课题的课题背景、课题内容以及本文的论文结构。
第二章Android概述:
本章详细分析了Android的架构,并介绍了Android平台的特征、应用程序的构成和工作机制、Android应用的开发流程等。
第三章化学对对碰的需求分析与设计:
本章首先对应用进行概述,然后介绍了应用的概要设计,包括业务,系统,核心功能及界面的设计。
第四章化学对对碰系统设计:
根据对应用的需求分析,首先介绍应用的框架设计,然后对框架中的表现层,数据持久层和数据库分别进行了设计。
其中,着重介绍了本应用在表现层中采用的MVC设计模式。
第五章化学对对碰的实现:
在这一章中对项目的实现进行了详细的介绍。
首先介绍了本项目开发使用的软硬件平台。
接着介绍项目开发的环境配置、工程的创建、运行与调试,接着分析了项目应用程序的实现,并对项目主要功能的实现做了详细分析。
最后展示了项目上线以后的信息中心和数据表现。
第六章结论:
本章对项目开发过程中的创新点以及不足之处进行了总结,并对Android的发展和基于Android平台的教育类APP进行了展望。
第2章Android移动平台概述
Android是Google于2007年11月推出的一款全新的智能手机平台[2],由操作系统、中间件、用户界面和应用程序组成,2008年9月23日,美国运营商T-MobileUSA在纽约发布了第一部使用Android操作系统的手机—T-MobileG1[3],该款手机支持WCDMA/HSPA网络,理论下载速度为7.2Mbps,并支持Wifi。
2.1Android平台的应用框架
应用框架[4,5]:
用于开发可重用、可替代的组件。
1.Dalvik虚拟机:
Android采用的是自主开发的Dalvik虚拟机,它具有很好的硬件兼容性,在保证API兼容的同时针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
2.集成的浏览器:
Android集成了基于Webkit引擎的网页浏览器。
Webkit是一个开源浏览器网页排版引擎。
3.优化的图形:
Android提供了优化过的图形系统,让系统由一个自定义的2D图形库和一个遵循OpenGLES1.0标准(硬件加速)的3D图形库组成
4.SQLite数据库:
SQLite数据库是Android自带的一个标准的数据库,支持SQL语句,是一个轻量级的嵌入式数据库。
5.媒体功能:
支持各种通用的音视频和静态图像格式。
6.网络支持功能:
支持蓝牙、GPRS-EDGE、3G和WiFi无线网络。
7.硬件支持功能:
支持相机、GPS、导航和感应加速器等各类硬件。
8.强大的开发环境:
包括设备模拟器,调试工具,内存和性能检测工具,以及EclipseIDE的开发插件。
2.2Android平台的体系架构
Android不仅是一个操作系统,更是一个开源的体系架构。
Android软件平台从上到下主要由五个部分构成:
应用程序、应用程序框架、程序库、Android运行库以及Linux内核[6,7]。
1.应用程序(Application)
Android的应用程序通常涉及用户界面和用户交互。
Android本身提供了桌面(Home)、联系人(Contact)、电话(Phone)和浏览器(Browsers)等众多的核心应用。
所有的核心应用都使用Java语言编写,同时开发者可以使用应用程序框架层的API实现自己的程序,这也是Android开源优势的体现。
2.应用程序框架层(ApplicationFramework)
Android应用程序的开发基于程序框架和组件,开发人员拥有同核心应用程序一样的APIs访问权限[8]。
应用程序后面是一系列的服务和系统,其中包括:
视图(Views)、内容提供器(ContentProviders)、资源管理器(ResourcesManager)、通知管理器(NotificationManager)、活动管理器(ActivityManager)。
通过这套应用框架,各种服务和组件可以被用户的应用重复利用。
3.程序库(Libraries)
Android本身还包含了一整套核心库,能被系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
核心库主要包括:
系统C库、媒体库、SurfaceManager、LibWebCore、SGL、3Dlibraries、FreeType、SQLite。
4.Android运行库(RunTime)
所有的Android应用程序都运行在它自己的进程里,该进程是一个Dalvik虚拟机的实例。
Dalvik虚拟机是Goolge自主研发的,它被设计成一个设备,可以同时高效的运行多个虚拟系统。
Dalvik在保证API方面兼容的同时,针对移动手机进行了优化,占用更小的资源,提高了运行效率。
Dalvik虚拟机依赖于底层linux内核提供的功能,如线程机制和内存管理机制。
5.Linux内核
Android基于Linux2.6内核来提供系统的核心服务,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件栈之间的抽象层[9]。
从总体架构中看,Android平台显示出了自身的特点,如集成了WebKit浏览器、Dalvik虚拟机等模块,这些模块的应用也成为了Android开发的焦点,开发者可以利用Android提供的模块接口,开发出具有特色的应用程序。
2.3Android应用程序构成
对于一个Android应用程序来说,一般由以下4个组件构造而成[10,11]:
Activity、BroadcastIntentReceiver、Service、ContentProvider。
这四部分构造块之间的关系如图2.1所示[12]:
图2.1Android的构成和工作流程
以下是对这四种组件的说明:
1.Activity
Activity是最基本的Android应用程序组件。
在应用程序中,一个Activity通常就是一个单独的屏幕。
每一个Activity都被实现为一个独立的类,并继承基类Activity。
Android应用程序的生命周期,如图2.2所示[13],是由Android系统平台进行管理的,而不是由应用程序直接控制的。
通常,每一个应用程序(入口一般会是一个Activity的onCreate方法),都会占据一个进程。
不管是使用者还是开发者,都无法确定应用程序何时会被回收。
图2.2Android应用程序的生命周期
一个Activity类除了OnCreate方法外,还定义了OnFreeze(冻结行程时的行为)、OnPause(暂停行程时的行为)、OnResume(继续行程时的行为)等基本行为。
当从一个Activity切换到另一个Activity的时候,原来的Activity将经过一连串的状态改变,每次Activity改变状态时,就会执行相应的流程。
需要注意的是:
onResume()与onPause(),这两个方法是Activity在OnCreate之后运行过程中的生命周期,当程序失去焦点或者被关闭,就会触发Activity的onPause()状态;当应用程序被再次唤醒,则会回到onResume()状态。
应用程序通过调用startActivity(Intentintent)方法从一个活动转移到另一个活动。
Intent负责对应用中一次操作的动作、动作设计的数据、附加的数据进行描述,Android则根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。
与Intent相对应的类是IntentFilter,用于描述Activity能够处理什么样的Intent。
此外,还有一个与startActivity功能相似的方法startActivityForResult(Intentintent,intReultcode),也实现了Activity之间的切换。
不同的是startActivityForResult方法通过带返回结果的Activity之间的切换。
startActivityForResult需要和onActivityResult一起使用,共同使用不同Activity间的数据、服务共享。
2.BroadcastIntentReceiver
当需要对一个外部事件(如当电话呼入)做出响应时,可以使用目的接收器(IntentReceiver)。
BroadcastIntentReceiver不能生成UI,它只能通过NotificationManager来通知用户。
BroadcastReceivers既可以实现在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行动态注册[14]。
在AndroidManifest中注册BroadcastReceiver和在代码中注册BroadcastReceiver效果多事一样的,该BroadcastReceiver都会生效。
但是区别在于代码中用了registerReceiver方法注册后,若对其进行注册的Context对象“销毁”了或者调用了unregisterReceiver方法,注册的BroadcastReceiver也就失效了。
而在AndroidManifest中注册,只要安装的应用没有被删除,BroadcastReceiver一直都有效。
大致可以理解为在代码中是对BroadcastReceiver动态进行注册,而在AndroidManifest中是静态的注册。
但这些有趣的事情发生时,你的应用不必对请求调用BroadcastReceivers,系统会在需要的时候启动你的应用,并在必要的情况下触发BroadcastReceiver。
各种应用还可以通过使用Context.sendBroadcast()将它们自己的intentbroadcasts广播给其他应用程序。
3.Service[15]
Service是具有长生命周期且没有用户界面的一段程序,它需要通过某一个Activity或者Context对象来调用。
Service的生命周期方法比Activity少一些,只有onCreate、onStart和onDestory。
2.4Android平台应用开发流程
一、准备工作
1.技能储备[16]
主要是对Java,XML,数据库,Android的技术做以学习,这里就不赘述了。
2.工具准备
Android的开发环境是基于Eclipse进行搭建的,在开发初期准备好Eclipse,AndroidSDK,JavaSDK即可[17]。
二、开发
首先,在Eclipse新建一个Android项目,然后输入package名,应用名和activity名,选择AndroidAPI版本[18]。
然后开始构思应用的布局,这里需要用xml构建基本的布局和控件。
在设计好布局,控件,业务逻辑之后,开始编写java程序,将之前的设计实体化。
在代码书写完成后,需要使用Android模拟器进行调试,也可以用手机进行调试,检查基本的功能是否完成,是否存在漏洞和Bug。
然后,将应用的背景,图标等UI部分进行美化。
Android标准图标根据手机分辨率不同,分别有36*36/48*48/72*72这三种尺寸,你会看到drawable-hdpi/drawable-ldpi/drawable-mdpi不同的目录用来存储不同尺寸的图标,在AndroidManifest.xml中只需要写@drawable/icon就可以,它会根据屏幕分辨率去找不同目录下的图标。
最后,需要修改AndroidManifest.xml文件,修改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 手机 平台 化学 实验 软件 设计 实现