Android应用程序由四部分组成:Activity、Intent、Content Provider、Service。其中,Activity是所有程序的基本组成部分,所有程序的流程都运行在Activity之中。在Android的程序当中,Activity一般代表手机屏幕的一屏。一个Android应用程序一般是由多个Activity组成的。这多个Activity之间可以进行相互跳转,和网页跳转不一样的是,Activity之间的跳转有可能返回值,这佷方便开发者。Android用Intent来实现在Activity之间的切换。应用程序将数据保存在文件和SQLite数据库中,甚至是任何有效的设备中。Android对数据的保护是很严密的,除了在SD卡中的数据,一个应用程序所持有的数据库、文件等内容,都是不允许其他程序直接访问的。Content Provider是Android提供的一种特殊的存储数据的类型,提供了一套标准的接口用来获取和操作数据。应用想对外提供的数据,可以通过派生Content Provider类, 封装成一枚Content Provider。Service是一种程序,它可以运行很长时间,但是它却没有具体的用户界面。 它跟Activity 的级别差不多,但是它不能自己运行,只能在后台运行,并且可以和其他组件进行交互[19]。
Android系统具有开放性、程序无限性、程序平等地创建、程序可并行运行、程序可轻松地嵌入网络等特点。
1.3.3 Node.js
js是Javascript的缩写,是一种脚本语言,主要用于客户端执行,其需要一个解析器才能运行。浏览器可以解析HTML页面里的JS语言。而对于需要独立运行的JS语言,Node.JS就是一个服务器端JavaScript 解析器,是一个基于Chrome JavaScript运行时建立网络服务及应用的一个平台,实际上是对Google V8引擎进行了封装。其不仅仅简单地使用了V8,还对其进行了优化,使其在各环境下更加有效。Node.JS不但允许JS定义各种数据结构,进行数值计算,还允许JS使用运行环境提供的fs、http、mysql等内置对象和操作方法做一些事情。Node.JS具有事件驱动,非阻塞I/O和单线程等特点。其目标是帮助程序员编写高度可伸缩的服务器程序,编写能够处理数万条同时连接到一个(有且只有一个)物理机服务器的服务器程序[20]。
1.3.4 MySQL
MySQL是一个快速的、多用户的、多平台的、多线程的关系型数据库管理系统,由瑞典MySQL AB公司开发,后由Oracle公司拥有。其具有速度快、体积小、没有内存漏洞、总体拥有成本低和开放源代码等特点。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经足够强大,而且由于MySQL是开放源码软件,因此许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL将数据保存在不同的表中,增加了速度并提高了灵活性。其所使用的SQL语言是用于访问数据库的最标准化的语言[21]。
2 可行性研究
可行性研究是指在软件开始阶段对软件可行性进行全面详细的研究和分析。目的是尽早发现软件开发过程中存在的问题,并提出解决之法,这样可以避免以后在遇到该问题时产生大量的时间、人力和资金的浪费。
2.1 经济可行性
开发本系统,可以所需智能手机、笔记本电脑原来就有,不需另行购买。所需要的开发软件Eclipse、Node.js、MySQL都可从网上免费下载。笔记本电脑可以设置为一个WiFi热点,不需购买WiFi路由器。由此可知,开发所需额外成本较少,而开发人员为一人,时间为一个学期,总体成本低,经济可行。
2.2 技术可行性
从互联网上下载的WIFI共享精灵软件可以把笔记本电脑设为一个WiFi热点,其IP地址固定不变。Eclipse是一个开放源代码的、跨平台的自由集成开发环境,通过安装Android SDK 插件,即可使其支持Android的开发。Node.js可以方便快捷地搭建易于扩展的服务器端。数据库系统使用的MySQL具有体积小、速度快、总体成本低、开放源代码等特点,完全可以满足个人开发者对数据库的需求。 Android+Node.js的wifi自动考勤系统设计(3):http://www.youerw.com/jisuanji/lunwen_14147.html