1、SOFTWARE2022软 件第 43 卷 第 12 期2022 年Vol.43,No.12作者简介:滕远帆(2002),男,本科,研究方向:数据科学与大数据技术。基于安卓的公共设施损坏上报处理系统的设计与实现滕远帆(河南工业大学数据科学与大数据学院,河南郑州 450000)摘要:针对损坏公共设施上报受理维修的业务琐碎及效率低下问题,提出基于安卓应用的一站式公共设施损坏上报处理系统。系统具有用户对损坏公共设施上报、(政府)维修人员对上报设施维修处理、政府对用户上报故障信息,维修人员处理情况查看等常用功能模块,(政府)维修人员可通过安卓应用高效的处理用户上传损坏公共设施。系统基于 Java 语音
2、设计实现,采用 MVVM(Model-View-ViewModel)设计理念实现高内聚、低耦合的特性。一站式公共设施损坏上报处理系统的实现,简化了各类审批流程,减少了政府及维修人员的工作量,提高了公共设施使用的效率,降低了管理成本。关键词:公共设施维修管理;安卓应用;Java;MVVM中图分类号:TP311.56文献标识码:ADOI:10.3969/j.issn.1003-6970.2022.12.045本文著录格式:滕远帆.基于安卓的公共设施损坏上报处理系统的设计与实现J.软件,2022,43(12):169-173+182Design and Implementation of Publi
3、c Facilities Damage Reporting and Processing System Based on AndroidTENG Yuanfan(Schoolof Data Science and Big Data,Henan University of Technology,Zhengzhou Henan 450000)【Abstract】:Inviewofthetrivialbusinessandlowefficiencyoftraditionalpublicfacilitiesdamagereportingandmaintenance,aone-stoppublicfac
4、ilitiesdamagereportingandprocessingsystembasedonAndroidapplicationisproposed.Thesystemhascommonfunctionalmodules,suchastheusersreportingofdamagetopublicfacilities,(government)maintenancepersonnelshandlingofreportedfacilities,thegovernmentsreportingofhandlinginformationtotheuser,andthemaintenancepers
5、onnelshandlinginformationviewing.The(government)maintenancepersonnelcanuploadthedamagedpublicfacilitiesthroughtheAndroidapplication.ThesystemisdesignedandimplementedbasedonJavavoice,andadoptsMVVM(Model-View-ViewModel)designconcepttorealizethecharacteristicsofhighcohesionandlowcoupling.Theimplementat
6、ionoftheone-stoppublicfacilitiesdamagereportingandprocessingsystemsimplifiesvariousapprovalprocesses,reducestheworkloadofthegovernmentandmaintenancepersonnel,improvestheefficiencyofpublicfacilitiesandreducesthemanagementcost.【Key words】:maintenancemanagementofpublicfacilities;Androidapplications;Jav
7、a;MVVM设计研究与应用0 引言随着我国经济的发展,政府机构的现代化管理水平日渐提升,对公共设施信息化管理水平也提升到了前所未有的高度,政府机构对公共设施建设信息化显得愈加重要。政府机构担负着十分繁重的行政执法及基础设施建设维护任务1。公共设施的正常高效运转,直接影响着人民生活、社会稳定和国家法制建设。公共设施的信息化水平既是反映公共设施信息化建设水平的主要标志,又是新时期政府机构进一步增强自身综合能力的需要2,3。目前,政府对公共设施管理普遍存在无法及时获取公共设施损坏情况、对于损坏设施无法及时修护等特点,并且对于问题排查需要安排大量维修人员等问题。面对日益增长的公共设施基础建设及存在的损
8、坏问题,现如今政府管理模式已经无法适应公共设施管理和维护的要求,导致管理效率低下、损坏率高以及对损坏设施处理不及时。政府机构不能够有效地管理公共设施、处理损坏设施等工作,造成公共设施使用质量的下降4。本文设计基于安卓应用程序的一站式公共设施损坏上报处理系统,实现在移动端完成公共设施损坏上报,对损坏设施进行维修等。提高政府对于公共设施管理的信息化水平,进而发170软 件第 43 卷 第 12 期SOFTWARE挥助力公共设施质量提升的积极作用。1 系统总体结构一站式公共设施损坏上报处理系统采用前后端分离的设计思想,前端为安卓应用程序,后端包括MVVM设计框架和SQLite数据库。总体结构图如图
9、1 所示。后端ServiceAppCompatActivityDaoSQLiteOpenHelperDBSQLite安卓应用程序ViewServiceStorage图 1 一站式公共设施损坏上报处理系统总体结构Fig.1 Overall structure of one-stop public goods loss reporting and processing systemViewViewModelModel 图 2 MVVM 功能图Fig.2 MVVM function diagram安卓应用程序开发使用了MVVM的设计理念。MVVM(Model-View-ViewModel)是MVC(
10、Model-View-Controller)的改进版,如图2所示介绍了MVVM功能图。Model 代表数据分析模型,可以在Model 中定义对数据分析的服务逻辑。而 View 代表 UI(用户界面)模块,可以将数据分析模型转换成界面进行显示。ViewModel 的主要作用是同步 View 和 Model 的过程对象5。在 MVVM 框架下,由于 View 与 Model 相互之间无法直接实现通讯,所以需要使用 ViewModel 实现通讯,而由于 Model与 ViewModel 相互之间、View 与 ViewModel相互之间的通讯都是相互的,所以 View 消息的瞬时变动将会同时反映在
11、Model 中,Model 消息的变动也将会及时反映在 View 中。ViewModel 采用双方信息绑定链接View 和 Model,并且 View 与 Model 相互之间的信息同步操作是自主的,没有人工介入,所以开发者不需考虑操作逻辑,大大简化了开发流程,降低了开发难度6。在安卓应用程序开发中,通过 View(视频)层完成网页架构的渲染,Service(服务)层完成逻辑控制、信息请求、接口调度等工作,这些功能可以在不同的线程中同时执行。Service 层提示 View 层信息变更,当View 层触发页面变更,View 层将把触发的变化情况传递给 Service层并进行业务管理,而Stor
12、age(存储)层则对 Service层进行离线信息的保存,从而加快处理速度7。2 系统总体设计根据对市政府对公共设施管理流程的调查分析,本系统对公共设施管理的几个常用功能场景进行了设计,包括用户对损坏设施上报、维修人员对损坏设施维修、管理人员对用户维修员信息统计等。一站式公共设施损坏上报处理系统功能图如图 3 所示,本文对政府公共设施管理常见的用户对损坏设施上报、维修人员对损坏设施维修进行着重介绍。一站式公共物品损失上报处理系统上报信息处理沟通所有上报信息记录损坏信息智能上报个人信息查看修改系统设置及产品用户损坏上报沟通用户损害上报记录用户损害上报处理个人信息查看修改查看个人维修绩效所有用户投
13、诉信息用户上报类别统计维修员处理量统计个人信息查看修改管理码授予销毁用户维修员管理人员图 3 一站式公共设施损坏上报处理功能图 Fig.3 Office management function diagram2.1 公共设施损坏设施上报模块 该模块主要包括普通上报、智能上报等。首先,用户在公共设施损坏信息提交界面填写必填信息,包括损坏设施图片、损坏设施备注等。若上报用户处于事发现场,点击智能上报,系统将自动获取上报时间与上报地点。否则,需要用户手动选择上报时间与地点,点击上报,应用程序将会调用 AddInfo 接口,完成上报。上报完成后,点击查看可查看已上报的信息,点击继续上报可以再次进行上报
14、。上传损坏设施流程图如图 4 所示。该模块可以查看已上报信息,若维修人员尚未受理可以对上报信息进行修改、上传损坏设施核心代码片段如下:RequiresApi(api=Build.VERSION_CODES.O)privatevoidSubInfo()/获取备注信息EditTextedit=(EditText)findViewById(R.id.edit);remark=edit.getText().toString();/获取图片信息StringimageBase64=imageToBase64.getImage(file:/+appropriate(UserAlbumsActivity.fi
15、lePath,UserCameraActivity.filePath);/创建数据库对象DBOpenHelpermDBOpenHelper=new171滕远帆:基于安卓的公共设施损坏上报处理系统的设计与实现DBOpenHelper(this);/数据信息添加至数据库mDBOpenHelper.addInfo(AllLoginActivity.id,file:/+appropriate(UserAlbumsActivity.filePath,UserCameraActivity.filePath),imageBase64,-1,longitude,latitude,latitude,addres
16、s,mapSelection,getTime(),UserSubInfoActivity.remark,getType(UserSubInfoActivity.remark);/相关数据置空方便再次上传reset();/跳转至上传成功界面openUserSubmitSuccessActivity();在公共设施损坏上报模块中,如图5(a)所示为损坏设施上报界面,上报内容包括损坏设施图片、时间、地点以及备注信息。如图5(b)所示通过损坏上报记录模块,用户可以查看已上报的信息和上报损坏设施的处理状态。2.2 上报设施维修处理模块 上报设施维修处理模块主要包含处理模块和维修模块。如图 6(a)所示为维修人员查看已上报损坏设施界面,维修人员可通过底部导航栏点击记录按钮进入用户已上报的损坏设施信息界面,进入该界面后系统会实时刷新用户上传损坏设施信息8,维修人员根据上报信息情况进行处理,若信息有误或无法处理,维修员点击驳回即可完成该事务。若信息无误,维修员根据时间安排处理该事务,若暂无时间处理,点击待处理后系统将信息放入待处理箱中,待维修员安排时间处理。若拥有时间则去处理。处理过程如遇问题,点击联