APP下载

基于Android平台的Metoos社区在线系统的设计与实现

2014-07-16曹雁王英

电脑知识与技术 2014年14期

曹雁 王英

摘要:随着Android智能手机的普及,基于Android平台的应用也越来越多。基于Android系统的Metoos社区在线系统旨在开发一个随时随地进行查看社区商品、增加社区商品的应用系统,从而使得用户可以查看社区商品信息、上传自己的商品信息,以及对某件商品进行评论。基于Android平台的Metoos社区在线系统的服务端采用S2SH框架,根据不同的用户,使得用户可以通过Android手机或者平板电脑实现随时获取社区服务。该文详细介绍了基于Android平台开发的原理,并从设计的角度介绍了该系统的系统设计和实现过程。

关键词:Android;Metoos社区在线;S2SH

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)14-3272-04

1 概述

随着智能设备的普及,传统的手机设备已然被现在新的趋势所替代,智能终端设备已经具有电脑上的部分功能,用户可以随时随地、随心所欲的实现信息交流、沟通平台,而不仅限于在电脑前,还可以在郊游中、旅途中、任何无电脑的环境下随时随地的进行沟通;另外用户如果想信息分享和好友交流,则可以随时进行信息交流。Metoos社区在线专门提供用户在线交流、沟通的平台,以前的PC端已然不能满足客户的需求,需要与时俱进的进行智能终端上的信息交互,在此背景的推进下,Metoos智能在线交流终端应运而生。

2 相关技术介绍

2.1 Android平台介绍

Android是一种以Linux为基础的开放源码操作系统,Google公司在2007年正式推出了该平台后,短短的几年,该平台得到了广泛的应用。从系统结构的角度来看,Android体系结构如图1所示,从上到下依次分为:应用程序层、应用程序框架层、系统运行库层和Linux内核层。

应用程序层主要负责和用户的交互,通过Java语言编写的独立的应用程序;

应用程序框架层主要提供用于程序开发的API,Android应用框架中的各个模块都可以被复用,各种服务也可以被复用。程序开发中,常常用到的是:

1) 一组view(UI组件):灵活运用这些组件可以创建良好的用户交互界面。

2) ContentProvider(内容提供者):即提供一种服务,通过这些服务应用程序之间可以实现数据的共享、互访。

3) Activity Managerment:主要负责应用程序的生命周期,并控制着应用的导航,扮演着控制器的角色。

4) NotificationManagerment:主要负责在不影响用户正常操作和使用设备的时候,在状态栏上提供消息的机制。

系统运行库层:系统库为应用程序框架提供支撑,是连接应用程序框架层与 Linux 内核层的重要纽带;运行时Android 应用程序采用 Java 语言编写,程序在 Android runtime 中执行,其运行时分为核心和 Dalvik 虚拟机两部分。

Linux内核层:Android 是基于 Linux2.6 内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于 Linux 内核。

2.2 Web应用系统架构

目前Web应用系统广泛采用MVC的设计模式,该模式是目前广泛流行的软件设计模式。MVC设计模式采用三层结构,即表示层、业务层和数据存取层。表示层提供与用户交互的界面、收集和显示数据;业务层提供系统的业务和功能代码;数据存取层负责完成数据库操作。这种系统架构极大地提高了软件系统的可扩展性和可复用性,同时优化了模块之间的耦合,改善了系统的安全性。

2.2.1 Struts框架

struts1和webwork的技术两者进行合并产生了全新的Struts2框架,Struts2框架主要用于开发Web应用程序的表现层,核心就是struts2控制器Filter Dispatcher和action。在开发大型可扩展的Web系统时,为了减轻软件开发过程中的组件间的控制和调用工作,以及加快开发进度,我们常常使用Struts框架。该文采用Struts2作为表现层框架,其结构如图2所示。

2.2.2 Spring框架

Spring是以控制反转(IOC)和面向切面(AOP)为基础的,一种轻量级的框架。其中,IOC机制实现了由Spring框架完成创建被调用者,然后将被调用者注入到调用者,这就是“依赖注入”;AOP机制使用切面技术将非业务工作织入到主要业务过程中,实现了多线程。以控制反转和面向切面为核心的Spring框架可以有效地缓解企业级应用程序开发的复杂性。该文采用Spring作为业务逻辑层框架,其结构如图3所示。

2.2.3 Hibernate框架

之前,我们需要访问数据库时需要写大量的代码,那么Hibernate框架是一个ORM层的框架,封装了JDBC,通过编写映射文件完成对象关系映射,在业务层以面向对象的方式进行编程,不需要考虑数据保存形式,可以很好的实现数据的持久化。Hibernate是一个开放源代码的、轻量级框架。

本文采用Hibernate作为业务逻辑层框架,其结构如图4所示。

3 Metoos需求分析

通过与用户的沟通和交流后,明确了系统的所需功能。该文综合分析Metoos的业务领域知识,从而详细描述软件功能需求,构建软件需求可行方案,为软件设计工作提供指南和依据。

1)用户登录和注册。管理员使用用户名和密码登录,用户在使用该系统之前需要注册,登录系统后方可进行相关的操作。

2)商品管理:用户可以通过该平台查看所有商品信息,继而查看感兴趣商品的详细信息,添加商品信息,查看其它用户对该商品的评论。endprint

3)评论管理:用户可以针对某件商品发起评论,还可以查看其它用户对该商品的评论和详细评论。

4)留言管理:用户可以针对Metoos社区在线系统的管理员进行留言,提供对该平台的一些改进建议。

Metoos社区在线系统的具体功能模块图如图5所示:

4 Metoos社区在线系统设计

4.1 架构设计

系统采用Android客户端请求服务器的类似C/S架构实现,服务器层使用S2SH架构,分控制层、业务逻辑层、数据库层完成。其中控制层用于与android客户端交互;业务逻辑层负责处理项目业务流程;数据访问层负责操作数据库。

Android客户端和服务器交互示意图:

4.1.1 Android客户端

Android客户端主要负责向服务器端发送请求和接收来自服务器端的响应。当在客户端启动该应用程序的时候,采用多线程机制,发送post请求并接收到来自服务器端的响应,该响应是以JSON字符串的形式返回的,接着解析该JSON字符串,并将响应结果显示在屏幕上。

4.1.2 服务器端

按照S2SH框架搭建服务器;Hibernate是数据存取层,负责和数据库进行具体的增删改查;业务逻辑层接收来自数据存取层的数据,并提交给控制层Struts,由struts将数据封装成JSON字符串发送给Android客户端;spring是统一管理Hibernate和Struts数据的。

4.2 构建系统领域模型

软件开发中的领域模型对应现实世界中的对象,是对现实生活中具体对象的抽象。只有将具体对象抽象成领域模型,并理清其关系,才可顺利地进行系统开发,所以,构建系统领域模型至关重要。根据Metoos社区在线系统的需求以及功能,我们抽象出了该系统的领域模型,如图8所示:

6 总结与展望

文章详细阐述了基于Android平台的“Metoos社区在线”的设计原则与实现的方法。通过与客户的交流和沟通,形成了详细的需求文档,进一步分析了系统的功能模块,构建系统领域模型。

通过总结本系统的开发与研究工作,Metoos社区在线系统还需进一步研究:如何具体实现使用Metoos社区在线系统进行交友和在线购买商品。

参考文献:

[1] 李绍平,彭志平.一种web应用框架及其实现[J].计算机技术与发展,2009(8).

[2] 李培林.安卓系统的应用及发展趋势展望[J].计算机光盘软件与应用, 2012(12).endprint

3)评论管理:用户可以针对某件商品发起评论,还可以查看其它用户对该商品的评论和详细评论。

4)留言管理:用户可以针对Metoos社区在线系统的管理员进行留言,提供对该平台的一些改进建议。

Metoos社区在线系统的具体功能模块图如图5所示:

4 Metoos社区在线系统设计

4.1 架构设计

系统采用Android客户端请求服务器的类似C/S架构实现,服务器层使用S2SH架构,分控制层、业务逻辑层、数据库层完成。其中控制层用于与android客户端交互;业务逻辑层负责处理项目业务流程;数据访问层负责操作数据库。

Android客户端和服务器交互示意图:

4.1.1 Android客户端

Android客户端主要负责向服务器端发送请求和接收来自服务器端的响应。当在客户端启动该应用程序的时候,采用多线程机制,发送post请求并接收到来自服务器端的响应,该响应是以JSON字符串的形式返回的,接着解析该JSON字符串,并将响应结果显示在屏幕上。

4.1.2 服务器端

按照S2SH框架搭建服务器;Hibernate是数据存取层,负责和数据库进行具体的增删改查;业务逻辑层接收来自数据存取层的数据,并提交给控制层Struts,由struts将数据封装成JSON字符串发送给Android客户端;spring是统一管理Hibernate和Struts数据的。

4.2 构建系统领域模型

软件开发中的领域模型对应现实世界中的对象,是对现实生活中具体对象的抽象。只有将具体对象抽象成领域模型,并理清其关系,才可顺利地进行系统开发,所以,构建系统领域模型至关重要。根据Metoos社区在线系统的需求以及功能,我们抽象出了该系统的领域模型,如图8所示:

6 总结与展望

文章详细阐述了基于Android平台的“Metoos社区在线”的设计原则与实现的方法。通过与客户的交流和沟通,形成了详细的需求文档,进一步分析了系统的功能模块,构建系统领域模型。

通过总结本系统的开发与研究工作,Metoos社区在线系统还需进一步研究:如何具体实现使用Metoos社区在线系统进行交友和在线购买商品。

参考文献:

[1] 李绍平,彭志平.一种web应用框架及其实现[J].计算机技术与发展,2009(8).

[2] 李培林.安卓系统的应用及发展趋势展望[J].计算机光盘软件与应用, 2012(12).endprint

3)评论管理:用户可以针对某件商品发起评论,还可以查看其它用户对该商品的评论和详细评论。

4)留言管理:用户可以针对Metoos社区在线系统的管理员进行留言,提供对该平台的一些改进建议。

Metoos社区在线系统的具体功能模块图如图5所示:

4 Metoos社区在线系统设计

4.1 架构设计

系统采用Android客户端请求服务器的类似C/S架构实现,服务器层使用S2SH架构,分控制层、业务逻辑层、数据库层完成。其中控制层用于与android客户端交互;业务逻辑层负责处理项目业务流程;数据访问层负责操作数据库。

Android客户端和服务器交互示意图:

4.1.1 Android客户端

Android客户端主要负责向服务器端发送请求和接收来自服务器端的响应。当在客户端启动该应用程序的时候,采用多线程机制,发送post请求并接收到来自服务器端的响应,该响应是以JSON字符串的形式返回的,接着解析该JSON字符串,并将响应结果显示在屏幕上。

4.1.2 服务器端

按照S2SH框架搭建服务器;Hibernate是数据存取层,负责和数据库进行具体的增删改查;业务逻辑层接收来自数据存取层的数据,并提交给控制层Struts,由struts将数据封装成JSON字符串发送给Android客户端;spring是统一管理Hibernate和Struts数据的。

4.2 构建系统领域模型

软件开发中的领域模型对应现实世界中的对象,是对现实生活中具体对象的抽象。只有将具体对象抽象成领域模型,并理清其关系,才可顺利地进行系统开发,所以,构建系统领域模型至关重要。根据Metoos社区在线系统的需求以及功能,我们抽象出了该系统的领域模型,如图8所示:

6 总结与展望

文章详细阐述了基于Android平台的“Metoos社区在线”的设计原则与实现的方法。通过与客户的交流和沟通,形成了详细的需求文档,进一步分析了系统的功能模块,构建系统领域模型。

通过总结本系统的开发与研究工作,Metoos社区在线系统还需进一步研究:如何具体实现使用Metoos社区在线系统进行交友和在线购买商品。

参考文献:

[1] 李绍平,彭志平.一种web应用框架及其实现[J].计算机技术与发展,2009(8).

[2] 李培林.安卓系统的应用及发展趋势展望[J].计算机光盘软件与应用, 2012(12).endprint