刘敏 苏荣聪
摘 要:互联网改变了人们的生活,购物和学习等方式,手机作为现代通信工具是不可缺少的,它具有使用方便、快捷等优点,作为老师,我们必须要改变一下上课思维模式,利用互联网技术,学生可以实现线上线下学习,文章介绍了“基于Android系统的《Java程序设计》移动学习平台的开发技术。
关键词:移动学习;开发技术;android;java
中图分类号:TP311.52 文献标识码:A 文章编号:1671-2064(2018)19-0040-02
1 性能需求
时间:正常网速情况下,网站响应时间应小于等于5S。数据精确度:能够对不同模块的信息内容进行查询;能够通过模糊查询,查询出所对应的内容。安全性:通过阿里云盾,有效防止一些恶意链接,对没有操作请求权限的人进行IP封锁;对于用户密码进行MD5加密手段。
2 前端技术
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括:(1)丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons),甚至可嵌入的web浏览器;(2)内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据;(3)资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files);(4)通知管理器(Notification Manager)使得应用程序可以在状态栏中显示自定义的提示信息;(5)活动管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。
3 后端技术
后端开发采用Java语言,其强大的开源性,以及在Github中无数的开源项目,为开发者提供了无限的可能性。迄今为止,java已然是当今社会最最流行的语言之一。他的简单语法,以及面向对象性,健壮性都深受业内人士的喜爱。而开源库的最大优点,就是让无数程序员拜托了在重复写底层代码的麻烦,可以使得程序员在业务逻辑层方面进行深入的研究。
目前为止Java除了在WEB端有所作为以外,Java在嵌入式系统,Android,企业应用等各方面都有着不俗的领域。可以说他是时代中最万能的语言,他的跨平台性让他得到了很好的发展。
4 Java设计开发模式
设计模式是先人在无数次开发经历过程中总结出的一套被反复使用的理论。本系统将整个后端系统分为三个模块第一是MVC模块,第二是业务处理层模块,第三是数据持久层模块。这样一个三层架构,是目前做JavaWeb开发最流行的模式。其目的就是为了实现Java 的“高内聚低耦合”的思路,将一个大的整个问题分成若干个小份,分而治理,在不同模块的接触过程中争取将有所关联的数据降到最少,使得在修改代码片段时,做出最小的影响。
除此以外在程序的开发过程中,我们还要遵循POJO原则,将各个数据对象独立开来,业务归业务处理,对象归对象处理,这也就是Java的面向对象性。而在开发过程中所用到的业务逻辑处理层则是有效的实现Java的封闭性以及可增加性的设计原则。在原有得基础上,如果有新的业务功能出现,最好是应该新增而不是去修改原有的代码。一方面保证业务可以正常实现,另一方面也是维护了原始代码。
5 框架介绍
SpringMvc:springmvc作为目前主流的控制器模块被大家广泛使用,并且作为Spring的附属项目,它与spring完美契合,用起来也十分方便。
6 项目管理工具介绍
本次系统的管理工具使用了Maven。那么Maven是如何去管理Javaweb项目的呢?首先使用MAVEN来创建 javaweb项目时,项目的目录从以前的Src与webRoot变成了src/main/java、src/test/java、src/main/resource、src/webapps。如图1所示:
此外Maven的另一个强大之处是在于他对于Jar包的管理。在之前的开发过程中总归会有到Jar包冲突的各种不愉快事件,然而Maven轻松的解决了这个问题,利用Pom.xml文件让Jar包在maven的管理范围内,大大的减少了项目jar包冲突的可能性,此外。每个Jar包都有自己的生命周期。compile适用于所有阶段,它会打包进项目。provided类似compile,期望JDK、容器或使用者会提供这个依赖。runtime只在运行时使用,如JDBC驱动,适用运行和测试阶段。test只在测试时使用,用于编译和运行测试代码,不会随项目发布。system类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
本系统采用的是分布式框架搭建,将一个JavaWeb项目用maven进行分布式开发。这样的好处在于,便于不同模块,不同业务层的处理,使得代码内聚性高。以下代码则是maven在分布式项目管理的设计思路图2所示。
可以看到设计者将整个网站分为5个部分,实体层、数据持久层、业务逻辑层、控制层、以及工具类。将所有不同的模块分开有利于多个人员对于整个项目的管理修改。
7 开发语言规范
命名应该都是名词或名词性词组,全部小写,单词之间用"."分开。
包的命名规则:[
类成员的命名规则:(1)方法规则:Camel规则,动词或动词性词组;(2)属性(即字段)规则:Camel规则,名词、名词短语或形容词,添加前缀”_”,集合属性使用复数形式;(3)常量规则:每一个单词都要大写,单词之间用"_"分开,常量必须注明其含义。
变量的命名规则:(1)所有的变量必须以小写字母开头,名词、动词或动词性词组,第二个及以后的单词首字母大写;(2)数组应该以如下方式命名:int[] arrayName;而不是int arrayName[];(3)布尔类型变量必须用”is”、”can”、”has”等表示;(4)变量根据作用域来添加不同的前缀:1)类级别的变量(除属性外)添加”c_”前缀;2)方法参数添加”p_”前缀;3)方法级别的变量添加”m_”前缀;4)循环级别的变量根据循环嵌套的深度添加不同的前缀【”i_”,”j_”,”k_”……】。
8 Spring事务说明
此次项目中,涉及到交易过程,在确保一个交易业务逻辑处理完整之前,我们必须对整个业务逻辑看成是一个完整的原子,不可以被拆分,如果在中途出现某个错误,必须要全部重新回撤,确保数据的完好。在商品交易过程中也是如此,那么我们必须要对Spring.xml文件以及Springmvc.xml文件进行事务的配置。以下是事务配置部分代码:“
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
目前主流都是进行事务的注解配置,在使用事务的业务逻辑层上面进行@Transactional注解配置操作,机器方便。
9 MyBaits
mybaits作為在数据库持久层打交道的开源项目框架,其优点就是在于相比于hirbnate,mybaits的运行速度是优于hirbnate的,尽管没有比不上hirbnate的SQL语言来的方便,但是他强大的Mapper.xml文件也掩盖了这一点的不足,可以说mybaits 是在性能以及语句方面都有良好表现的数据持久层框架。