基于Android的实验室课程管理系统预约管理子系统开发_第1页
基于Android的实验室课程管理系统预约管理子系统开发_第2页
基于Android的实验室课程管理系统预约管理子系统开发_第3页
基于Android的实验室课程管理系统预约管理子系统开发_第4页
基于Android的实验室课程管理系统预约管理子系统开发_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录目录摘摘要要 IIIIIIABSTRACTABSTRACTIVIV引言引言 1 11 1绪论绪论 2 21.1课题研究背景 21.2研究目的与意义 21.3课题容 22 2相关技术分析相关技术分析 4 42.1了解智能手机 42.1.1智能手机的定义 42.1.2智能手机的特点 42.1.3主流智能手机系统 52.2了解ANDROID62.2.1 android 产生的背景 62.2.2android 的发展 72.3ANDROID的特点 72.4ANDROID 系统工作原理 72.4.1Android 的系统架构 82.4.2Android 的程序结构 92.4.3工作机制 112.4.

2、4开发环境 132.4.5 Android 源代码结构 132.4.6Android 的编译 133 3基于基于 ANDROIDANDROID 的实验室课程管理系统的实验室课程管理系统- -预约子系统的需求分析预约子系统的需求分析 15153.1功能需求分析 153.1.1用户登录验证功能分析 153.1.2实验室预约信息功能分析 153.1.3实验室预约功能分析 164 4基于基于 ANDROIDANDROID 的实验室课程管理系统的实验室课程管理系统- -预约子系统的设计与测试预约子系统的设计与测试 18184.1开发环境的搭建 184.1.1安装 Android SDK 和 Basic4

3、android184.2核心模块的实现 234.2.1登录模块 234.2.2预约信息模块 244.2.3实验室课程预约模块 254.3测试应用 25 / 354.3.1用户登录界面的实现 254.3.2预约信息模块界面的实现 264.3.3实验室课程预约模块的实现 275 5总结与展望总结与展望 2929致致 3030参考文献参考文献 3131II / 35摘要摘要进入 3G 时代以来,无线互联网通信技术和智能终端的高速发展给人们的生活和工作带来了很大的便利,使得智能手机等移动设备很快的融入了人们的生活。校园作为教育的前沿阵地,为了适应快节奏生活,让学生和老师能方便的预约实验室。那么利用手机

4、这一普遍的移动终端进行实验室课程预约这一问题的研究就具有深刻的现实意义与广泛的应用价值。本系统是基于 android 平台,以 Basic4android 为开发平台,建立一个学生或老师可以通过移动终端进行实验室课程预约的服务系统。它主要由三个模块组成:用户登录模块、预约信息模块、预约实验室课程模块。该应用将可以实现学生快速预约实验室,减少管理员的工作量和出错率。关键字:Basic4android;Android 平台;实验室预约系统;III / 35A ABSTRACTBSTRACTInto the 3G era,Wireless Internet communications techno

5、logy and the rapid development of intelligent terminals to peoples life and work has brought great convenience,Making smart phones and other mobile devices quickly integrated into peoples lives.Forefront of the campus as an educational,In order to adapt to the fast-paced life,So that students and te

6、achers can easily bookings laboratory.So take advantage of this universal mobile phone terminal for laboratory research program reservation on this issue has profound practical significance and wide application value.The system is based on android platform,As a development platform to Basic4android,

7、Establish a student or teacher can conduct laboratory courses through the mobile terminal reservation service systems.It mainly consists of three modules:User login module, booking information module, booking laboratory course modules.The application will be achieved rapid appointment laboratory stu

8、dents,Reducing administrator workload and errors appointment.Keyword:Basic4android;Android platform;Lab Reservation Syst0 / 35引言引言随着 3G 的到来,无线宽带越来越高,使得更多容丰富的应用程序装入手机成为可能,视频通话,视频点播等。为了承载这些数据应用即快速部署,手机功能越来越智能,越来越开放。在 Google 发起的开放手机联盟(Open Handest Alliance,OHA)的大力推动下,一个时尚、热门、免费并开源的移动平台 Android正在飞速发展。Ba

9、sic4android 是一个简单但功能强大的 android 应用开发环境。Basic4android 语言跟 Visual Basic 予以类似,支持更多的对象。Basic4android 将代码编译成 Android 原生应用,无需其他运行环境的支持。该工具完全为了 Android 应用开发,不支持其他平台。本课题是开发基于 android 的实验室课程管理系统预约子系统,以Basic4android 为开发平台。、1 / 351 1 绪论绪论1.11.1课题研究背景课题研究背景智能手机在各个层次、各种年龄、各种职业的人群中越来越普与,它已经延伸到人们日常生活中的各种方面,如:聊天、购物

10、、信息查询和娱乐活动。目前,智能终端的种类很多,主要有 3G 智能终端、数字会议桌面智能终端、家居智能终端等。其中,3G 智能终端是一个三网合一的产品,以手机为主流产品,用户希望能够通过手机实现互联网操作、电信运营商业务操作、PC 计算操作;数字会议桌面智能终端主要是公司用于信息交流,要求移动便携性较强、智能家居希望能够通过网络实现对日常家电的管理。在智能手机中 android 操作系统占据着 76%的市场份额,在中国更是达到 90%。这些应用程序为人们日常生活带来了很大的方便。1.21.2研究目的与意义研究目的与意义随着智能机的发展,部分高校已经开始开发出了手机应用服务系统,如:图书馆信息查

11、询系统,教务管理系统等。学生通过手机可以随时随地去查询信息。同样实验课作为大学最重要的课程之一,能够让学生方便、快速的预约实验室也是一件需要解决的问题。传统的实验室预约主要方式是:学生先去实验室找管理员,管理员要先在实验室预约或者电脑上的预约文档了查找,看是不是该实验室在这个时间段已经被预约,然后在作处理,后面继续预约又要重复之前的程序。这样人工查询、记录,不但浪费时间,而且很容易出错。这样既浪费人力有浪费资源,无形中会增加很多成本,更有可能造成教学事故。和传统的实验室预约方式相比,基于android 的实验室课程管理系统预约子系统有很多优势,具体表现在以下几个方面:(1)节省了时间:学生在预

12、约实验室时不用再去实验室找管理员,可由学生一人完成。(2)提高了工作效率:管理员也不用重复查询、记录的繁琐程序,学生预约系统会自动处理。(3)出错率降低:传统的实验室预约方法由于是人工处理,而且管理员每天要重复处理程序,很容易疲倦结果会出现没预约到,或者重复预约。以上三点优势充分体现了开发基于 android 的实验室课程管理系统预约子系统的必要性。1.31.3课题容课题容2 / 35本课题从基于 android 的实验室课程管理系统预约子系统出发,以调研Android 应用开发现状和学习 Basic4android 应用开发平台相关知识为基础,充分分析 Android 应用开发的必要性,确定

13、该预约系统应具备的功能需求。综合以上容,本课题主要研究的容如下:(1)调研现有智能手机系统,以与现在高校实验室预约的弊端,提出研究本课题的意义。(2)确定预约系统的需求,对数据库的访问进行设计。(3)完成基于 android 的实验室课程管理系统预约子系统客户端的需求和功能的设计和实现。2 2相关技术分析相关技术分析3 / 352.12.1了解智能手机了解智能手机2.1.12.1.1智能手机的定义智能手机的定义智能手机(SmartPhone),是指,像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通

14、讯网络来实现无线网络接入的这样一类手机的总称。简单的说,智能手机就是一部像电脑一样可以通过下载和安装软件来拓展其功能的手机智能手机可以是传统的手机增加智能功能,例如塞班操作系统的 S60系列,Windows Mobile 操作系统的 Windows Mobile Smartphone 系列;也可以是传统的 PDA 加上手机通信,例如 Windows Mobile 操作系统的 Windows Mobile Pocket PCPhone 系列,Palm 操作系统的 Treo 系列,也可以是其他独立的类型,例如Symbian 操作系统的 S80.UIQ,以与一些 Linux 操作系统的智能手机。然而

15、,就近来的发展来看,这些智能手机的类型有相融合的趋势。智能手机(SmartPhone) ,这个说法主要是针对,功能手机(FeaturePhone) ,而来的,本来并不意味着这个手机有多智能(Smart) ,从另一个角度来讲,所谓的智能手机(SmartPhone) , 就是一台可以随意安装卸载应用软件的手机(就像电脑那样) 。功能手机(FeaturePhone)是不能随意安装和卸载软件的,Java 的出现使后来的,功能手机(FeaturePhone)具备了安装 Java 应用程序的功能,但 Java 程序的操作友好性运行效率以与对系统资源的操作都比,智能手机(SmartPhone)差很多。2.1

16、.22.1.2智能手机的特点智能手机的特点智能手机的主要特点如下:(1)具有普通手机的全部功能,能够进行正常的通话,短信等的应用。(2)具有无线接入互联网的能力,即需要支持 GSM 网络下的 GPRS 或者 CDMA 网络下的 CDMA 1X 或者 3G 网络。(3)具有 PDA 的功能,如 PIM(个人信息管理) ,日程记事,任务安排,多媒体应用以与浏览网页等。(4)具有一个具有开放性的操作系统,在这个操作系统平台上,可以安装更多的应用程序从而使智能手机的功能可以得到补充。2.1.32.1.3主流智能手机系统主流智能手机系统4 / 351Symbian:Symbian OS(中文译音,塞班系

17、统)Symbian 是由诺基亚索尼爱立信、摩托罗拉西门子等几家大型移动通讯设备商共同出资组建的一个合资公司专门研发手机操作系统现已被诺基亚全资收购。Symbian 很想 Windows 和 Linux 的结合体,有着良好的开发界面,采用核与界面分离技术,对硬件的支持比较低,支持C+,VB 和 J2ME,兼容性较差。目前根据人机界面的不同 Symbian 体系的用户界面(User Interface,UI)平台分为 Series 60、Series 80、Series 90、UIQ 等。Series 60 主要是为数字键盘手机而设计 Series 80 是为完整键盘而设计 Series 90是为

18、触控笔而设计。2Windows PhoneWindows Phone 是微软发布的一款手机操作系统,它是微软旗下的 Xbox Live游戏,Zune 音乐与独特的视频体验整合至手机中。2010 年 10 月 11 日晚上 9 点 30分,微软公司正式发布了智能手机操作系统 Windows Phone。2011 年二月,微软与诺基亚达成全球战略同盟并深度合作共同研发。2012 年 3 月 21 日,Windows Phone 7.5 登陆中国。6 月 21 日,微软正式发布最新手机操作系统 Windows Phone 8,Windows Phone 8 将采用和 Windows 8 一样的核。W

19、indows Phone 具有桌面定制,图标拖拽,滑动控制等一系列前卫操作体验。其主屏幕通过提供类似仪表盘的体验来显示电子,短信,来电显示,日历约会等,让人们对重要信息保持时刻更新。它还包括一个增强触摸屏界面,更方便手指操作;Windows Phone,力图打破人们与信息和应用之间的隔阂,提供人们最优秀的端到端的体验。3LinuxLinux 是源于 PC 的移动操作系统,具有上面两个操作系统无法比拟的优势;其一,Linux 具有开放的源代码,能够大大降低开发成本;其二,Linux 既满足了手机制造商根基实际情况有针对性的开发自己的 Linux 手机操作系统的要求,又吸引了众多软件开发商对容应用

20、软件的开发,丰富了第三方应用。然而 Linux 操作系统有其先天的不足:入门难度大,熟悉其开发环境的工程师少,集成开发环境差;由于微软 PC 操作系统源代码不公开,基于 Linux 的产品与 PC 的连接性较差;尽管目前从事 Linux 操作系统开发的公司数量较多,但真正具有很强的开发实力的公司却又很少,尽管这些公司是处于相互独立的状态,很难实现很大的技术突破。最初摩托罗拉非常崇拜 Linux 平台,然而在和诺基亚的较量中不断失败,现在也不那么热心Linux 了,转而投向基于 Linux 的 Android 平台,其推出的 Android 手机很受关注。3BlackBerry5 / 35黑莓(

21、BlackBerry)是加拿大 RIM 公司推出的一种移动电子系统终端,其特点是支持推送是电子、手提、文字短信、互联网 、网页浏览以与其他无线资讯服务。黑莓最强大也是最有优势的方面是收发,然而在中国,用手机收发还不是很流行,所以黑莓在中国几乎没有多大的市场。4IOSIOS 是苹果公司(Apple.Inc.)公司手机产品 Iphone 专用智能手机系统。Iphone 由苹果公司首席执行官史蒂夫乔布斯在 2007 年 1 月 9 日举行的 Macworld宣布推出的,2007 年 6 月 29 日在美国上市。Iphone 将创新的移动,可触摸宽屏ipod 以与具有桌面与电子、网页浏览、搜索和地图功

22、能的因特网通信设备这三种产品完美地融为一体。Iphone 还开创了移动设备软件的新纪元,重新定义了移动的功能,有人这样评价 Iphone,Iphone 是一款革命性的,不可思议的产品,比市场上的其他任何移动设备领先了 5 年。 ,苹果公司的首席执行官史蒂夫乔布斯说:“手指是我们与生俱来的终级定点设备,而 Iphone 利用它们创造了子鼠标以来最具有意义的用户界面。 ”5AndroidAndroid 一词的本意是指“机器人” ,同时也是 Google 公司于 2007 年 11 月 5日宣布的基于 Linux 平台的开源手机系统名称,该平台由操作系统中间用户界面和应用软件组成,号称是收购为移动终

23、端打造的真正的开放和完整的移动软件。目前,Android 已成为市场上占有率最高的智能手机操作系统。2.22.2了解了解 androidandroidAndroid 平台是采用 Webkit 浏览器引擎,具有触摸屏,高级图形显示和上网功能,用户能够在手机上查看电子,搜索网址并观看视频节目,同时 Android 还具有比 I phone 等其他手机更强大的搜索功能,还可以说是一种融入全部 Web 应用的平台。2.2.12.2.1 androidandroid 产生的背景产生的背景Android 是 Google 公司开发的基于 Linux 平台的开源手机操作系统。Google 与开放手机联盟合作

24、开发了 Android,这个联盟包括中国移动、摩托罗拉、高通、宏达电(HTC)和 T-Mobile 在的 30 多家技术和无线应用的领军企业组成。Google 通过与运营商、设备制造商、开发商和其他有关各方面深层次的合作伙伴关系,希望借助建立标准化,开放式的移动软件平台,在移动产业形成一个开放式的生态系统。6 / 35开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和高昂的收入。但是,如果全球移动用户从中能获得的潜在的利益,是值得付出这些努力的。2.2.22.2.2androidandroid 的发展的发展2008 年 9 月 22 号,美国

25、运营商 T-Mobile USA 在纽约正式发布第一款 Google手机 T-Mobile G1。该款手机为中国宏达电子工制造,是世界上第一部使用Android 操作系统的手机,支持 WCDMA/HSPA 网络 ,理论上下载速度 7.2Mbit/s,并支持 Wi-Fi。2.32.3androidandroid 的特点的特点主要特点如下:1.应用程序框架,支持组建的重用于替换。2.Dalvik 虚拟机,专门为移动设备做了优化。3.部集成浏览器,该浏览器基于开源 Webkit 引擎。4.优化的图形库,包括 2D 和 3D 的图形库,3D 图库基于 OpenGL ES 1.0(硬件加速可选) 。5.

26、SQLite,用于结构化的数据存储。6.多媒体支持,包括常见的音频,视频和静态影像文件格式(如 MPEG4、H.264、MP3、AAG、AMR、JPG、PNG、GIF)7.GSM(依赖于硬件) 。8. Bluetooth、GDGE、3G 和 WIFI(依赖于硬件) 。9.照相机、GPS、指南针和加速度计(依赖于硬件) 。10.丰富的开发环境,包括设备模拟器、调试工具、存以与性能分析图表,以与Eclipse 集成开发环境插件。2.42.4AndroidAndroid 系统工作原理系统工作原理 2.4.12.4.1AndroidAndroid 的系统架构的系统架构Android 是一个层次结构,共

27、分为 4 层架构,分别是去顶层,JAVA 源码层、JAVA 虚拟环境以与应用环境层,如下图所示,从底层到高层分别是操作系统层(Linux,相关驱动) 、库(Libraries)和运行环境(Runtime) 、应用程序框架7 / 35(Application Framework) 、应用程序(Application) 。图 2-1系统机构图Android 系统的各个层次结合了多种高级程序设计语言。第一层由 C 语言实现,第二层由 C/C+实现,第三层和第四层主要由 JAVA 语言实现。从 Linux 操作系统的角度来看,第一层和第二层之间是核空间与用户空间的分界线,第一层运行于核空间,第二、三、

28、四层运行于用户空间。第二层和第三层之间是本地代码层和 JAVA 代码层的接口。第三层和第四层之间 Android 的系统 API 的接口,在开发 Android 应用系统时,只考虑如何调用系统 API,不能看到第三层以下的容。下面分别详细介绍各个层次:1.Linux 操作系统和驱动Android 系统核实际是 Linux 系统核,具有 android 的所有驱动程序,android 应用程序的开发主要依赖于 JAVA,但是 android 也提供了 NDK 编程,可以用 C+编写动态库提供 JAVA 定义的接口使用。2.Android 运行库Android 运行库与 JAVA 运行库有很大的相

29、似性,所不同的是他把 JAVA 中.jar8 / 35包封装为.DEX 包,以. DEX 的形式进行发布,但是与 JAVA 不同的是,他们用的虚拟机不同,JAVA 使用 JVM,而 android 使用的是 Dalvik 虚拟机。3.Android 应用程序框架Android SDK 的核心代码与其他编程库一样,使用很多 API,这些 API可以使得整个编程框架可重用,并且可以编写新的组件替换以前的组件,提高程序的可重用性。其中,Android 的源代码包括很多现成的服务,主要包括以下几方面:视图(View):用于构建用户界面,包括按钮、本文框、图层等。容提供器(Content Provide

30、r):容器用于访问其他程序的数据。资源管理器(Resource Manager):用于管理物理的资源包括图片、背景色等。通知管理器(Notification Manager):该部分用于通讯,产生消息在每个activity 之间进行消息的传递。活动管理器(Activity Manager):在总体布局文件中,注册 activity 和取消 activity 的注册,从而管理每个 activity 的生命周期。4.Android 应用程序Android 程序使用 JAVA 语言进行发布,这些程序中包括实现包含的应用程序,主要包括短消息应用程序(SMS) 、联系人管理程序、E-mail 客户端、日

31、历、地图、浏览器等。2.4.22.4.2AndroidAndroid 的程序结构的程序结构一个 Android 应用程序通常有下面 4 个组件组成:活动(Activity)、活动容接收器(IntentReceiver)、服务(Service)、容提供器(Co,tentProvider),不是每个程序都有这 4 个,可能你的程序只使用了其中一部分,一旦决定程序包含哪些组件时,就需要在 AndroidManifest.Xml 文件中列出它们。1ActivityActivities 是 4 个组件中最常用的,程序中,Activity 通常的表现形式是一个单独的界面(Screen),每个 Activi

32、ty 都是一个单独的类,它扩展实现了9 / 35Activity 基础类,这个类显示为一个由 views 组成的用户界面,并响应事件,大多数程序有多个 Activity。例如,一个文本信息程序有这么几个界面:显示联系人列表界面、写信息界面、查看信息界面或者设置界面等,每个界面都是一个Activity,切换到另一个界面就是载入一个新的 Activity,某些情况下,一个Act1vity 可能会给前一个 Activity 返回值一例如,一个让用户选择相片的Activity 会把选择到的相片返回给其调用者。2IntentReceiver当用户想执行一些与外部事件相关的代码时,比如来电响铃时,数据网络

33、可用时,或者半夜时做些事情,用户可能需要使用 IntentReceiver 没有 UI,尽管它们使用 NotificationManager 来通知用户一些好玩的事情发生了,ZntentReceiver 在AndridManifest.xml 文件中声明,不过开发者可以使用Context.registerReciever()来声明,程序没有必要运行来等待 IntentReceiver 被调用,当一个 IntentReceiver 被触发时,如何需要的话,系统自然会启动你的程序,程序也一可以通 Context#broadcastTntent()来发送自己的 Intent 广播给其他程序。3Ser

34、viceService 是一个没有 UI 且长驻系统的代码,最佳例子媒体播放器从播放列表中播放歌曲,媒体播放器程序中,可能有一个或多个 Activities 让用户选择歌曲播放,然而,在后台播放歌曲就无需 Activity 干涉了,因为用户希望在音乐播放同时能够切换到其他界面,既然这样,媒体播放器八 activity 需要通过Context.Startservice()启动一个 Service,这个 Service 在后台运行以保持继续播放音乐,在媒体播放器被关闭之前,系统会保持音乐后台播放 Service 的正常运行,LifeCycleofanAndroidAppliCation 提供更多有

35、关 Service 的信息,请注意,你可以用 conteXt.bindserviceo 方法连接到一个 Service 上如果 Service 未运行的话,连接后,还会启动它,连接上后,你就可以通过一个 Service 提供的接口与Service 进行通话,对音乐 Service 来说,则提供了暂停、重放等功能。4ContentProvider应用程序把数据存放一个 SQLite 数据库格式文件里,或者存放在其他有效设备里,如果你想让其他程序能够使用你自己程序的数据,ContentProvider 就很有用了,ContentProvider 是一个实现了一系列标准方法的类,这个类使得其他程序能

36、存储和读取某种 ContentProvider 可处理的数据。2.4.32.4.3工作机制工作机制10 / 35首先,对 Android 应用程序的思想的了解有利于进行 Android 相关应用程序开发。Android 应用程序并没有一个统一的入口,程序中的应用与应用之间是相互独立的,应用都运行在各自的进程当中,根据完成的功能不同,Android 划分了四类核心的组件类:Activity、Service、Broadcast Receiver 和 Content Provider;一样组件和不同组件之间的导航通过 Intent 来完成。同时对于可视化界面,例如菜单、对话框、下拉列表等,Andro

37、id 定义了 View 类来进行显示。ActivityAndroid 中,Activity 应用组件是应用程序的根本,Android 程序的流程全部在 Activity 之中运行,Activity 是 Android 最基本的一个模块,也是设计开发人员遇到的最频繁模块。在 Android 应用程序中,一般手机屏幕的一般就是 Activity,如果把手机终端比喻成一个浏览器,那么 Activity 等同于浏览器中一个网页。在 Activity 当中,设计者可以添加一些控件,例如 Button、Check box 等。可以看到 Activity 和网页的概念相似。一般一个 Android 应用是由

38、多个 Activity 组成的,这多个 Activity 之间可以进行相互跳转。Activity 是由 Android 系统进行维护的,它也有自己的生命周期,即它的一个产生、运行、销毁的一个周期,对于 Activity,关键是其生命周期的把握,其次就是状态的保存和恢复以与 Activity 之间的跳转和数据传输(intent)。Activity 有三种基本状态:Active 状态:处于屏幕前景,也就是当前 task 的栈顶 Activity 正处于 Active 状态,同一时刻只能有一个 Activity 处于 Active 状态;Paused 状态:处于背景画面状态,失去了焦点,但依然是活动

39、状态;Stopped 状态:不可见,但依然保持所有的状态和存信息。Service Service 作为 Android 系统四大组件之一 ,与 Activity 级别差不多,他可以跟其他的组件进行交互,但它只能在后台运行,不能自己运行。Service 是没有界面的长生命周期的代码,也就是说 Service 是这样一种程序,他可以运行很长时间,但是它却没有用户界面。Service 主要应用与多场合应用中,例如,检测 SDCard 文件的变化、后台中记录移动终端地理位置的变化,又或者是在播放音乐时,使用到别的 Activity,那音乐播放程序就需要在后台运行等等。11 / 35Broadcast

40、ReceiverBroadcast Receiver 通常是用于接收和处理广播通知 (broadcast announcements)。大部分的广播都是系统自发发起的,当然程序能播放一个广播,但如果程序认为有多个通知都很重要,都需要获得响应。那么,程序通过启动数个 Broadcast Receiver 对 Intent 进行监听并随时查看 Intent 的容,Broadcast Receiver 通知用户方式有多种,使得用户收到有通知需要查看的信息。Content ProviderContent Provider 是 Android 提供的第三方应用数据的访问方案。在 Android 系统中,

41、各种组件运行在不同的组件上,这意味着数据的共享性,Content Provider 作为应用程序四大组件之一,它起到在应用程序之间共享数据的作用,同时,它还是标准的数据访问接口。Content Provider 部通常通过强大数据库支持Sqlite 实现。Content Provider 也可以封装文件数据与其他混合的数据。ViewView 主要用于展示可视化界面,它属于 Android 图形用户界面的基类。Android 的图形界面展示可分为三层:底层是 Activity,Activity 上面Window,Window 上面是 Views。View 又分为 View 和 ViewGroup

42、 ,View 是指基本的控件,例如按钮、单选框、多选框、菜单等;ViewGroup 是指布局控件,即用来控制界面中的控件如何布局摆放的。Android 的 Intent通常,一个 Android 应用,主要有四部分组件组成,这四种组件是相互独立的,而 Intent 协调四种不同组件间的相互工作。Intent 通过对四种组件之间导航查找的条件的封装,为 Android 四种组件之间的通讯起协助完成的作用,从而使之组成一个完整的、真正意义上的 Android 应用。Intent 负责进行描述,包括了对应用中一次操作的动作、动作涉与数据、附加数据的描述,Android 根据 Intent 的描述,找

43、到程序中对应的组件,并给调用的组件传递相关的 Intent,完成组件的调用,因此,Intent 主要是作为一个媒体中介,专门为组件互相调用提供信息,实现调用者与被调用者之间的解耦。在 Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。动作部分,典型的包括了 Main(Activity 的入口)、View、Pick、Edit 等,而数据部分,通常使用 URI 形式来表示。就如,如果需要查看某人的联系方式,首先需要创建 Intent,其动作类型为 View,数据则是指向某人的 URI。2.4.42.4.4开发环境开发环境12 / 35Android 的开发环境和调试工具完全免费

44、,而且功能强大,因此,Android 的开发成本相对于 Apple 工 0S 的系统开发成本要简单和低的多 ,AndroidSDK 主要是以Java 为基础,用户可以使用 Java 语言来开发 Android 平台上的软件应用,通过 SDK提供的一些工具将其打包成 Android 平台使用的 apk 文件,然后用 SDK 中的模拟器(Emulator)来模拟和测试软件在 Android 平台上运行情况和效果。Basic4android 是一个简单然而功能非常强大的 Android 应用;Basic4android语言类似于 Visual Basic 语言,支持更多的对象;Basic4andro

45、id 将代码编译成Android 原生(native)应用,无需其它运行环境的支持。与其它的集成开发环境不同,Basic4android 是完全用于 Android 应用开发的开发工具,不支持其它平台。Basic4android 包含一个强大的 GUI 设计器,建对多屏和坐标的支持,不需要开发者再写 XML。开发者可以在 Basic4android 环境下利用 Android 模拟器或Android 物理设备(利用 USB 连接或通过本地网络连接)进行程序开发和调试。Basic4android 带有丰富的库函数,支持所有的 Android 核心特性,因而使其非常容易进行高级应用开发。这些库函数

46、包括:SQL 数据库、GPS、串口(蓝牙) 、照相机、XML、JSON、Web 服务( ) 、后台服务、动画、网络(TCP 和 UDP) 、文本阅读(TTS)和声音识别、Web 浏览、移动广告、图表、OpenGL、图像,等等。Basic4android 支持 Android1.6 与以上版本(包括平板电脑) 。2.4.52.4.5 AndroidAndroid 源代码结构源代码结构Android 代码的工程分为三个部分:a.核心工程:主要包括 android 工具、android 平台以与 android 核心代码。b.扩展工程:包括其他的可以扩展编程的工具,用户连接其他的系统c.包(Pack

47、age):主要包含了 JAVA 的源代码,用于实现通讯等功能。2.4.62.4.6AndroidAndroid 的编译的编译直接执行 Android 系统根目录下的 Makefile 文件,目录中具有一个编译文件叫做 android.mk,用于编译容与具体位置无关。Android 系统编译完成的结果全部在其根目录的 out 目录中,在其他目录中没有容。编译的结果包括主机工具、目标机程序、目标机映像文件、目标机 Linux 核(需要单独处理) 。13 / 353 3基于基于 AndroidAndroid 的实验室课程管理系统的实验室课程管理系统- -预约子系统的需求分析预约子系统的需求分析3.1

48、3.1功能需求分析功能需求分析开发 Android 实验室预约系统是一项复杂的系统工程,我们可以通过功能模块14 / 35化的办法来将不同的功能分门别类来进行分析,这样既可以将整体结构变得清晰,也可能可以使注意力集中至某一类功能上。通过详细的分析实验室课程预约系统,我们将该系统分为:登录模块、预约信息模块和实验室课程预约模块三大模块。3.1.13.1.1用户登录验证功能分析用户登录验证功能分析这个模块主要是实现学生或老师登录与验证功能。用户可以通过此模块进行登录,进入实验室课程预约系统。具体功能如下: 用户图 3-1登陆功能示意图在登陆界面,学生或者老师可以用自己的学号或者工号,密码默认为学号

49、或者工号后六位。在服务器上输入信息后,服务器会自动将信息和数据库中的数据机进行比较,来确定该用户的信息是否存在,然后确定该用户是否有权限进入该系统。3.1.23.1.2实验室预约信息功能分析实验室预约信息功能分析在此模块中,我们希望学生或者老师能够看到自己预约信息以与预约历史记录。从而清晰地反映出他实验室的预约情况。该模块显示的前提是数据库中有这个用户的数据记录,具体功能如下: 用户登录 登录 数据库 预约信息 数据库15 / 35 用户图 3-2预约功能示意图如图所示,在此过程中,客户端先向预约系统发送学生或者老师的 ID 预约信息请求,系统接到请求后将进入数据库进行查找,若用户信息存在,则

50、显示用户的先关预约信息。如果不存在则不显示任何信息。3.1.33.1.3实验室预约功能分析实验室预约功能分析实验室预约功能是该应用的核心模块,该模块主要是处理用户的预约要求,并由此生成用户数据,该预约数据将会显示在预约信息页面。此模块主要功能是,用户输入预约实验室课程的详细信息,然后可选择确认或者取消。若是确认,系统将数据送到数据库,然后把当前数据与数据库中已有的数据进行比较,若无冲突,则会在预约信息模块显示预约成功,否则预约失败。具体功能如下:已预约信息实验室课程预约 预约信息16 / 35 用户图 3-3预约功能分析示意图4 4基于基于 AndroidAndroid 的实验室课程管理系统的

51、实验室课程管理系统- -预约子系统的设计与测试预约子系统的设计与测试4.14.1开发环境的搭建开发环境的搭建4.1.14.1.1安装安装 AndroidAndroid SDKSDK 和和 Basic4androidBasic4android1.安装 Basic4android 之前,需要先安装以下两个组件:数据库17 / 35 Java JDK Android SDK 安装方法:第一步,安装 Java JDK。在 Java JDK 下载页面下载 Windows x86 版本的 JDK(Java SE 即可) ,然后安装到你喜欢的目录下,例如,一般安装到 D:Java 目录下。第二步,安装 An

52、droid SDK 与相应的工具。在这一步中应安装 Android 平台工具与至少一个版本的 Android。可以使用 API 8 与以上版本,推荐使用 API 8。如果需要用 USB 直接连接到物理设备上,也可以安装 Google USB 设备驱动程序。图 4-1程序安装示意图点击,Install Selected,按钮将安装所选择的组件。1.安装和配置 Basic4android打开 Basic4android,执行,Tools,菜单下的,Configure Paths,命令,弹出路径配置对话框18 / 35图 4-2程序安装示意图在此对话框中配置 javac.exe 和 android.

53、jar 的安装路径,以与附加的Basic4android 库。2.安装 Android 模拟器运行 Basic4android,执行,Tools,菜单下的,Run AVD Manager,命令,稍等片刻,将出现 SDK 管理器窗口,如图图 4-3程序安装示意图执行上面窗口中,Tools,菜单下的,Manage AVDs,命令,将出现AVD(Android virtual device)管理器窗口,如下图所示。19 / 35图 4-4新建 AVD 点击,New,按钮,出现创建新的 AVD 对话框。在该对话框中填写相应容,如图所示20 / 35图 4-5AVD 参数设置点击,OK,按钮,将会创建一个新的 AVD,如图21 / 35图 4-6程序安装示意图点击图上中的,Start,按钮,经过几个窗口闪烁之后,将出现模拟器启动窗口图 4-7模拟器启动示意图等待几分钟,以便模拟器准备就绪。完全启动后的模拟器22 / 35图 4-8锁屏情况下的模拟器4.24.2核心模块的实现核心模块的实现4.2.14.2.1登录模块登录模块具体调用流程如下: 验证 验证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论