四川科技职业学院毕业设计 第5页
图 2-1 应用结构
2.3.Android简介
2.3.1.Android架构
Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集[6]。作为一个层次结构的软件集,一定有一个层次的系统构架,下图为Android的构架图:
图2-2 Android 系统构架
从图3-1中明显的可以看出该系统从下到上包括Linux内核层、Libraries
授人以渔
能力为本
四川科技职业学院毕业设计 第6页
和运行时环境层、应用程序框架层、应用程序层四层结构。在Android的最下层的操作系统基于Linux2.6内核,往上的中间件包括Libraries和运行时环境层和应用程序框架层两个层次,最上层则是应用程序层。
Android 包含一些C/C++库,Android系统中的各种不同组件都能够使用这些库函数。这些库函数通过Android 应用程序框架为开发者提供服务。以下列举了一些库函数[7]:系统C库、媒体库、Surface Manager、LibWebCore、SQLite库等。 Android采用Java作为应用程序的开发语言,但是虽然使用的是Java语言,但是Google却没使用传统的Java Runtime来执行应用程序而是采用Android自己特有的Android Runtime。从Android 的系统构架图中可以清楚的看到,Android Runtime由Android函数库(Android Libraries)和Dalvik虚拟机组成[8]。 在Android系统构架图中可以看到,应用程序框架层是处于Android Runtime和库函数层于应用程序层之间,之前的叙述中知道,该层使用开发语言的是Java语言。应用程序框架是能够让开发者完全访问核心应用程序所使用的API(Application Programming Interface,应用程序编程接口),该框架能够让组件软件重用的工做简单化。同时该框架中的任何一个功能模块都是等价的,任何一个应用程序都可以发布其功能模块,该功能模块可以替代当前的任意一个功能模块,但前提是必须遵循框架的安全限制[9],另外,其他的任意应用程序能够使用这个发布的功能模块。这样的设计就使Android的构件重用率提高了。
2.3.2.Android应用
任何一个Android应用程序,都可由四个部分组成,这四个组成部分分别是①Activity;②Intent Receiver;③Service;④Content Provider[10]。对于一个应用程序来说,不一定这四个部分都需要。其中,Activity、Intent Receiver和Service是Android最基本的三个组件。其实,这四个部分全部或者其中几个的相互协调工作组成了我们平时见到的应用程序。
在Android中每个应用程序都需要一个XML配置文件AndroidManifest.xml,该配置文件用于定义我们的应用程序组件和组件的功能以及一些必要条件等。因此当我们使用到任何一个组件时都需要在这个配置文件中进行登记,否则就算是你在代码中使用了这个组件,但是Android系统也是找不到该组件的。
Activity是Android中最最基本的组件,实际应用中,通常就是一个单独的屏[11],也就是一个运行在前台程序在某一时刻在屏幕中所能展示的全部内容就是一个Activity。
Intent Receiver有的地方也叫做Broadcast Receiver。当你希望你的应用
授人以渔 能力为本
四川科技职业学院毕业设计 第7页
能够捕获一个外部事件并作出响应时,比如手机快没电了,收到一条新的短信息等。这时你就可以使用一个Intent Receiver。因为Intent Receiver只是在一个你所关注的事件发生时,会给那些关注该事件的应用程序发送一个通知,所以它并不会生成一个UI。同样的Intent Receiver也需要在AndroidManifest.xml中进行注册。当一个你所关注的时间发生时,我们的应用不需要主动去调用intent receiver,系统会在一个合适的时候去调用我们的程序的。
Service是一段长生命周期的,没有用户界面的程序。对于一个Service组件,我们可以使用Context.bindService()连接到Service上,就能通过该Service提供的接口与之进行通信。
Content Provider提供给你的应用程序与其他应用程序共享数据的一个功能。我们的应用程序可以通过Content Provider提供的一些方法来处理或者保存其他应用程序Content Provider中的数据,这样来达到数据的共享。
在Android中,为了使用应用程序更加地安全,Android增加了安全模型来操作资源和数据的特征,这是通过权限设置来决定的。Android是一个多进程系统,在此之中,每个应用程序都在自己的进程中运行。大多数的应用程序之间的安全模式设置和标准的Linux系统相一致,例如给各个应用程序分配不同的UID[12]。
授人以渔 能力为本
四川科技职业学院毕业设计 第8页
第三章 需求分析
3.1.可行性分析
通过网上查阅资料和图书馆查阅相关文献,对毕业设计需要完成的任务进行了相关的调查和分析,目前网上论坛系统,特别是针对学生的网上论坛系统,多数还是基于WEB的方式进行浏览,而随着Android智能手机的普及,现在的大学生基本上人手一部,对于开发一套基于Android的网上论坛系统是十分有必要的,从技术方面来讲:由于Android操作系统是开源的,提供了大量的接口,可以利用现有的技术来完成开发工作;从经济方面来讲:只要具有智能手机和计算机就可以十分容易的进行开发工作,开发成本是比较低的,能够满足经济的要求;从操作方面来讲:参照其他的在线网上论坛系统可以十分方便的实现与用户之间的交互,做到操作简单方便。
3.1.1.技术可行性
本文设计的网上论坛管理系统采用目前流行的MyEclipse开发环境和JAVA开发语言,以Android操作系统作为应用开发部署平台,以MySQL作为数据库开发平台。由于本文设计的网上论坛管理系统功能不算发杂,Android开发技术和Mysql开发技术也比较成熟且都是开源的,用户可以十分方便的调用系统提供的很多接口,因此对于在智能手机上做应用开发不存在任何的技术难度,能够实现这个系统。
3.1.2.经济可行性
从搜集的资料和查阅的文献来看,本文设计开发的系统对计算机硬件没有任何特殊的要求,再加上Android操作系统是开源的,我们开发的系统可以免费且十分方便的部署和发布到Android上,因此成本十分低廉,基本可以忽略不计。
3.1.3.操作可行性
本文设计的系统完全可以从技术做到与用户良好的互动,并且作为程序开发人员也
授人以渔
能力为本
四川科技职业学院毕业设计 第9页
可以尽自己所能简化程序设计,使设计的界面做到友好,操作步骤简单可行。
3.2.功能需求
本文设计的网上论坛管理系统提供的是一个简单实用的论坛管理系统,具备其他一般论坛所具备的功能。具体的功能如下:
1、服务器端功能:
(1)、注册与登录:管理员可以对注册用户进行添加、修改和删除等操作。 (2)、日志管理功能:管理员可以发布系统日志信息,可以查看任何用户发布的日志信息。
(3)、访问信息管理:管理员可以查看系统登录和论坛访问人员信息。 2、Android客户端功能:
(1)、注册与登录:用户账户的注册。用户只用通过注册后方可访问论坛。 (2)、日志信息:登录用户可以发布自己的日志和心情,可以通过日志列表查看其他用户和自己发布的日志信息。
(3)、访问信息:用户可以查看自己的好友信息和访问自己日志的访客信息。 (4)、相册信息:用户可以通过拍照上传自己的照片,也可以查看已上传的照片信息。
3.3.性能需求
用户总是强调确定他们的功能、行为或需求——软件让他们做的事情。除此之外,用户对产品如何良好地运转抱有许多期望。这些特性包括:产品的易用程度,执行速度,可靠性等。这些被称为软件质量属性(或质量因素)的特性是系统非功能(也叫非行为)部分的需求。
然而,质量属性是很难定义的,并且他们经常造成开发者设计的产品和客户满意的产品之间的差异。就像 Robert Charette(1990)指出的那样:“真正的现实系统中,在决定系统的成功或失败的因素中,满足非功能需求往往比满足功能需求更为重要”。优秀的软件产品反映了这些竞争性质量特性的优化平衡。
软件质量属性包括:
授人以渔 能力为本