学术文化网:本站代理期刊可作为职称及学位评审依据;并代写(职称、本科、硕士、博士)论文,代写代发论文一条龙服务;保证原创,保证质量,100%通过,保密服务

学术文化网

重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。代写论文申请表
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。代写代发论文申请表
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425 代写论文写手申请表
当前位置: 主页 > 工科论文

结合LBS和SNS特性的团购系统的设计和实现(2)


Text
Integer
Integer
Integer
Integer
Integer
Integer
Integer
<M>
userLocation
id
Latitude
Longitude
Time
Integer
Float
Float
Date
图3 数据库表结构图
2.4 关键技术
平台在开发过程中,服务器端使用了Struts2115 、Spring、Hibernate 框架技术,ssh 集成框
架是现在比较流行的轻量级集成框架,在很大程度上方便了开发人员对项目的开发和管理。
Struts2 是一款优秀的MVC 控制框架,它以WebWork 为核心,采用拦截器的机制来处理用
户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API 完全脱离开;Spring 是一
个开源框架,是为了解决企业应用程序开发复杂性而创建的,使用基本的JavaBean 来完成
120 以前只可能由EJB 完成的事情;而Hibernate 是一个开放源代码的对象关系映射框架,它对
JDBC 进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来
操纵数据库。[5]这三个框架相互配合,使得表现与数据分离,从而整个项目在结构上层次分
明,一目了然。
网页客户端使用了JSP、JavaScript 以及Ajax 等技术,手机客户端则基于Android 平台。
125 JSP 的使用使系统可以跨平台运行,具有很好的移植性。JavaScript 的运用使网页和用户之
间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的
内容。DIV+CSS 的运用,使得样式的调整更加方便,内容和样式的分离,使页面和样式的
调整变得更加方便。手机客户端的开发则是基于Android 平台,利用Java 语言,采用Http
通信技术开发而成的。
130 3 系统实现
该平台的客户端与服务器端之间的通信主要基于Http 协议,服务器将数据封装成json
 格式,通过response 动作将数据写回给客户端。客户端获得服务器响应的json 数据后,将
这些数据进行解析,然后重新组装成实体类对象,供其他函数进行调用。客户端向服务器请
求数据,并解析的核心代码如下:
135 /**
* 根据url 向服务器请求,获得返回的json 数据
* @param url
* @return
*/
140 private static String getServerData(final String url)
{
final HttpParams httpParameters = new BasicHttpParams();
// 设置连接超时时间为3 秒
HttpConnectionParams.setConnectionTimeout(httpParameters, 3000);
145 HttpConnectionParams.setSoTimeout(httpParameters, 3000);
final HttpClient client = new DefaultHttpClient(httpParameters);
HttpPost post;
try
{
150 post = new HttpPost(new URI(url));
final HttpResponse response = client.execute(post);
if (response.getStatusLine().getStatusCode() == 200)
{ // 请求成功
final HttpEntity entity = response.getEntity();
155 if (entity != null)
{
final String out = EntityUtils.toString(entity, "UTF-8");
return out;
}
160 }
}
catch (final Exception e)
{
e.printStackTrace();
165 }
return null;
}
/**
* 客户端将json 数据解析成实体类,供其他函数调用
170 */
public static ArrayList<User> getUserFriends(){
final String url="http://192.168.1.100:8080/ju/getFriends.action";
175 final String result = HttpUtil.getServerData(url);
try {
 ArrayList<User> friendsList = new ArrayList<User>();
180
JSONArray jsonArr = new JSONArray(result);
for(int i=0;i<jsonArr.length();i++){
185 JSONObject obj = jsonArr.getJSONObject(i);
User u = new User();
u.setId(obj.getInt("id"));
190 u.setName(obj.getString("name"));
u.setPhotoUrl(obj.getString("photoUrl"));
u.setSex(obj.getInt("sex"));
u.setBrief(obj.getString("brief"));
195 friendsList.add(u);
}
return friendsList;
200 } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
205 return null;
}
客户端通过定时的向服务器发送请求,更新自己的位置信息,从而使得服务器端可以知
道每一个客户端所在的位置。由于客户端移动的范围性较小,即在较短的时间内,一般都处
于一个相对比较小的范围,所以定时的定位操作可以表征一个客户端实时的位置信息。
210 Android 客户端进行定位的核心代码如下:
/**
* 客户端获得当前位置信息的代码
*/
215 public Location getCurrentLocation(){
//定义位置管理器
LocationManager locationManager;
String context = Context.LOCATION_SERVICE;
locationManager = (LocationManager) getSystemService(context);
220 //设置服务商信息
Criteria criteria = new Criteria();
//经度要求
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
225 criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
//获得效果最好的criteria
String provider = locationManager.getBestProvider(criteria, true);
230 //位置信息
Location location = locationManager.getLastKnownLocation(provider);
 return location;
}
该平台数据采用了mysql5.5 来存储,服务器端的应用程序主要是基于ssh(struts2、spring
以及hibernate)235 框架搭建的,利用maven 来进行项目管理,利用eclipse 集成工具进行开发。
调试开发阶段利用jetty 作为server,最终部署在ngix 服务器上。客户端主要分为两种形式:
Browser(浏览器)和Mobile(手机)。浏览器客户端主要向管理人员提供服务接口,负责
系统的后台管理工作,利用jsp、css、javascript 等技术来实现,其运行的主要界面如图4 所
示。在图4 中,系统的管理人员可以浏览相关的日志、商品、系统和客户端版本等管理信息,
240 通过系统管理对整个平台的一些信息和功能进行管理和配置。
图4 系统后台管理主界面
客户端主要面向用户,其开发环境除了eclipse 外,还需要安装AndroidSDK2.2 以及
245 Android 开发插件ADT,客户端运行的主要界面如图5-8 所示。其中图5 是客户端应用的主
界面,提供用户所有的功能的导航作用。图6 是团购信息的浏览界面,提供正在进行中的所
有团购信息。图7 是好友列表的界面,提供了好友信息的列表浏览功能,图8 是附件的人的
信息列表界面,提供了当前客户端附近处于活跃状态的人的列表信息。
 图250 5 客户端运行主界面 图6 团购信息浏览界面
图7 好友列表界面 图8 附近的人列表界面
255 在该系统的客户端上,用户可以很方便的浏览团购信息,同时查看自己的好友以及利用
位置服务而得到的周围的人。用户从而可以进一步将自己比较喜欢的商品团购信息推荐给自
己的好友或者周围的人。由于好友之间的信任度比较高,兴趣和价值观具有比较高的相似性,
故通过向好友推荐,能更好的促进团购活动的达成。同样,由于很多商品或者服务具有很明
 显的本地性,如电影票、KTV 和餐饮服务等,通过向周围的人推荐,可以提高团购活动的
260 命中率。在图9 中,用户可以在浏览团购信息的时候,通过分享操作,可以很方便的将该团
购推荐给自己的好友或者周围的人。
图9 团购详细信息界面
265 4 结语
本系统将LBS 与SNS 两种思想相结合,以新型的网络团购模式作为载体,构造了新型
的电子商务系统,为用户和商家提供了一个更人性化、更有效率的交易平台。该系统采用以
C/S 为主,B/S 为辅的系统模式,初步实现了移动环境下的团购信息浏览、基于位置的查询、
好友的交互、基于位置和SNS 的推荐和分享、签到等功能。在这样的交易平台下,由于用
270 户直接的可交互性增高,本地化的特征明显,所以在一定程度上提高了用户的活跃性。该系
统同时存在一些可以完善的地方,比如可以设立一些激励机制来促进用户之间的交流和商品
互荐等。目前,基于LBS 和SNS 相结合的电子商务系统尚处于探索阶段,还有许多问题和
困难需要去解决和克服。本系统作为一种尝试,提出了比较系统的构建思路和方法,具有一
定的参考和推广价值。
275
[参考文献] (References)
[1] 胡佳佳,谭红杨,苏思斯,丁婕.基于LBS 的网络团购发展探究[J].基于LBS 的网络团购发展探
究,2011,8:47-64.
 [2] 王利娟,马晓.基于LBS 的移动电子商务商业模式探析.企业导报,2012,2:194-195.
[3] 蔡学军, 280 仵博. 基于J2ME-J2EE 的移动电子商务平台的研究与开发[J]. 计算机工程与设
计,2006,27(17):3122-3125.
[4] 吴林,秦超.LBS 与SNS 下的信息服务平台设计与实现[J].地理空间信息,2012,10(2):82-85.
[5] 百度百科.ssh 框架[OL].[2012.10].http://baike.baidu.com/view/2090973.htm
学术论文网Tag:代写硕士论文 代写论文 代写MBA论文 代写博士论文
本站郑重声明:
  1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
  2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
  3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
  4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------
栏目列表
联系我们
服务承诺
推荐内容