资源描述
Android平台校园信息管理系统的开发与实现
——以校园微活动管理为例
摘 要
校园活动是校园生活中不可缺少的组成部分,通过活动,参与的学生既可以获得乐趣,也可以锻炼能力。但是,目前的校园活动存在着知情范围小,宣传不到位,事后无法获取评论信息等问题,因此,有必要构建一套基于网络的管理系统,提供活动管理效率。
针对目前在校园活动中存在的问题,通过对相关业务流程和参与者的调研分析,充分利用网络的信息传播优势,以及移动智能终端的便捷性优势,基于Android平台设计开发了一套校园移动化的微活动管理系统。针对校园活动宣传力度小,参与人员相对固定,拓展困难等问题,采用微发布技术和自动推送技术,构建校园活动推荐功能模块,根据学生的个人属性,结合其兴趣爱好,主动推送活动信息,一方面扩大活动信息的传播范围,另一方面,也为学生提供了更为广泛的活动信息渠道;针对校园活动的组织需要经过学校管理部门的审批,相关材料准备繁琐,效率低下的问题,采用工作流技术,结合移动终端信息处理,实现活动申请的在线提交、审批,有效地提高了处理速度,同时,审批人员可以通过该功能发送相关注意事项,使申请人可以及时获取相关信息;针对目前校园活动结束以后,很多参与者的意见无法较好收集,无法对活动进行较好总结的问题,设计开发了活动评价功能,采用打分与评价相结合的方式,通过大量的参与者的评分信息,对活动举办是否成功进行评估,并为下一次活动的组织提供指导;针对目前校园活动的参与者有限的问题,采用网络微直播技术,通过照片、视频等方式,对活动的现场进行直播,使更多的学生可以通过网络平台或者移动智能终端,获取现场的活动信息。
本文基于需求分析,对校园微活动管理平台进行了系统架构设计,并对系统中的主要功能模块进行详细设计。在具体的实现过程中,移动终端采用Android技术,后台采用Java Web进行开发,在交互上,通过JSON实现数据信息的表示。通过测试,在无线网络环境下,移动终端资源占用量少,运行稳定,同时后台可以较好地应对大规模的并行访问。
校园微活动管理平台改变了目前校园活动的组织模式,充分利用了网络平台和移动智能终端的优势,不但能够丰富活动内容,提高活动组织效率,而且有效地提高了学生对于参加活动的积极性,因此,具有较好的实用价值。
关键词:Android校园信息管理;校园微活动管理;校园数字化;Java技术
49 / 49
Abstract
Campus activities are an integral part of campus life, through the activities, participate in the students can have fun, can also exercise ability. The current campus activities, however, there is knowledge of small, propaganda does not reach the designated position, later can't comment on information, therefore, it is necessary to build a set of management system based on network, provide the activity management efficiency.
Aiming at the existing problems in campus activities, through the investigation and analysis of the related business process and the analysis, make full use of the advantages of network dissemination of information, the convenience and advantages of mobile intelligent terminal Android platform, designed and developed a set of campus mobile micro activity management system based on. For the campus propaganda activities involved in small, relatively fixed, the problem is difficult to expand, using micro release technology and automatic push technology, the construction of campus activities recommendation module, according to the personal attributes of students, with their hobbies, take the initiative to push information, on the one hand expand the scope of the dissemination of information, on the other hand, it provides students with more information on campus wide channels; the activities of the organization must be approved by the administration, related materials preparation is tedious, the problem of low efficiency, using workflow technology, combined with the mobile terminal information processing, online submission and approval activities, effectively improve the processing speed, at the same time. The examination and approval personnel can through the function of sending related matters needing attention, the applicant can timely access to relevant information for the purpose; After the end of campus activities, many participants can collect opinions, to better summarize the problem of design and development activities, activity evaluation function, the scoring and evaluation of the combination of the way, through a large number of participants score information, evaluate the success of activities, and provide guidance for the next event in view of the current campus organization; the activities of the participants is limited, the micro network broadcast technology, through photos, video, the activities of the scene to live, so that more students can through the network platform or mobile intelligent terminal, to obtain the information on the activities.
The paper designed system architecture of campus micro activity management platform based on the demand analysis, and designed the main function modules of the system in detail. In the specific implementation process, the mobile terminal using Android technology, the background using Web Java development, interaction, through the JSON to achieve data representation. By testing, in the wireless network environment, the mobile terminal resources occupy less, stable operation, while the background can better deal with large-scale parallel access.
Campus micro activity management platform to change the current campus activities organization mode, make full use of the network platform and the advantages of mobile intelligent terminal can not only enriched the contents of the activity and improve the efficiency of activities organization, and effectively improve the enthusiasm of the students to participate in the activity, therefore, has good practical value.
Key words: campus information management base on Android; campus micro activity management; campus digitalization; Java Technology
目 录
摘 要 1
Abstract 2
目 录 4
第1章 绪论 6
1.1 研究背景和意义 6
1.2 国内外研究现状 7
1.3 主要研究内容及章节安排 8
第2章 理论基础与关键技术 10
2.1 管理信息系统理论 10
2.2 Android系统概述 11
2.2.1 Android系统框架 11
2.2.2 Android应用框架 13
2.3 JSON 14
2.4 本章小结 14
第3章 校园微活动管理平台需求分析 15
3.1 主要业务流程分析 15
3.1.1 活动申请业务流程分析 15
3.1.2 校园活动信息发布业务流程分析 16
3.1.3 校园活动现场报道业务流程分析 16
3.1.4 校园活动反馈信息业务流程分析 17
3.2 系统功能需求分析 17
3.2.1 系统参与者分析 17
3.2.2 系统主要用例分析 21
3.3 系统性能需求分析 23
3.4 本章小结 24
第4章 校园微活动管理平台的设计 25
4.1 系统设计目标 25
4.2 系统总体设计方案 26
4.2.1 系统功能架构设计 26
4.2.2 系统逻辑架构设计 27
4.2.3 系统物理架构设计 28
4.2.4 系统数据架构设计 30
4.3 虚拟资源调度算法的设计 31
4.3.1 预处理环节的设计 32
4.3.2 执行环节的设计 35
4.4 本章小结 37
第5章 校园微活动管理平台的实现 38
5.1 系统的开发环境配置 38
5.2 系统功能的实现 38
5.2.1 活动申请功能的实现 38
5.2.2 信息发布功能的实现 40
5.2.3 现场转播功能的实现 43
5.3 本章小结 44
第6章 总结与展望 45
致 谢 46
参考文献 47
第1章 绪论
学校教育就是全方位发展模式,而作为高校教育的重要组成部分,各种丰富多彩的校园活动越来越受到各方面的重视。校园活动可以拓展学生的眼界,培养锻炼组织者与参与者的能力,提高学校的影响力,因此,有必要对校园活动进行研究,建立高校的管理机制,并研发相应的管理系统,以提高校园活动的管理效率。
1.1 研究背景和意义
加强和发展教育事业向来是我国的基本国策,特别是近年来,素质教育改革对各级学校都提出了较高的要求,特别是在高等教育院校中,各类学生组织的活动团体,利用课余时间举办各类活动,极大地丰富了学生的校园生活[1]。同时,学校根据实际的需求,不定期地举办学术讲座、参观见学等活动,也拓展了学生的视野,取得了较好的效果。但是,随着高校学生数量的不断增加,而教学及活动资源相对有限,目前在活动组织管理方面暴露出来的问题越来越多,主要包括:
1、校园活动数量越来越多,规模越来越大,学校目前的管理模式显得力不从心[2]。校园活动需要占用学校的相关资源,如灯光球场、多功能厅、礼堂等,而这些资源大多是独占性的,目前的管理模式无法及时地更新资源的占用情况,导致不同的校园活动之间相互冲突。同时,学校管理层也没有一套有力的管理平台,实现对众多校园活动的统一管理。
2、校园活动的组织流程较为繁琐,大多数学校采用的是线下申请的方式,组织者需要填写相关的申请材料,提交给学校管理部门审批通过后,才可以进行下一步的活动准备工作。这一方式效率低下,耗费时间较长[3]。
3、校园活动的影响面有限。目前对于校园活动信息的发布主要是基于宣传栏或者发放宣传单的方式,受众面较少,无法有效扩展活动的影响力。有的学校利用校园网的BBS功能,对相关的活动信息进行发布,但也存在着受众目标不明确,效果不佳等问题。
4、校园活动的参与人员范围有限,更多想参与的学生无法参加。某些讲座活动较为热门,但场地的容纳能力有限,仅有部分学生能够参与,更多的学生则无法参加,使活动的资源无法得到充分地利用。
5、校园活动缺乏反馈途径。校园活动在完成以后,对于学生对活动的评价没有有效的路径进行搜集,而从校园网论坛上获取到的反馈信息常常是片面的,不完整的,导致学校无法根据学生的反馈对校园活动进行客观的评估[4]。
校园微活动管理平台能够较好地解决上述问题。平台利用网络的信息共享及交互优势,结合校园微活动的特点,设计开发相应的功能,能够有效地提高学校对校园活动的管理能力,简化活动审批流程,拓展校园活动的影响力,能够使更多的学生能够参与到校园活动中,并提高互动性。同时,系统利用数据分析处理等技术,能够提高校园活动管理的智能化水平,为用户提供更好的使用体验。校园微活动管理平台的设计与开发具有重要的实用价值。
1.2 国内外研究现状
校园微活动管理平台属于开放式平台,校园内的师生以及管理者都可以登录平台使用其功能,与之类似的平台包括BBS平台等,但两者功能不同,面向的群体也不同[5]。国外对于开发平台的建设和发展较为成熟,以Facebook为代表的开放式平台已经得到了普及,成为网络上主流的交流平台,而国外其他的IT行业巨头,如谷歌、微软等,也相继开发了基于开放平台的产品,并制订和实施了相关战略,从而顺应互联网信息科技的发展趋势[6]。谷歌公司的社交应用平台名为OpenSocial,该平台能够为用户提供日常所需要的主要功能,基于该平台用户可以建立起自身的社交网络,分享文字、照片等内容,并可获取其所需要的信息内容[7]。此后不久,微软公司基于Web平台推出了一系列的开放平台应用, 更为重要的是,微软开入了其旗下主流产品的API,如MSN Search等,并研究发布了相关的开发工具,使更多的开发人员可以基于微软提供的平台,根据自身的应用需求,设计开发出更好地开放平台系统。此外,Flickr,Youtube等互联网企业也纷纷效仿,开放平台的构建逐渐成为互联网的发展趋势[8]。
我国在互联网开放平台的研究和应用方面主要是受到了国外发展的刺激和启示,很多互联网公司利用其在国内互联网领域的资源优势,构建自身的应用平台[9]。其中,新浪公司对其旗舰产品新浪微博进行了升级,增强了产品的功能,使产品更贴近于用户的使用习惯,特别是其对在智能移动终端上应用体验的改进,使新浪微博迅速成为国内互联网博客类信息的主要发布平台[10]。百度公司顺应开放平台的发展趋势,相继开发了众多的应用产品,如百度文库、百度地图、百度导航、百度阅读等,并收购了著名的团购网站糯米网,构建了百度糯米,基于互联网建立起各个领域的开放平台,占据了大量的市场份额。腾讯公司近年来推出了大量的开放平台产品,如腾讯微博、QQ团购等,并开放了部分产品的API,有效地提高了其产品的市场占有率,特别是腾讯公司推出的微信产品,基于移动互联网建立起了一个功能强大的交流平台,满足了用户社交应用的需求,目前微信成为了智能手机终端的标配,用户达到了数亿[11]。其他的互联网企业也推出了其自身的品牌,如人人网开放了其API,构建了开放平台测试版本,受到了用户的欢迎,同时也受到了第三方软件开发商的欢迎,锐易通公司设计了多款微游戏,嵌入到人人网平台,不仅使自身产品的用户数量剧增,而且为人人网也吸引了大量的用户[12]。
在国外,美国学者华勒最早关注“校园活动”这个概念,1932年,出版《教育社会学》,书中第一次提出了“学校"这个概念,并把它定义为“学校中形成的特别"[13]。国外的校园活动管理已经比较成熟,一些西方发达国家都建立了具有自己本国特色的校园活动管理,美国高校校园活动管理的特点有:更加尊重学生校园活动的主体地位、更加注重大学多元的交叉与融合及更加强调和重视对学生创新和实践能力的培养[14]。国外的高校校园形成了一种高校特有的现象,从上个世纪90年代 始成为了一种融合了管理、道德、人文与科技的综合性。国外的高校校园既是国外社会教育变革在高校的折射,同时又具有相对独立性,并影响其所在国家社会的发展[15]。
我国的高校缺乏对校园活动管理的理论研究和系统规划。虽然有部分高校出台了校园活动项目化管理的相关实施办法,但是我国大部分的高校对高校校园活动的管理的认识和研讨不够[16]。加上高校对校园建设由于缺少必要的设计和总体规划。使校园建设在目标、任务、方向、措施、相关人员培训、效果等方面表现出盲目性、临时性、应付性[17]。国内校园活动的研究者对于把项目化管理引入高校校园活动的管理中来,已经并始形成一个研究方向,但是最终还是多半形成在文字上,应该把项目化管理落实到高等院校的校园活动管理中去,形成校园活动管理的一个具体的可操作性模式。
1.3 主要研究内容及章节安排
校园微活动管理平台的构建主要是解决目前校园活动组织难度大,管理不到位,影响力不够,反馈机制不健全等问题。论文主要的研究内容包括:
1、针对目前在校园活动中存在的问题,通过对相关业务流程和参与者的调研分析,充分利用网络的信息传播优势,以及移动智能终端的便捷性优势,基于Android移动平台,设计开发了一套移动化的校园微活动管理平台。
2、针对校园活动宣传力度小,参与人员相对固定,拓展困难等问题,采用微发布技术和自动推送技术,构建校园活动推荐功能模块,根据学生的个人属性,结合其兴趣爱好,主动推送活动信息,一方面扩大活动信息的传播范围,另一方面,也为学生提供了更为广泛的活动信息渠道;
3、针对校园活动的组织需要经过学校管理部门的审批,相关材料准备繁琐,效率低下的问题,采用工作流技术,结合移动终端信息处理,实现活动申请的在线提交、审批,有效地提高了处理速度,同时,审批人员可以通过该功能发送相关注意事项,使申请人可以及时获取相关信息;
4、针对目前校园活动结束以后,很多参与者的意见无法较好收集,无法对活动进行较好总结的问题,设计开发了活动评价功能,采用打分与评价相结合的方式,通过大量的参与者的评分信息,对活动举办是否成功进行评估,并为下一次活动的组织提供指导;
5、针对目前校园活动的参与者有限的问题,采用网络微直播技术,通过照片、视频等方式,对活动的现场进行直播,使更多的学生可以通过网络平台或者移动智能终端,获取现场的活动信息。
6、本文基于需求分析,对校园微活动管理平台进行了系统架构设计,并对系统中的主要功能模块进行详细设计。在具体的实现过程中,移动终端采用Android技术,后台采用Java Web进行开发,在交互上,通过JSON实现数据信息的表示。通过测试,在无线网络环境下,移动终端资源占用量少,运行稳定,同时后台可以较好地应对大规模的并行访问。
论文的章节安排如下:
第1章为绪论,主要讨论校园微活动管理平台研究的背景和意义,分析了目前在活动管理方面存在的问题,讨论了国内外在开放平台研究建设方面的发展情况,阐述了主要研究内容。
第2章为理论基础和关键技术,主要讨论了校园微活动管理平台设计开发所涉及到的理论和技术,包括管理信息系统理论、Android相关技术等。
第3章为平台系统需求分析,主要是根据软件工程的相关理论和技术的要求,对微活动管理平台的功能和性能指标进行分析。
第4章为平台系统的设计,首先确定系统的设计目标,然后从功能架构、逻辑架构、部署架构等方面进行方案设计,并详细设计了系统的主要功能模块。
第5章为平台系统的实现,利用高级编程语言,结合所选择采用的系统构建技术,详细阐述功能的实现过程,并通过测试用例,验证系统能够在实际应用中发挥良好的作用。
第6章为总结和展望,对课题的研究工作进行总结,分析目前平台系统存在的问题,并指出下一步的研究方向。
第2章 理论基础与关键技术
本课题所研究的校园微活动管理平台主要是在管理信息系统理论的指导下,基于Android平台进行设计开发,后台采用Java EE技术实现校园微活动的服务管理,同时,为了实现移动终端和后台系统的有效交互,在通信中采用JSON表示数据。
2.1 管理信息系统理论
校园微活动管理系统是属于管理信息系统,而管理信息系统是目前在计算机应用领域最为常见的一种方式。管理信息系统中包括操作者、计算机、以及其他的一些外围设备,其主要的作用是以信息作为研究的对象,通过对信息的各类处理,实现系统的主要功能[18]。
管理信息系统的产生是为了解决人们在生产生活过程中出现的各类问题,所以信息系统与社会之间都能够建立起对应的关系。在此过程中,计算机技术是支撑平台,也是信息系统发展的推动力,它在系统的领域,以软件的观点对社会中的关系和对象进行了抽象的表达[19]。社会中的各个对象与管理信息系统中的各个节点相对应,而社会中各对象之间的关联以及交互,则是与管理信息系统中的数据和消息相对应。管理信息系统的作用是利用自动化处理技术提升事务处理效率。
管理信息系统包括很多的内容,在不同的领域有着不同的展现形式,其中较为常用的包括辅助决策系统、工业领域的自动化控制系统、用于机关和企事业单位的办公自动化系统等,同时,作为管理信息系统的支撑,各类模型、方法 、算法等也都是属于管理信息系统的范畴,计算机信息技术自身的发展也给管理信息系统的发展起到了十分重要的促进作用,特别是网络的发展,使管理信息系统在数据交互、资源共享等方面有了更大的拓展[20]。
管理信息系统无论以什么样的形式存在,都需要考虑四个方面的因素,一是信息需求,要求有明确的需求规划,也就是要知道干什么事情;二是信息的可处理性,也就是处理的信息对象要能够被采集和加工;三是能够为操作者提供其所需要的内容,这涉及到了信息反馈的问题;四是可以通过各类方法对系统中的信息数据进行管理。管理信息系统的基础是数据库管理系统,几乎所有的管理信息系统都涉及到对数据的处理,数据库系统负责对数据的持久化操作,而基于数据,可以利用智能的数据挖掘算法等,实现隐藏数据的挖掘处理。
管理信息系统的设计与开发虽然在各个不同的生产、生活应用领域有所不同,但从大体上看,都需要经过以下几个方面[21]:一是对目前的工作流程进行讨论分析,发现目前存在的主要问题,提出基于信息化技术的解决方案;二是制定相关的规章制度,运用科学的方法进行管理;三是对系统不断地进行评估和改进,使其能够更好地满足使用需求。
管理信息系统的设计与开发具有一定的原则,首先是要有创新性,要能够在一些关键点有所突破;二是要注重整体性,应该根据信息的处理流程,结合各个处理环节,使其能够形成全力;三是超前意识,要综合技术的成熟度和创新性,对系统的功能进行构建;四是经济方面,要贴近工作实际,解决实际的问题[22]。
2.2 Android系统概述
Android是一种基于Linux平台的、开源的、智能移动终端的操作系统,主要使用于便携设备,Android操作系统最初由Andy Rubin开发,主要支持手机设备[36]。2005年由Google收购注资,并召集多家制造商组成“开放手机联盟”对其进行开发改良,并逐渐扩展到平板电脑及其他领域,近年来逐渐成为主流的移动终端操作系统之一。
2.2.1 Android系统框架
Android 是执行于Linux内核之上、一种自由及开放源代码的操作系统。在体系结构上,分为四层,分别是应用层(Application)、应用框架层(Application Framework)、系统运行库层(Libraries)和Linux内核层(Linux Kernel),具体如图2.1所示。
图2.1 Android系统框架
(1)应用层(Applications)
应用层(Applications)是指运行于Android虚拟机上的程序,也就是开发者们平时开发的“手机应用”。在系统应用层里,我们可以通过Android提供的组件和API进行开发,从而编写出形形色色、丰富多彩的移动软件和游戏。
(2)应用框架层(Application Framework)
应用框架层(Application Framework)是Android应用开发的核心,为开发者开发应用时提供基础的API框架。当然,Android本身的很多核心应用也是在这层的基础上开发的。
(3)系统类库层(Libraries)
为了支持上层应用的运行,Android会通过系统类库层(Libraries)中的一些比较底层的C和C++库来支持我们所使用的各个组件或者模块。以下列举一些比较重要的类库的功能,这个部分大家了解即可。
Surface Manager:负责管理显示与存储之间的互动,以及对2D绘图和3D绘图进行显示上的合成。Android中的图形系统实际上采用的是C/S结构,Client端就是应用程序,而Server端是Surface Flinger,Client端通过Binder向Server端的Surface Flinger传输图像数据,最终由Surface Flinger合成到Frame Buffer中,然后在屏幕上显示出来。
Media Framework:Android的多媒体库,该库支持多种常见格式的音频和视频的播放、录制等各种操作,比如JPG、PNG、MPEG4、MP3、AAC、AMR等。
SQLite:Android自带的关系数据库,可用于存储复杂数据。
OpenGL/ES:3D效果库,主要用于3D游戏开发。
FreeType:支持位图、矢量、字体等。
WebKit:Android的Web浏览器内核(和iOS一样)。
SGL:2D图形引擎库。
SSL:安全数据通信支持。
Libc:也就是Bionic系统C库,当前支持ARM和x86指令集。该库非常小巧,主要用于系统底层调用,在NDK中经常会使用到。
(4)系统内核层(Linux Kernel)
Android内核具有和标准的Linux内核一样的功能,主要实现了内存管理、进程调度、进程间通信等功能。就最新的Android内核源码树的根目录结构来看,Android 内核源码与标准 Linux 内核并无不同;但是,经过与标准 Linux 内核源代码进行详细对比,可以发现Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在着不同。当然,了解它们之间的区别对进一步了解Android系统是有很大帮助的,下面我们从几个方面来分析两者之间的异同。
文件系统:不同于桌面系统与服务器,移动设备采用的大多不是硬盘而是 Flash 作为存储介质。因此,Android 内核中增加了标准 Linux 专用于 Flash 的文件系统 YAFFS2[37]。YAFFS2 是日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外断电对文件系统一致性和完整性的影响。经过测试证明,YAFFS2 性能比支持 NOR 型闪存的 JFFS2 文件系统更加优秀。YAFFS2对Nand-Flash芯片也有着良好的支持。
进程间通信机制:Android 增加了一种进程间的通信机制 IPC Binder。Binder 通过守护进程 Service Manager 管理系统中的服务,负责进程间的数据交换。各进程通过 Binder 访问同一块共享内存,以达到数据通信的机制。从应用层的角度看,进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据,也只需与程序框架接口进行交互,方便了程序员开发需要交互数据的应用程序。
内存管理:在内存管理模块上,Android 内核采用了一种不同于标准 Linux 内核的低内存管理策略。Android 系统采用的是一种叫作 LMK(Low Memory Killer) 的机制,这种机制将进程按照重要性进行分级、分组,内存不足时,将处于最低级别组的进程关闭,保证系统是稳定运行的。同时,Android 新增加了一种内存共享的处理方式 Ashmem(Anonymous Shared Memory,匿名共享内存)[38]。通过Ashmem,进程间可以匿名自由共享具名的内存块,这种共享方式在标准 Linux 当中也是不被支持的。
电源管理:由于 Android 主要用于移动设备,电源管理就显得尤为重要。不同于标准Linux内核,Android 采用的是一种较为简单的电源管理策略,通过开关屏幕、开关屏幕背光、开关键盘背光、开关按钮背光和调整屏幕亮度来实现电源管理,并没有实现休眠和待机功能。目前有三种途径判断调整电源管理策略:RPC调用、电池状态改变和电源设置。系统通过广播 Intent 或直接调用 API 的方式来与其他模块进行联系。电源管理策略同时还有自动关机机制,当电力低于最低可接受程度时,系统将自动关机。另外,Android 的电源管理模块还会根据用户行为自动调整屏幕亮度。
驱动及其他:相对于标准内核,Android 内核还添加了字符输出设备、图像显示设备、键盘输入设备、RTC 设备、USB Device 设备等相关设备驱动,增加了日志(Logger)系统,使应用程序可以访问日志消息,使开发人员获得更大的自由。
2.2.2 Android应用框架
Android的应用框架是一个庞大的体系,一般来说,Android应用框架中包含四个核心要点,即活动(Activity)、消息(Intent)、视图(View)和任务(Task)[39]。在这四个要点中,Activity是基础,Intent是关键,View是必要工具,而Task则是开发的脉络。对于开发者来说,只有掌握了Activity、Intent、View和Task这几个核心要素之后,才能够做出多种多样的应用程序。
(1)活动
活动(Activity)是Android应用框架最基础、最核心的内容和元素,每个Android应用都是由一个或者若干个Activity构成的。在Android应用系统中,Activity的概念类似于界面,而Activity对象我们通常称之为“界面控制器”(从MVC的角度来说)。从另一个角度来理解,Activity的概念比较类似于网站(Web)开发中“网页”的概念。此外,当Android应用运行的时候,每个Activity都会有自己独立的生命周期。
其实,在Android系统内部有专门的Activity堆栈(Stack)空间,用于存储多个Activity的运行状态。一般来说,系统会保证某一时刻只有最顶端的那个Activity是处于前端的活动(foreground)状态。
(2)消息
在Android应用系统中,我们常常把Intent称为消息,实际上,Intent本身还是一个对象,里面包含的是构成消息的内容和属性,主要属性有:组件名称(ComponentName)、动作(Action)、数据(Data)、类别(Category)、附加信息(Extras)、标志(Flags)。在Android应用中,消息(Intent)的使用方式通常有两种,一是显式消息(Explicit Intent),另一个则是隐式消息(Implicit Intent)。显式消息的使用比较简单,只需要在Intent中指定目标组件名称(也就是前面提到的ComponentName属性)即可,一般用于目标Activity比较明确的情形。而隐式消息则比较复杂一点,它需要通过消息过滤器(IntentFilter)来处理,一般用于目的性不是那么明确的情形,比如应用中的某个功能需要往目的地发送消息,但是却不确定要使用短信发送还是微博发送,那么这个时候就应该使用隐性消息来处理了。
(3)视图
视图(View)系统主管Android应用的界面外观显示,因此也称作Android UI系统,是Android应用框架中最重要的组成部分之一。Android应用框架的View System包含View和ViewGroup两类基础组件。
(4)任务
简单来说,当在手机的应用列表(Application Launcher)中点击某个应用图标的时候,一个新的Task就启动了,后面的操作可能会涉及多个应用中不同Activity的界面,而这些Activity的运行状态都会被存储到Task的Activity堆栈(Activity Stack)中去。
2.3 JSON
XML技术作为Web环境下客户端与服务器间数据交换有效负载的数据格式,几乎已经成了Web services的同义词,其主要作用是格式化数据内容。我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据。然而,由于Ajax和REST技术的出现影响了应用程序架构,这迫使人们开始寻求`XML的替代品,如:JavaScript Object Notation(JSON)。
JSON 作为一种更轻、更友好的数据表示载体或技术,使得读写更加容易易于机器的解析和生成,是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析,这些特性使JSON成为理想的数据交换语言。JSON采用完全独立
展开阅读全文