资源描述
中文题目:基于Android的移动社区服务应用居民心声子系统的设计与实现内容摘要 本文是基于Android的移动社区服务应用进行研究,首先介绍了关于应用研究的背景,包括Android、移动互联的发展概况等,然后进行需求分析设计出系统总体,包括系统的架构设计、数据库设计、系统开发环境等。接着介绍了移动社区服务应用的功能实现,本应用总体分为三大子系统,即:社区消息、居民心声、便民服务,本文就居民心声模块进行了比较详细的描述,对其功能的实现原理进行了研究和分析,以代码实现的方式进行实现方法的解释和说明,同时对应能够解决的问题,即如何充分利用移动互联技术更好地服务群众。最终经研究得出结论,即移动社区服务应用能够满足用户的需求,贴近生活,结合当前移动互联技术,提高效率方便用户。最后提出存在的问题和未来的发展方向。关键词:Android,移动,社区服务Abstract The paper conducts a study on community service-based mobile applications for Android. First, we introduce the background of applied research, including the overview of the development of Android and mobile Internet, etc., Then we design the overall system by analyzing the needs, including database design and the environment of system development. After, we introduce the functions of mobile applications to achieve community service, including three main subsystem,and have a more detailed description of the specific functions like login and the community news functions module.Through the research and analysis of realization of the principle functions, Explain and illustrate by the way to code to the method of implementation. While the corresponding able to solve the problem, namely, how to make full use of mobile Internet technology to better serve the people. Finally, we propose the existing problems and the future direction of the development.Key words:Android; Mobile; Community Services目录 一、 研究背景 1(一) 社区生活组成与关系 1(二) 社区服务现状 2(三) 应用开发技术背景 3二、 需求分析 4(一) 社区消息功能 6(二) 居民心声功能 6(三) 帮扶互助功能 6(四) 社区广告功能 8(五) 信息推送功能 9三、 系统总体设计 9(一)系统架构设计 9(二)数据库设计 9(三)系统开发环境 11四、功能实现 11(一)社区服务浏览交互子系统 11(三)社区服务管理子系统 17五、 总结与展望 18(一)总结 18(二)发展前景 18基于Android的移动社区服务应用居民心声子系统的设计与实现1、 研究背景(1) 社区生活组成与关系一般来说,居民、业主委员会、居委会和物业是构成社区生活的四个部分。居民是社区生活的基本单位,也是社区生活组成中最基础和底层的部分;业主委员会由作为业主的居民选出,是代表居民行使决策权的组织;居委会是社区基层群众自治组织,负责社区日常事务的管理,包括社区基础设施建设、改善环境卫生、调停民事纠纷、宣传政策、发放各类政府照顾和补贴等职能,另外部分居委会还会兼有收缴水电费等等职责,此外,居委会还要监督和指导业主委员会做好居民服务工作,及督促物业做好小区各项工作;物业一般由业主委员会聘用,提供包括安保、绿化、保洁、维持秩序等在内的综合性小区服务,物业对业主委员会负责,并接受居委会的监督和指导。图1:社区组成四部分关系图(2) 社区服务现状现代人基本上都是早出晚归忙于工作,很少能够跟居委会有更多的接触,居委会在实际的工作中效果较小,居委会与住户之间缺乏一条方便简捷的沟通渠道。一方面,居民对于社区服务状况的不满意也不能及时的找到有效途径进行申诉或者建议,对于社区新闻也不能及时的了解,诸如儿童疫苗的通知、附近就业信息、优抚优育政策等,业主委员会被交予的事务有时也不能及时有效的处理,往往在时效性上出现问题,其中也加入了很多的主观人为因素;另一方面,居委会不能够方便直接的了解到居民的切实需求,在宣传和行使职能上也不能充分的利用资源,而且诸如乱贴小广告的现象也难以制止,缺乏有效的社区宣传手段,居委会往往对此心有余而力不足,整体的办公效率也需要提高。 图2:居民问题反映处理流程现状图由图2可见,如果居民在日常生活中对物业负责的某项工作有问题需要解决,首先要告知业主委员会,然后业主委员会经过整理和汇总反映到居委会,居委会再联系物业来解决问题,等待物业解决问题后再向居委会反馈,居委会得到反馈后在告知业主委员会,后者再在方便的时间告知居民,前后走了六个步骤,单个过程跨越了三个纵向距离,而且还没有考虑居委会和物业公司在实际过程中处理问题的时效性。移动社区服务应用正是要解决时效性和步骤繁多的问题,将居民与居委会通过移动社区应用直接连接,居民可以直接反映问题或者提出建议,居委会可以直接发布社区消息或者便民广告,很好的提高了消息发布的效率以及解决了社区小广告的问题。如图2-1(3) 应用开发技术背景2007年11月,Android智能操作系统发布,这款由谷歌和开放手机联盟一起开发的智能手机平台由操作系统、用户界面、中间件和应用程序等部分组成,操作系统为核心,保证整个平台按照一定的逻辑和算法进行运转,用户界面和中间件则更多地从用户体验的角度出发,提高操作的简便性,应用程序是最最终要实现的功能;在层次上又分为四部分,分别包括应用程序层、应用框架层、运行时库和其他库层、Linux内核层,顶层应用程序层是指该平台本身自带的一些核心的应用程序,如音乐、邮箱、联系方式、拨号、文件管理等等;在应用框架层,框架结构可以任意被开发人员访问,并且系结构化设计避免了存在该层的应用各部分的重用,使应用能够将组件更好地使用和分配;运行时库和其他库层是指一组核心库。它提供了海量的开源库类,并且定义了数据库类型,实现了体积和数据库支持的完美搭配,既可以用诸如500KB小体积来支持诸如4TB大小的数据库,而且不需要安装和进行配置,类似于轻应用,不仅能够实现并发处理等功能,而且能保证较快的速度;平台底层为Linux内核层,它不是真实存在的,作为一个中间层,它主要连接了硬件和软件,提供了系统的底层服务,包括应用设置、存储管理、出栈进栈等。应用程序层应用程序框架层运行时核心库 Dalvik虚拟机本机库C函数库、数据库2D3D绘图引擎、浏览器、多媒体函数库.Linux内核库图3:安卓平台结构图Android使用JAVA语言进行开发,并且使用Dalvik虚拟机,这种虚拟机是基于寄存器的,它能够同时运行多个进程,从而最大程度上利用了宝贵的内存空间,也对优化提供了很好的支持,对于一些特定的对环境要求较高的应用来说是一个非常好的平台选择。由于Android平台的诸多优点,尽管在2008年的发布元年市场份额仅占全球智能手机操作系统市场份额的0.8%,但其发展速度惊人,根据尼尔森2013年2月6日的最新数据显示,Android系统在全球智能手机操作系统的市场份额中占48.5%,排在了榜首的位置,只用了四年时间就从无到有,站在了手机操作系统的霸主地位。可以说,Android平台拥有移动通讯工作所需要的各类软件,同时Android平台的开放性和综合性也对包括移动互联在内的移动产业的创新有着积极的影响。而且近年来,智能手机发展速度极快,特别是Android和IOS操作系统的手机,占据了移动市场的大半江山,2011年,苹果公司开启了软件商店的概念,Android由于其本身的开源性也开发出了海量应用,伴着移动手机智能化的发展,移动用户的数量也在大幅上升,这一年,根据第30次中国移动互联发展状况统计报告显示,我国手机网民规模已经达到4.63亿人,可以说我国移动互联网市场发展极快,最新数据截至2013年6月底,我国手机网民规模已经达到8.45亿人,占总体网民中的比例达到79.4%。移动互联网就在这种大环境下走进了人们的生活,并且成为生活中不可或缺的部分。21世纪初,浏览器改变了互联网时代,引导人们进入了个人PC年代,而发展至今,可以随身携带、随时随地上网浏览、拍照、购物支付的移动应用,已然开启了新的移动互联网时代。从最近阿里的快的打车和腾讯的嘀嘀打车软件的白热化竞争等诸多事件可以看出,各个互联网巨头正在紧锣密鼓地布局移动互联网市场,互联网行业不断细化,深入生活的每一个部分,诸如快方送药、饭店联盟等,都在争移动互联的第一张船票,也不难理解为什么现在很多人认为,随着智能手机的进一步普及和手机应用功能的进一步完善和发展,移动互联网依靠其便捷性将在不远的将来超过传统的PC用户。从以上可以看出,Android平台的广泛应用和移动互联的快速发展将决定在未来的生活中,掌上移动应用将成为大众的首选,特别是结合人们日常生活的移动应用必然能得到大众的认可,从而在技术和现实意义的角度上都对移动社区服务应用的开发给予了很大的支持。2、 需求分析移动社区服务应用的居民心声子系统,利用智能化的移动社区服务,以建议平台为基础,居民可以在这里对社区的环境、安保、基础设施等各个方面指出问题并给出建议,而社区居委会工作人员可以在第一时间得知服务欠缺之处,并联系相关的部门即刻进行改进。而且通过智能化的移动社区服务居民心声子系统,社区住户之间可以互帮互助,有人需要帮助,而又有人可以提供帮助,充分了利用了社区内部丰富的社会资源,这样就节省了居民的大量时间和精力,既方便了居民,也减轻了居委会的负担。智能化的移动社区服务,缩短了居民与居委会之间的直线距离,提高了居委会的办事效率。图4:居民心声改善图如图4,和图2作对比可以看出,移动社区服务系统很好地连接了居民与居委会,当居民在日常生活中对物业负责的某项工作有问题需要解决时,可以直接在移动社区服务应用居民心声子系统中反映,其余三者均可以在任意时间看到,同时居委会也会通知改进,从而将三个纵向距离大大缩短并提高了准确性,在时间上减去了各个环节在整理和反馈的功夫,并且很多步骤可以同时进行,比如居委会在看到居民反映的问题后可以即时督促物业,如果是小的问题,物业在解决问题后不用等其他部分的反馈和通知直接就可以反馈给系统,各个部分同时可以看到,做到了中心联动,在增加社区管理运行透明度的同时也增进了社区生活各个组成部分之间的联系。移动社区服务针对不同的用户,会提供不同内容的服务,其中居民心声子系统主要供居民使用。针对居民用户会提供包含居民心声浏览模块和居民心声管理模块两大主功能模块,其中居民心声管理模块又包括消息标记模块、居民心声模板编辑模块、居民心声发布模块、居民心声审核模块四个功能模块的服务。居民心声子功能整体流程图见图4-1图4-1 居民心声子功能整体流程图(1) 居民心声浏览模块对于一般居民用户,进入“居民心声”模块可以直观的看到社区中居民对于社区服务不足的提出以及给出的建议,此类信息通常以标记【我提议】为开头,诸如居民对于社区车位的建议、居民对于社区环境卫生的建议等,居委会管理员或者物业公司等可以直接找到此类直接与本身相关的信息;居民也可以直观的看到求助或者帮助信息,求助信息一般以【我求助】标记,帮助信息一般以【我帮助】标记。(2) 居民心声管理模块1.居民心声标记模块居民在居民心声模块发布消息,用户都可以通过客户端浏览这些消息,可以点击进入查看详细信息,在被该用户查看后,该条居民心声被标记为“已读”,没有被用户查看的居民心声仍然保持“未读”的标记,同时每一条居民心声都可以自动获取发布时间,并显示在该条居民心声标记处,这样可以有效解决消息时效性的问题。2.居民心声模板编辑模块居民心声模板编辑模块是为了将居民心声进行分类,便于用户能够快速直接的找到自己需要的信息,该模块包括居民心声意图分类子模块与居民心声紧急程度分类子模块。在居民心声意图分类子模块中包括三个选项,分别为【我提议】【我帮助】【我求助】。【我建议】是居民为社区提出改进意见时需要选择的模板项,【我帮助】是居民主动为社区其他住户提供帮助的模板项,【我求助】是居民为在社区内寻求帮助需要选择的模板项。居民心声紧急程度分类子模块中,包括五个选项,紧急程度设定为从1至5,5为紧急程度最高,1为紧急程度最低,3.居民心声发布模块居民心声发布模块包括居民心声编辑子模块与居民心声发送子模块。在居民心声编辑子模块中,用户可以编辑要发布的消息内容;在居民心声发送子模块中,用户在消息内容输入完成的情况下,可以点击发布消息按钮,会将输入的居民心声在审核通过的情况下录入到数据表中,并显示在客户端居民心声页。4.居民心声审核模块居民心声审核模块包括两个子模块,分别为URL审核模块和关键字审核模块。在URL审核模块中,用户发布居民心声时,系统将自动检测消息中是否存在URL链接,如果存在URL链接,则会提示用户存在违规URL链接,发布失败,该条居民心声也不会被录入到数据表中;在关键字审核模块中,用户发布居民心声时,系统自动检测是否存在违规关键字,诸如“促销”、“贷款”、“专享”等,如果存在也会被提示违规,要求更改,发布失败,违规消息不会被录入数据库,也不会在客户端显示。审核模块流程图见图4-3图4-3 居民心声审核模块流程图3、 系统总体设计 (一)系统架构设计为了能更好地将客户端与数据库分离开来,当前服务器的主流分层是分成四层,分别是视图层、控制层、业务逻辑层、数据访问层,并且在数据访问层进行数据库的相关操作,在业务逻辑层进行数据处理并实现逻辑系统。Android在业务方面无作为,而是向Servlet发送请求并获取Jason的返回结果,从而实现了和J2EE架构的通信。在此系统中我们采用的主要框架为Servlet+Spring+Hibernate组合,其中Servlet处理客户端的请求,由于本系统中采用的数据库为目前最流行的关系型数据库MySQL,其开源行也降低了成本,Hibernate作为一个桥梁,能够将关系型数据库转换为面向对象的模型,在提高效率的同时,实现了应用程序与数据库之间的沟通。而Spring作为一个开发框架,并且与各种应用服务器保持相互独立的关系,进一步提高了开发的效率和软件的可移植性。 (二)数据库设计本文是基于Android和J2EE架构设计开发的移动社区服务系统,所用数据库为MySQL,并根据功能模块来设计数据库表。主要有居民信息表(User),住户基本信息表(Message),居民心声数据表(Voice),此外一些表中数据和类型都包含在这几个主要表中的,则通过外键的方式进行连接。表1 居民信息表(User)列名中文名称数据类型长度是否允许为空UserID住户IDInt20NUserName用户名称nvarchar50NUserPwd用户密码nvarchar20NRealName真实姓名nvarchar50NBirthday出生日期nvarchar50NHomeRelationship家庭关系nvarchar20NCondition 状态nvarchar20N居民信息表(User)用来表示用户的属性,包括住户ID(UserID)、用户名(UserName)、用户密码(UserPwd)、真实姓名(RealName)、出生日期(Birthday)、家庭关系(HomeRelationship)以及状态(Condition)。其中住户ID、用户名、密码几项主要应用于注册和登录功能,权限应用于用户管理方面,权限分为两级,其中高者为一级,管理员权限,因系统功能及规模限制,在本系统中,管理员角色由居委会用户成员担任,和居委会用户享有同样权限,可以信息推送,发布广告,进行用户的增删管理和所有发布信息的增加、删除、修改、检查,居委会账户将特定提供;权限较低者为二级,即居民用户权限,此权限可以进行基本的浏览和交互功能,并且可以对自己发布的信息进行增增加、删除、修改、检查操作。表2 住户基本信息(Massage)列名中文名称数据类型长度是否允许为空UserID住户IDnvarchar20NNum人员数量nvarchar20NOld老人nvarchar20NChild小孩nvarchar20NTel联系电话Int20NResponsible负责人nvarchar20N住户基本信息表(Message)用来表示系统中住户的信息,包括住户ID(UserID)、人员数量(Num)、老人(Old)、小孩(Child)、联系电话(Tel)、负责人(Responsible),基本涵盖了住户的信息,住户基本信息表示居委会已有的数据表,供居民心声子功能使用。表3 居民心声数据表(Voice)列名中文名称数据类型长度是否允许为空VoiceID居民心声IDnvarchar20NDescription内容描述nvarchar140NAim意图分类nvarchar20NUrgent紧急程度nvarchar50NTime发布时间time20NUserID住户IDInt20N 居民心声数据表(Voice)中主要有居民心声ID(VoiceID)、内容描述(Description)、意图分类(Aim)、紧急程度(Urgent)、发布时间(Time)、住户ID(UserID),其中类型包括公益类和商业类两大类。 (三)系统开发环境 本文相关基于 Android2.2.3和J2EE平台架构的移动社区服务系统,应用Eclipse IDE开发环境。采用JDK1.6.0版本,应用数据库版本为MySQL 5.6.6,并且安装了Navicate for MySQL。服务器端为Servlet3.0+Hibernate3.0+Spring3.0。 四、功能实现根据系统总体框架和实际需求,我们将居民心声子系统分为两个模块,即居民心声浏览模块和居民心声管理模块,模块之间既保持相对独立,又有一定的联动性,共同实现移动社区服务系统居民心声子系统的总体功能。图7:系统功能结构图(一)社区服务浏览交互子系统按照登录页面提示,按用户类别进行登录,登录后点击社区消息;浏览社区消息时则根据模块分类,查看自己需要的消息,主要包括如社区开展或即将开展的各种活动、社区卫生、治安等微观消息;包括各项与民生密切相关的法律法规、指导文件,如居民最低保障收入提高等宏观消息;包括生活常识、防灾自救措施,以及提醒如天气变化等温馨提示,在这里根据每个功能模块侧重的方面,我们可以暂且将子系统再分成浏览和交互两个系统来进行设计和实现。则在浏览社区消息、帮扶互助、社区广告模块时基本上可以看到它们的主题、作者、时间和内容四个部分,用例图如下所示: 类似地,用户可以在帮扶互助和社区广告模块浏览信息。其中有些内容需要连接到网络浏览的,在此不需要额外开发网页浏览功能,因为Android中的Internet可以启动系统组件。设定Action属性为其某一个抽象的action,Android系统会根据Action来决定由哪一个应用来完成这个动作。相关代码如下:Internet internet = new Internet();String data = ”http:/ uri = Uri.parse(data);intent.setAction(intent.Action_VIEW);intent.setData(uri);startActivity(intent);用户输入用户名和密码进行系统登录,因为不会涉及到太多隐私及其他问题,在这里我们默认用户名是已知的,无需注册,可以是每户对应一个账号和密码。 如需帮助点击“帮助”按钮,提供联系电话进行帮助。登录后可以看到各个功能分区模块。点击社区消息,可以选择发布信息。在社区服务浏览交互子系统中,用户与用户之间可以在居民心声功能模块中进行交互,主要是通过发布消息和回复的方式,类似于论坛和我们常用的贴吧。在Android平台上实现此类交互的方法很多,因为它提供了特有的类包,此外还可以通过阿帕克公司开发的的org.Apache.http包来实现,实现方式都是分为Get和Post两种。而后者的超文本传输中的实现方式与前者不同的是Post方式可以再超文本传输请求中传递参数,而Get方式可以轻松地获取静态界面。在此我们采用的是Get请求方式。在程序中我们定义了get_data这个类方法来获取页面数据。用户在居民心声中发布消息和回复帖子的操作则是使用Post方式来进行,整个实现过程分为创建实例、构造函数、调用实例、读取实例、释放资源和处理响应六个步骤,其中构造的Post_Method函数是将值赋给了该实例,然后用execute方法来执行,并且读取response实例。即首先创建一个HttpPost对象,然后经过参数传递,再执行发送请求,并接受实体数据以及返回的状态,最后释放连接资源。实现效果图和前面类似,在此选择社区广告模块的进行展示,就不一一列举了。此外,对于居委会认为重要的信息,为了更好地达到通知效果,可以采用推送的方式,将信息推送到用户桌面上,供用户浏览。 (二)社区服务管理子系统在社区服务管理子系统中,管理员身份出现,前面关于管理员已有解说,对于管理员来说,有权进行增加和删除用户操作,同时可以对所有发布的信息进行修改,包括增加、删除、修改、检查;而居委会用户和居民用户在此系统中更多的是登录和发布信息,并只能对自己发布的信息进行增加、删除、修改、检查操作。在此系统中,做的更多的是在数据库方面的操作和管理。用例图如下:五、总结与展望 (一)总结移动社区服务是一个很有价值的研究课题,它结合了当下最热门的Android操作系统和移动互联网技术,并对Android平台和J2EE轻量级平台进行了详细的解说并设法结合此二者进行社区服务移动互联应用的研究,立足于开发出一款基于Android平台的移动社区服务客户端,通过需求分析和设计方法将整个系统划分为两大子系统五大功能模块,涵盖了社区生活服务中需要的诸多功能,各系统既相对独立,在功能模块上又相互重合。整个设计与实现过程涉及了服务器连接、数据库、信息交互等众多领域。其中在社区服务交互子系统中运用的客户端信息交互技术的基础研究有很多种,比如信息实时更新技术和高效率低成本下的信息传输技术等。整个设计与实现过程主要论述了研究背景,包括Android平台的发展以及整个移动互联网的发展现状和前景,通过对社区服务现状的分析论证了在Android平台上进行移动社区服务应用开发的必要性。设计并说明系统的整体框架,包括社区服务浏览交互、管理两大子系统包含的功能模块和各个功能模块所能实现的功能。使该系统在满足功能性需求的基础上尽可能做到层次清晰,轮廓清楚。在技术实现上主要论述了轻量级J2EE的相关规范,设计并实现数据访问层、持久层、业务逻辑层以及Servlet四大系统功能。整个设计与实现的意义在于立足现实,从用户体验和IT技术的角度考虑,充分结合现有技术和平台,实现移动客户端和社区服务相结合的零突破,完成一款具备基础功能、实用性较强的客户端软件,可以说在与社区服务相关的移动应用开发方面具有一定的前瞻性和参考价值。就功能而言,一方面能够促进居民与居委会的交流和管理,另一方面也提高了整个社区生活与服务的效率,为共创和谐社会贡献了一份力量。 (二)发展前景Android平台是最受关注的移动智能手机开发平台,近年来惊人的发展速度有目共睹,每年新增用户数以万记,伴随着移动互联网的浪潮,越来越多的人将成为Android用户。而社区作为所有居民的居家之所,可以说社区服务与居民日常生活息息相关,设计并开发针对社区服务的 Android 应用大有可为。本文论述的基于Android和J2EE架构的移动社区服务系统由于系统架构较为复杂且时间有限,在功能和体验方面还有很多地方需要完善。如智能化的设备装载的移动客户端具有通话功能与短信功能相结合的自然特点,在移动社区服务系统运行过程中,在接下来的工作将通过研究充分利用Android通话和短信功能进行完善,如用户可以通过在线联系方式寻找需要的服务;语音介绍等附加功能也是在提出并尝试的阶段,也期待通过不断地完善系统,将此类功能全部实现。此外,本系统更多的是在侧重浏览交互子系统,特别是浏览功能,在交互功能上还有待加强,争取能做到实时交互,让用户可以很舒畅地应用;此外,在社区服务管理子系统方面的实现与展示也有待补充,并且可以更多地完善用户自我管理功能,而且再用户管理方面可以更加充分地利用MySQL的强大功能,实现用户的自主注册、包括密码及基本信息的修改、账户注销等等,增加应用的灵活性,提高用户体验。总体来看,基于Android的移动社区服务应用的设计与实现只是初步提出了一个概念,并且描述了一个移动应用的大体轮廓,在功能和体验上还有很大的完善和提升空间,希望能引起开发者和社区服务者的重视,通过多方的努力,能将此类应用推广到基层当中去,更好地服务大众。参 考 文 献1 公 磊.基于 Android 的移动终端应用程序开发与研究J.计算机与现代化,2010,7:18-23.2 刘昌平,范明钰,王光卫等. Android手机的轻量级访问控制J.计算机应用研究,2011,3:25-29.3 乔一乘.基于 Android+JAVA EE架构的校园信息交互系统D.硕士学位论文,吉林:吉林大学,2012.4 杨丰盛. Android 应用开发揭秘M. 北京:机械工业出版社,2010.5 杨继志,杨宇环.基于Android的网络互动产品创新设计J.机电产品开发与创新, 2012,(01):99-100.6 张 晶.基于Android平台的物流系统设计研究J.制造业自动化,2013,4(5):153-155.7 张利国,龚海平,王植萌.Android移动开发入门与进阶M.北京:人民邮电出版社,2009.8 张士诚.基于Google Android平台的应用程序开发与研究J.电脑知识与技术,2009, 5(09):7595-7562.9 张志清.基于Android的移动社交产品客户端设计与实现D.硕士学位论文,北京:北京交通大学,2012.10 Aida Niknejad. A Quality Evaluation of an Android Smartphone ApplicationD. Eastern Michigan University,2011.11 Chikaraishit,Ishiguroh. Development of an android system integrated with sensor networksC / IEEE/RSJ International Conference on Intelligent Robots and Systems. 2008:326-333.12 Huchengwei.Mobile webserver to the Android platformC.2010:593-595.21
展开阅读全文