摘要
基于Android的病虫害防治技术系统设计的目的是为用户提供一个病虫害防治技术管理的平台。与PC端应用程序相比,病虫害防治技术管理的设计主要面向于广大用户,旨在为用户提供一个查看科普内容,进行病虫识别、发帖交流的平台。 基于Android的病虫害防治技术系统是在Android操作系统下的应用平台。为防止出现兼容性及稳定性问题,服务器选择的是Apache,用户与后台之间的数据存储主要通过MySQL。用户在使用应用时产生的数据通过Java等语言传递给数据库。通过此方式促进基于Android的病虫害防治技术系统信息流动和数据传输效率,提供一个内容丰富、功能多样、易于操作的基于Android的病虫害防治技术系统。
绪论
1.1研究意义 近年来,随着网络基础设施的不断建成,互联网成为社会发展和经济增长的推动力。中国网民总体规模持续增长:一是城乡上网差距继续缩小,二是得益于互联网适应用老化改造持续推进,老年群体加速融入网络社会。上网的总时长保持增长,上网的终端设备呈现多元化,其中包括手机、笔记本电脑、电视机和平板电脑。其中,手机仍然是上网的主要设备。受新冠疫情影响,不但引起“大萧条”以来最严重的经济衰退,而且为人们的出行带来了极大的不便。由此带来的是,即时通信、网络视频、短视频用户、在线办公、在线医疗等应用保持较快增长,人们有愈来愈多的线上需求。随着近几年来,很多人都喜欢在手机上获取信息或者办理业务等。 基于Android的病虫害防治技术系统就是针对适合移动设备方便用户访问和浏览而进行搭建的,而且还是基于PC端进行开发。基于Android的病虫害防治技术系统主要是针对智能手机用户的,有尺寸小、可方便携带的优势,带来了获取信息及时、方便快捷的用户体验,也可以减少加载资源的时间,以提前进行缓存内容。在当前各行业工作都转向线上的形势之下,基于Android的病虫害防治技术系统充分发挥了它的优势,利用互联网将用户、管理员和平台相互联系。在大数据背景下,产生的数据会非常繁多,后台会对产生的数据进行汇总和处理,确定其真实性和合法性。
1.2系统设计目的 为了给用户清晰直观的页面指示。用户在完成注册后,会将用户注册相关信息添加到后台数据库中;用户在登录时,会根据数据库存储信息进行身份验证。用户可以在基于Android的病虫害防治技术系统前台查看科普内容及新闻资讯详情,并进行病虫识别、发帖等操作。后台管理人员也会根据用户的操作,及时更新新闻资讯、科普内容等信息。
1.3系统设计思想 在系统开发过程中,为了提升软件质量,提升用户体验,秉持严谨的态度制定了一些应遵守的原则。这些原则可以保证完成软件开发任务,也可以为后期软件测试和维护提供便利。以下是应遵守的一些原则:
(1)用户第一原则 基于Android的病虫害防治技术系统的开发,不仅要建立用户思维,围绕用户展开工作、解决用户需求,还要把为用户创造价值放在工作的第一位,并作为产品制定项目的切入点。了解需求的构成,了解需求的背后,善于洞察用户需求。此外,还应探索新思路,做出创新并达成突破性结果。
(2)可扩展、灵活性原则 毫无疑问,一个被客户称赞的系统,在拓展性和灵活性方面都比较高。因为在当今时代,用户的需求变化比较快。为满足用户需求,开发者需要及时对系统做出调整,如果用户小小的需求会引起系统的大量改动,那么这个系统就是不成功的。应该牢牢把握“原则”,让系统在设计初期就考虑到拓展性和灵活性,为后期的运维和技术支持也将带来很多的好处。例如,如何做到在降低模块间依赖性的同时,提升系统稳定性。
(3)安全性和可维护性原则 在使用过程中,难免出现不可预知的安全问题,应做到及时辨识系统的隐患,应采取有效措施,让损失降到最小。维护性包括代码理解性、测试性、修改性。在设计初期,如没考虑到系统的可维护性,也会带来很多的棘手问题。当运维阶段时,系统遇到比较大的问题时,解决起来费时费力,还不一定可以解决。最好的、最简单的方法就是重写,这就造成人员、金钱和时间等资源浪费。
系统开发环境及关键技术
2.1 Android Studio介绍 Android Stuido是Google公司在2013年推出一款开源的、跨平台的安卓集成开发环境,它可以运行在Windows、Linux和OSX等操作系统上,专门为Android开发而设计打造的软件,是一款以IDEA为基础的,为安卓开发提供便利而改造的IDE,除去开源免费跨平台的优势外,选择它作为主要开发工具的理由还有很多。与IDEA和Eclipse相比,它具有以下优势:
(1)UI界面更漂亮,主题也变得丰富,并且支持背景自定义。
(2)软件启动速度、响应速度、内存占用都得到了很大提升。
(3)功能更加强大,Eclipse经常卡顿的问题在它身上不会出现。
(4)软件的提示补全功能更加智能,开发效率得到很大的提升。
(5)它还支持用户定义智能保存,再也不用手动保存了。
(6)软件还支持用户实时预览,开发者可以一边开发一边预览,大大提高了用户开发和调试的效率。
(7)完美的内置了兼容了命令行终端,对于喜欢命令行终端使用的人来说,也是一大福音。
(8)含有丰富的插件库,可以选择很多可提升工作效率的插件,搜索点击就可完成安装。
(9)具有完美的版本控制工具,如Git、SVN等。
2.2 Java介绍 Java语言正式诞生于1995年,是由SUN公司开发研制的OAK语言发展而来的。Java语言继承了OAK语言可跨平台运行的特点,融合了面向对象编程的风格,JAVA以其独有的开放性、跨平台性和面向网络的交互性席卷全球,以其安全性、易用性和开发周期短的特点,迅速从最初的编程语言发展成为全球第一大软件开发平台.广受时下程序开发人员的好评[3]。后来又为了丰富Java语言的用途,提高生产力,将它进行设计和改造,以满足更多地开发和应用场景。经过改造后,它可以满足移动端开发,桌面应用开发和企业级应用开发。Java语言还为用户提供了丰富的类库,在掌握它的特性后,学习特定的工具包,就可以满足很多场景的开发。现在来看,Java语言在这三种平台的应用开发中,都占据了举足轻重的地位。 与其他语言相比,Java语言具有很多的优点,Java语言简单比较容易理解,有c语言的基础很容易就可以学会,中文和英文的学习资源也比较多,而且Java语言经过许多年的沉淀发展,逐渐演变出很多成熟的框架技术。企业还还可以封装自己的框架,让开发变得简单。它还具有跨平台性较其他语言这一个最大的优势,这意味着它只需要一次编译就可以运行在其他平台上。
2.3 MySQL介绍 MySQL数据库是一种关系型数据库管理系统,是一种开源软件由瑞典MySQL AB公司开发,08年被Sun公司收购,09年Sun公司又被Oracle公司收购[6]。由于其体积小、速度快、总体花费成本低,特别地是开源这一各优势,许多公司考虑到总体运行成本和花费成本而选择了MySQL。MySQL属于轻量级小中型数据库。MySQL数据库有以下优点:成本花费比较低,MySQL是免费而且它的技术支持也很便宜;运行的速度比较快,它的运行速度比其他的很多的数据库都快;跨平台、可移植性较高,MySQL可以在非常多种的操作系统中运行,满足各种操作系统的用户,后期的管理和运维相对也比较方便。 SQLite,是一款轻量级别的数据库,是一种关系型数据库系统。它起初的的设计目标是面向嵌入式设备,目前在很多的嵌入式设备中可见到它的身影,它占用的内存非常的低,在嵌入式设备中,只需要几百K的内存。同时,它也是跨平台的,支持主流的操作系统,同时还可以很多程序语言(如C#、PHP、Java等)相结合使用,同样与Mysql、PostgreSQL这两款开源的DBMS相比,它的处理速度比他们都快[7]。SQLite第一个版本诞生于2000年5月。目前为止,已经有二十多年了,也等到了新的版本的SQLite 3的发布。
2.4 SSM框架 SSM是由Pivotal的开发团队在2013年开发的一个免费、轻量级、开源的系统框架。SSM的主要设计思想是约定大于配置,因此SSM在设计时几乎达到零配置。SSM集成了业界的开源框架。 SSM是一个非常强大的后台框架,因为SSM的开发基本上不需要写配置文件,所以利用SSM来构建网站的后台环境,在SSM的YML配置文件中写项目启动端口,项目就可以启动了。项目的Java和静态文件由SSM管理。 2.5系统开发环境 使用设计模式是为了让自己明确开发系统各个组成的各种关系与角色,设计模式让你经典场景来分析你实现某些功能的时候需要什么角色、如何合理设置接口、提高系统各个层次的独立性,降低耦合度等方法好处。 由“模型-视图-控制器”是一种非常经典的软件架构模式,在UI框架和UI设计思路中扮演着重要角色。从设计模式的角度来说,MVC模式是一种复合模式,它将多个设计模式在一种解决方案中结合,用来解决许多设计问题。MVC模式把用户界面交互拆分为三种不同角色中,使得应用程序被分成三个核心部件:Model(模型)、View(视图)、Control(控制器)[8]。MVC模式将它们分离以提高系统的灵活性和复用性,不使用MVC模式,用户界面设计往往将这些对象混在一起[9]。
系统结构图
APP首页界面图
科普内容详情界面图
我的界面图
后台登录界面图
管理员功能界面图
部分数据库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
tupian | longtext | 4294967295 | 图片 | ||
zuowufenlei | varchar | 200 | 作物分类 | ||
faburiqi | datetime | 发布日期 | |||
shipin | longtext | 4294967295 | 视频 | ||
fujian | longtext | 4294967295 | 附件 | ||
shiyiyaoji | varchar | 200 | 适宜药剂 | ||
fangzhishiqi | varchar | 200 | 防治时期 | ||
yongyaofangshi | varchar | 200 | 用药方式 | ||
kepuneirong | longtext | 4294967295 | 科普内容 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 |
结论
病虫害防治技术管理系统是以Android Studio为开发环境进行开发和最终的调试,后端采用Java语言进行开发,前端页面展示主要采用的是前端三剑客。用户主要是面向普通用户,旨在为用户提供一个涵盖各方面的病虫害防治技术管理 APP。项目目前完成了用户基本需求,兼容性良好,未发生错误。但与真正投入使用的平台相比,功能和实用性明显不足,后期还有很多改进和完善的地方。例如,现在很多人使用的抖音短视频。此平台的功能丰富和对数据库的设计以及数据的处理的更加合理高效。各种界面和人性化的设计也值得去认真学习和探索。某些功能还具有很多细节还需要完成:如个人中心模块,可以允许用户自定义个性中心;对发布内容做更多地拓展,可让用户发布更多种类的内容;增加管理员模块,管理员可以进行相关信息的发布,也可以完成对用户的管理和用户遇到的问题及时处理;大数据推荐功能的实现,可帮助用户更快、更高效的找到相关内容。 由于自己知识储备量的不足,这个项目仅仅完成了一些最基本的功能。与实际生活的运用还存在着一定的差距,没有考虑到更多的应用场景。在今后的学习中,需要不断加强学习基础知识并且更加注重实践,做到从时间来到实践中去,达到融会贯通。但随着互联网基础设施的不断完善,此项目还是有很大的前景的。