andriod的生鲜农产品的购物平台(源码)
摘要:随着智能手机走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机签到系统就是其中的一项。Android平台支持各种应用的开发,它是目前最流行的开源智能手机操作系统,最新的版本是android4.0,提供了便捷灵活的开发接口。本文主要研究了如何开发一个基于Android 的生鲜农产品商城,分为前台和后台,前台供用户使用,用户的功能有登陆注册、个人信息修改,修改密码,购物车和我的订单功能,后台有管理员使用,管理员的功能有登录、农产品管理、店铺管理、用户管理、类别管理等。基于Android 的手机系统采用开发环境 MyEclipse进行开发程序的界面,后台编程语言采用面向对象的编程语言PHP编程语言来进行编程,同时把平台所有的数据信息保存到MySQL数据库系统中。关键字: 基于Android 的生鲜农产品购物平台;订单管理;数据库 MySQL;The Fresh Agriculture Products Shopping Platform Based on AndriodStudent majoring in computer science and technology Wu Jiang-tao Tutor Shen YIAbstract:With smart phones with the lives of ordinary people entered, it will be for people to obtain information about the main equipment. Thus, mobile apps will be a great space for development, mobile health software is one of them. Android platform supports the development of a variety of applications, it is the most popular open-source smartphone operating system, the latest version is android4.0, provides a convenient and flexible developmen
*好棒文|www.hbsrm.com +Q: ¥351916072¥
t interface.This paper studies how to develop an Android-based agricultural mall is divided into front and back office, the front desk for the user, the users login registration functions, modify personal information, change passwords, shopping cart and my order functions, backstage administrator to use, the administrator has logged in, agricultural management, store management, user management, category management.Android-based fitness software development environment using MyEclipse interface development program carried out, backend programming language using object-oriented programming language PHP programming language for programming, while the platform for all of the data stored the MySQL database system第1章 引言1.1 课题背景当今社会的生活节奏越来越快,人们对手机提出的要求也越来越高,由于手机市场发展迅速,手机操作系统也出现了不同种类,现在市场上主要有四种手机操作系统,分别是Windows?mobile,Symbian,Iphone?os以及谷歌的Android操作系统。其中,拥有开放源代码优势的Android系统有着最大的发展前景。Android是谷歌于2007年所公布的open式源代码只能手机端系统,它的开放性真实因为它优于其它很多封闭式的手机系统,因此,不管什么人都可能按照自己不同喜好将自己的手机系统上所有的功能进行重新编写。这也使得不断有越来越多的技术关注这个有潜力的操作系统。本次生鲜农产品系统就是基于安卓平台的。利用手机平台,便可达到事半功倍的效果,使用户节省时间、方便操作,增加效率。1.2研究现状Android这个词的本来意思是指“安卓机器人”,同时也就是谷歌于2007年11月5日所宣布的可以基于Linux平台上的open手机操作系统的名称,这个平台由安卓操作系统经过中间件再经过用户界面和应用软件一起组成,可以说是全球第一个为手机端上打造的真正是开放的和完整的移动应用软件。Android是基于Linux内核的软件平台和操作系统,早期由谷歌开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了software stack,又名以软件叠层的知识架构,主要分为这三个重要的三部分。低层以内核工作为基础,只提供手机上很多的基本操作功能,以Java语言作为主力编写程序的一部分的开发。而且,它为了去推广这个技术,Google和很多个手机的公司建立了良好的开放手机联盟关系。Android在还没去公开的好久之前就常被传为Google里的电话或iPhone神机里的电话。一般传闻了这个消息的都认为Google开发是开发属于自己的手机,而不是一套完整完美软件上的平台[1]。1.3选题意义目前系统缺少在移动设备上的支持,显然已经不能满足当代大学生高效学习便捷生活的需求了。移动设备硬件的发展,使得手机也可以完成更多的功能需求,Android系统的出现,更是让手机进入大屏触屏时代,在很多日常应用上,功能已经相当接近甚至替代PC机。而开源的Android系统为开发者移植PC应用程序提供了技术上的支持,因此,在PC上的系统有理由也有可能被移植到Android系统的移动设备上来。本课题是研究如何开发一款Android平台上的系统客户端,它将拥有同PC端基本一致的基础功能,同步的信息数据,界面简洁美观,操作简单方便。能为顾客使用该系统带来更多的方便与快捷,便于更直观更方便的买菜。利用手机平台,便可达到事半功倍的效果,使用户节省时间、方便操作,增加效率。1.4研究目标本文主要研究了如何开发一个基于Android 的生鲜农产品购物平台,以普通手机商城为例。用户可以通过Android系统手机,登录该商城。并可进行对商品的查询,购买等功能。与淘宝等购物网站一样,提供对商品的基本操作。只要拥有Android手机,用户就可以随时随地的购买商品。不仅解放了时间空间的限制,更使得用户更加高效率的使用时间,可以把在公交车上的时间,地铁里的时间,等很多等待的时间用来购物。本系统分为前台(手机APP端)和后台(电脑web端),前台提供给用户进行使用,前台的主要功能有用户登陆注册、用户个人信息修改,修改密码,购物车和我的订单功能,在提交订单之后,用户能对商品进行评价。后台提供给商城管理员进行使用,管理员的功能有登录、对现有的农产品进行管理、农产品类别管理、对现有的店铺进行管理、对用户进行管理(用户等级分为三种,一种是店铺商家,一种是购物人员,另一种是系统管理员即登录本系统的管理员)、对用户订单进行管理等。基于Android 的生鲜农产品购物平台前台采用开发环境 Eclipse进行开发程序的界面(HTML5+Javascript)编写手机andriod界面,后台管理员web界面采用面向对象的编程语言PHP编程语言来进行编程,同时把平台所有的数据信息保存到MySQL数据库系统中。前台通过对数据库的访问来显示一些数据以及匹配用户的一些信息。后台通过管理员来操作数据库,对数据库进行修改[2]。第2章 相关的理论和技术2.1 JAVA技术介绍Java语言是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java语言不同于一般的编译语言和直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。这样的平台非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的?C#语言[7]。2.2 Eclipse平台Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。虽然大多数用户很乐于将 Eclipse 当作 Java?集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于?Java开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP、Android等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse 项目、Eclipse 工具项目、Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始[8]。2.3 Android基本框架介绍Android平台的基本框架[3]。(1)ApplicationsApplication Android会同一个主要的应用程序开发包一并发布出来,这个app程序包包含了一下内容email客户端,SMS,日历功能,地图的查找,浏览器的查看,联系人进行管理等。这些的app程序必须要用JAVA编写的。(2)Application FrameWork开发者完全可以去查看只要的应用程序所用到的API framework。该application framework用来简化很多组件的软件起到重用的效果;任何一个application 都可以去发布它的相应功能块,而且任何other的application 都可以去使用其它发布的很多功能块。该application 重用的机制使得很多组建可以被user替换。所有的application都由很多的服务功能和系统里起到的功能所组成,包括:Views可以用来建application ,包括lists,网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可以内嵌到手机里的web浏览器Content Providers使得application 可以去访问另一个人的application 的数据(如联系人数据库),或者共享它们自己的数据。资源管理器可以去提供很多非代码的资源查看,如localhost string的访问,图形,和分层文件(layout files)。Notification 使得application可以在状态栏中显示客户通知信息。活动类管理器(Activity Manager)用来管理application 的activity并提供很多常用的导航进行回退的功能。2.4 Android的工程(1)Android项目Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartIntent()方法来使各组件进行跳转Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局)Android的线程,以及线程之间通信的中介:Handler类Android配置文件:AndroidManifest.Xml及res资源文件中各种属性布局方式引用的资源等。Android系统将插件ADT集成到了Eclipse工具上,因此,一个Android程序启动后,系统会启动一个模拟器(Emulator)(如下图),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。我们也可以将右边的键盘通过代码属性设置将其隐藏,界面的大小可自由设[9]。 (2). Android工程程序结构(3) .AndroidManifest.xml文件在AndroidManifest.Xml中有一个根结点,它是我们需要定义的ADT版本,例如我们将其值设定为Android:minSdkVersion="10",则表示此Android工程所用的版本为2.3,Android还有1.1、1.5、1.6、2.0、2.1、2.2、2.3、3.0、4.0这几个版本。如果我们需要对网络进行访问,比如打开一个网页,刚我还需要设置一个网络访问权限uses-permission,将其的值设置为Android:name="Android.permission.INTERNET,我们就可以访问网络了。其中声明provider时还需要声明其授权 authorities。每个组件里面还有很多的属性,会根据程序的具体需要定义不同的属性。过滤器intent-filter 有两种启动方式来启动界面。显示方式显示方式是在代码中的直接启动组件,启动时会声明Intent,在它的构造方法Intent(组件1,组件2)中直接指定一个组件的名字,然后调用方法startIntent(intent)以启动指定的组件。 2)隐式方式隐式方式是通过过滤器来过滤完成的,启动的组件必须满足action和category的条件才能够启动该组件。这些属性是在AndroidManifest.Xml文件中声明的。两种启动方式都可以通过程序setAction(ACTION常量)和startActivity(intent)或配置文件两种方式来实现组件的跳转[4]。第3章 系统需求分析3.1 可行性分析(1).技术可行性 本手机购物系统可在windows 2000/xp/2003上运行,在计算机硬件方面,只需目前一般配置的计算机即可,对软硬件要求并不高。而系统的开发利用SSH框架设计后台管理,Android?SDK设计客户端,选择Mysql作为数据库。(2).经济可行性 购物系统的设计很简单实用,开发的难度也比较小,所需要的资料资源都可以在图书馆书籍和互联网中找得到,系统的开发使用个人计算机就可以实现,所以开发费用比较低。而网站开发完成之后,只需要将其放置在互联网服务器的网络空间上即可实现手机购物系统的投入使用,所以需要投入的费用很低。(3).社会可行性 如今是计算机网络技术的迅猛发展的时代,利用具有使用方便、快捷等诸多优点的因特网实现购物的信息化、无纸化,已成为了现代改革发展的一大趋势。手机购物网站正是为了适应社会的发展需求而被建立起来的,现在网上购物系统已经在因特网上广泛地使用,也给人们带来了很多方便。而生鲜农产品的购物平台是手机商城购物的新颖独特之处。现如今人们对于绿色商品情有独钟,希望生活可以更加健康,生鲜农产品的购物平台可以实现用户买到生鲜农产品,也可以保证用户足不出户就能买到自己想要的新鲜农产品。所以,开发手机生鲜农产品购物平台是具有社会可行性的。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上经济上还是操作上。故此,可以设计该系统流程图,建立数据字典。3.2 功能需求概述(1).注册登录功能:在手机上安装此软件,安装成功之后,打开软件,没有账号的需要先注册,点击注册的按钮,进入注册界面,在这个界面上我们需要填写用户名、密码、密码重复、电话、地址、QQ、微信、邮箱、生日和性别,这些填写好之后,点击底部的注册按钮,即完成注册账号的功能。在进行登陆的时候,填写已经有的或者是新注册的账号,填写完用户名和密码,点击登陆按钮,然后和数据库中存在的账号和密码进行比较,如果输入的账号和密码和数据库中的账号和密码就提示登陆成功,并把登陆信息保存到数据库中进行保存供以后在操作程序的时候使用。如果是用户名或者是密码填写错误会提示填写错了,登陆不成功,即重新填写用户名和密码,填写完点击登录即进行登录,如没有提示填写错误即登陆成功。(2).商品购买过程:登录进入系统中,进入主界面,直接面是由三部分组成的,顶部是农产品列表标题,左侧是选项按钮,右侧是选择店铺按钮,中间是功能显示界面,底部是四个功能按钮,分别是首页、我的订单、购物车和个人信息按钮。进入主界面后可以浏览商城中的商品信息,我们可以还可以通过分类浏览,点击选择分类按钮,出现分类的下拉菜单,进行选择分类,可以选择蛋类、特产和种植物,选择哪个分类就可以选择对应的分类的商品;还可以通过关键字搜索进行查找商品,进行浏览,找到想要购买的商品,点击进入商品详情界面,界面介绍了商品名、简介和价格,进行浏览还可以对商品进行提交订单或者加入购物车的功能。点击加入购物车按钮,则该商品被添加到购物车中,可以点击页面下方的购物车按钮,进行查看我的购物车中的商品信息,可以看到商品的图片、商品名和总价,可以对购物车的商品信息进行删除或者提交订单操作,点击对应的提交订单按钮,可以进入填写备注信息,填写完点击提交按钮,则完成订单的提交,点击对应的删除按钮,则将删除购物车中的商品信息。 点击对应的提交订单按钮,进入填写备注信息界面,在这个界面上,显示了电话和地址,我们需要编写订单的备注信息,填写玩这些备注信息,点击提交按钮,会出现提交订单成功按钮,页面自动跳转到我的订单界面,在这个界面上,显示订单交易成功时间和商品名、总价、电话和地址信息。点击进入我的订单信息详情界面,在这个界面上可以查看到刚提交订单时添加的备注信息。(3).个人信息:登录进入系统,点击左上角的选项按钮,然后点击个人信息按钮,进入个人信息修改界面,在这个界面中,我们可以编辑电话、地址、QQ、微信、邮箱、生日和性别这些信息,编辑玩这些信息,点击修改按钮,则能完成个人信息的修改功能。点击选项下面的修改密码功能,进入修改密码界面,在这个界面中,我们需要编辑原密码、新密码和密码重复,编辑完这些信息,点击提交按钮,即完成密码的修改操作。(4).后台管理:登录进入后台管理界面,在这个界面上,我们可以看到左右两个框架,左面是可折叠的菜单栏,右侧是功能显示界面,可以看到左侧菜单栏中的功能有农产品管理,类别管理、店铺管理、订单管理和用户管理管理。点击用户管理管理,再点击用户列表,可以查看到系统中的用户信息,包括id、用户名、密码和用户权限。还有三个功能按钮,分别是新增、修改和删除,点击新增按钮,进入新增用户界面,在这个界面中我们需要编辑用户名、权限、密码和密码确认,编辑完这些信息点击保存按钮,即能完成对应的新增用户的操作;先选中列表中的一条用户信息,点击对应的修改按钮,进入修改用户信息的界面,在这个界面上我们可以修改id、用户名、密码和用户权限,编辑完点击保存按钮,即能完成对应的修改功能;选中用户列表中的用户信息,再点击删除按钮,即能完成删除用户信息的功能。还可以通过用户名关键字来查询用户信息。点击农产品管理管理,再点击农产品列表,可以查看到系统中的农产品信息,包括id、农产品名、密码和农产品权限。还有三个功能按钮,分别是新增、修改和删除,点击新增按钮,进入新增农产品界面,在这个界面中我们需要编辑名称、分类、所属店铺、照片、价格和备注,编辑完这些信息点击保存按钮,即能完成对应的新增农产品的操作;先选中列表中的一条农产品信息,点击对应的修改按钮,进入修改农产品信息的界面,在这个界面上我们可以修改名称、分类、所属店铺、照片、价格和备注,编辑完点击保存按钮,即能完成对应的修改功能;选中农产品列表中的农产品信息,再点击删除按钮,即能完成删除农产品信息的功能。点击类别管理管理,再点击类别列表,可以查看到系统中的类别信息,包括类别名。还有三个功能按钮,分别是新增、修改和删除,点击新增按钮,进入新增类别界面,在这个界面中我们需要编辑类别名,编辑完这些信息点击保存按钮,即能完成对应的新增类别的操作;先选中列表中的一条类别信息,点击对应的修改按钮,进入修改类别信息的界面,在这个界面上我们可以修改类别名,编辑完点击保存按钮,即能完成对应的修改功能;选中类别列表中的类别信息,再点击删除按钮,即能完成删除类别信息的功能。可以通过名称关键字来查询类别信息。点击店铺管理管理,再点击店铺列表,可以查看到系统中的店铺信息,包括名称、电话、地址、照片和说明。还有三个功能按钮,分别是新增、修改和删除,点击新增按钮,进入新增店铺界面,在这个界面中我们需要编辑名称、电话、地址、照片和说明,编辑完这些信息点击保存按钮,即能完成对应的新增店铺的操作;先选中列表中的一条店铺信息,点击对应的修改按钮,进入修改店铺信息的界面,在这个界面上我们可以修改名称、电话、地址、照片和说明,编辑完点击保存按钮,即能完成对应的修改功能;选中店铺列表中的店铺信息,再点击删除按钮,即能完成删除店铺信息的功能[10]。3.3 UML用例图农产品商城系统可以满足有两中用户的需求,分别是用户和管理员。用户的功能包括:注册登录、购物车、我的订单、个人信息和修改密码。用户的用例图如图3-1所示。图 3-1 用户用例图管理员的功能包括:登录、农产品管理、用户管理、类别管理、店铺管理和订单管理。管理员的用例图如图3-1所示。图 3-1 管理员用例图第4章 系统设计4.1功能模块设计根据对系统的功能进行分析我们总结生鲜农产品系统的具体功能模块包括下面的几个主要的功能模块:系统的功能模块图:如图4-1所示:图4-1 系统功能模块图4.2 程序流程图设计程序流程图如图4-2所示: 图 4-2程序流程图4.2 数据库(E-R)图设计农产品商城系统的实体关系的设计是建立在需求分析、系统分析的基础上的[5]。用户表的实体图如图4-3所示,用户实体信息主要包括:用户名、密码、喵喵重复、地址、电话、性别、邮箱、QQ和微信。图 4-3用户信息的实体图农产品表的实体图如图4-4所示,农产品表实体主要包括的信息有:名称、分类、所属店铺、照片、价格和备注。图 4-4农产品的实体图类别的实体图如图4-5所示,类别实体主要包括:名称。图 4-5类别的实体图商品的实体图如图4-6所示,商品实体主要包括:商品名、简介和价格。图 4-6商品信息的实体图店铺的实体图如图4-7所示,店铺信息实体主要包括:名称、电话、地址、照片和说明。图 4-7店铺信息的实体图第5章 系统实现本章主要对生鲜农产品购物平台的主要功能模块进行详细的设计,利用软件工程所学的知识来解释系统中的几个比较重要的功能模块的实现过程,以及实现方法和实现过程等信息进行描述。5.1 主要功能模块的实现5.1.1 用户注册登录的实现在手机上安装此软件,安装成功之后,打开软件,没有账号的需要先注册,点击注册的按钮,进入注册界面,在这个界面上我们需要填写用户名、密码、密码重复、电话、地址、QQ、微信、邮箱、生日和性别,这些填写好之后,点击底部的注册按钮,即完成注册账号的功能。用户的注册界面如图5-1所示:图 5-1 用户注册界面在进行登陆的时候,填写已经有的或者是新注册的账号,填写完用户名和密码,点击登陆按钮,然后和数据库中存在的账号和密码进行比较,如果输入的账号和密码和数据库中的账号和密码就提示登陆成功,并把登陆信息保存到数据库中进行保存供以后在操作程序的时候使用。如果是用户名或者是密码填写错误会提示填写错了,登陆不成功,即重新填写用户名和密码,填写完点击登录即进行登录,如没有提示填写错误即登陆成功[6]。用户的登录界面如图5-1所示:图 5-1 用户登录界面用户登录的关键代码如下:function login(uinfo){ var fdata = uinfo || serializeObject($("#loginform")); if($.trim(fdata.username)=="" || $.trim(fdata.passwd) == ""){ showLoader("请输入用户名或密码!",true); return; } ajaxCallback("login",fdata,function(data){ if(data.info && data.info=="fail"){ showLoader("用户名或密码错误",true); changePage("loginpage"); }else{ showLoader("登陆成功!",true); userinfo = data; if(fdata.remember == "1"){ localStorage["userinfo"] = JSON.stringify(data); }else{ localStorage["userinfo"] = ""; } toMain(); } });function ajaxCallback(action, data, cb) { if(!clientUrl){ alert("请先设置服务端根路径"); return; } showLoader("请稍后..."); data = data || {}; var retrytimes = 5; var count = 0; var connectServer = function(){ showLoader("请稍后..."); $.ajax({ type: "GET", url: clientUrl + action, dataType: "jsonp", jsonp: "callback", contentType: "text/html; charset=utf-8", data: data, timeout:50000, async:true, success: function (data) { hideLoader(); cb(data); console.log("success"); }, error: function (XMLHttpRequest, textStatus, errorThrown) { hideLoader(); console.log("error:"+XMLHttpRequest+" textStatus:"+textStatus+" errorThrown"+errorThrown); }, complete:function(XMLHttpRequest, textStatus){ console.log("complete:"+XMLHttpRequest+"textStatus:"+textStatus); if(textStatus == "timeout"){ if(countwhere($condition)->find(); if($obj){ $rlt = $obj; }else{ $rlt[info] = "fail";} $this->renderJsonpObj($rlt);}5.1.2 商品购买过程登录进入系统中,进入主界面,直接面是由三部分组成的,顶部是农产品列表标题,左侧是选项按钮,右侧是选择店铺按钮,中间是功能显示界面,底部是四个功能按钮,分别是首页、我的订单、购物车和个人信息按钮。进入主界面后可以浏览商城中的商品信息,我们可以还可以通过分类浏览,点击选择分类按钮,出现分类的下拉菜单,进行选择分类,可以选择蛋类、特产和种植物,选择哪个分类就可以选择对应的分类的商品;还可以通过关键字搜索进行查找商品,进行浏览,找到想要购买的商品,点击进入商品详情界面,界面介绍了商品名、简介和价格,进行浏览还可以对商品进行提交订单或者加入购物车的功能。点击加入购物车按钮,则该商品被添加到购物车中,可以点击页面下方的购物车按钮,进行查看我的购物车中的商品信息,可以看到商品的图片、商品名和总价,可以对购物车的商品信息进行删除或者提交订单操作,点击对应的提交订单按钮,可以进入填写备注信息,填写完点击提交按钮,则完成订单的提交,点击对应的删除按钮,则将删除购物车中的商品信息[11]。 购物车管理页面如图5-2所示:图 5-2 购物车界面商品购买的关键代码如下:function toGoods(id){ var sid = id || ""; changePage("mainpage"); listType(); listGood(sid);}function listGood(sid){ ajaxCallback("listGood",{sid:sid},function(data){ goodlist = data; $("#goods").refreshInsertView(data); });}function refreshGood(title,type){ var stype = title || $("#type").val() || ""; ajaxCallback("listGood",{stitle:title,stype:stype},function(data){ $("#goods").refreshShowListView(data); });}function showCar(){ if(!userinfo){ changePage("loginpage"); return; } changePage("carspage"); carlist();}function carlist(){ var str = localStorage[gouwuche]; var list = []; if(str){ list = JSON.parse(str); } $("#cars").refreshShowListView(list);}function tijiaocaryouke(){ var tel = $("#infotel").val(); var address = $("#infoaddress").val(); var note = $("#infobeizhu").val(); if($.trim(tel)=="" || $.trim(address)==""){ showLoader("请填写电话和地址信息!",true); return; } if(tel.length<11){ showLoader("请填写正确的电话号码!",true); return; } var str = localStorage[gouwuche]; var sids = []; var shopgoods = {}; var bills = []; if(str){ var list = JSON.parse(str); for(var i=0;i 目录
第1章 引言 3
1.1 课题背景 3
1.2研究现状 3
1.3选题意义 4
1.4研究目标 4
第2章 相关的理论和技术 5
2.1 JAVA技术介绍 5
2.2 ECLIPSE平台 5
2.3 ANDROID基本框架介绍 6
2.4 ANDROID的工程 7
第3章 系统需求分析 9
3.1 可行性分析 9
3.2 功能需求概述 9
3.3 UML用例图 12
第4章 系统设计 14
4.1功能模块设计 14
4.2 程序流程图设计 14
4.2 数据库(ER)图设计 15
第5章 系统实现 18
5.1 主要功能模块的实现 18
5.1.1 用户注册登录的实现 18
5.1.2 商品购买过程 22
5.1.3个人信息的实现 28
5.1.4 后台管理实现 30
总结 32
致 谢 33
参考文献 33
基于android的生鲜农产品的购物平台
引言
目录
目录
*好棒文|www.hbsrm.com +Q: ¥351916072¥
t interface.This paper studies how to develop an Android-based agricultural mall is divided into front and back office, the front desk for the user, the users login registration functions, modify personal information, change passwords, shopping cart and my order functions, backstage administrator to use, the administrator has logged in, agricultural management, store management, user management, category management.Android-based fitness software development environment using MyEclipse interface development program carried out, backend programming language using object-oriented programming language PHP programming language for programming, while the platform for all of the data stored the MySQL database system第1章 引言1.1 课题背景当今社会的生活节奏越来越快,人们对手机提出的要求也越来越高,由于手机市场发展迅速,手机操作系统也出现了不同种类,现在市场上主要有四种手机操作系统,分别是Windows?mobile,Symbian,Iphone?os以及谷歌的Android操作系统。其中,拥有开放源代码优势的Android系统有着最大的发展前景。Android是谷歌于2007年所公布的open式源代码只能手机端系统,它的开放性真实因为它优于其它很多封闭式的手机系统,因此,不管什么人都可能按照自己不同喜好将自己的手机系统上所有的功能进行重新编写。这也使得不断有越来越多的技术关注这个有潜力的操作系统。本次生鲜农产品系统就是基于安卓平台的。利用手机平台,便可达到事半功倍的效果,使用户节省时间、方便操作,增加效率。1.2研究现状Android这个词的本来意思是指“安卓机器人”,同时也就是谷歌于2007年11月5日所宣布的可以基于Linux平台上的open手机操作系统的名称,这个平台由安卓操作系统经过中间件再经过用户界面和应用软件一起组成,可以说是全球第一个为手机端上打造的真正是开放的和完整的移动应用软件。Android是基于Linux内核的软件平台和操作系统,早期由谷歌开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了software stack,又名以软件叠层的知识架构,主要分为这三个重要的三部分。低层以内核工作为基础,只提供手机上很多的基本操作功能,以Java语言作为主力编写程序的一部分的开发。而且,它为了去推广这个技术,Google和很多个手机的公司建立了良好的开放手机联盟关系。Android在还没去公开的好久之前就常被传为Google里的电话或iPhone神机里的电话。一般传闻了这个消息的都认为Google开发是开发属于自己的手机,而不是一套完整完美软件上的平台[1]。1.3选题意义目前系统缺少在移动设备上的支持,显然已经不能满足当代大学生高效学习便捷生活的需求了。移动设备硬件的发展,使得手机也可以完成更多的功能需求,Android系统的出现,更是让手机进入大屏触屏时代,在很多日常应用上,功能已经相当接近甚至替代PC机。而开源的Android系统为开发者移植PC应用程序提供了技术上的支持,因此,在PC上的系统有理由也有可能被移植到Android系统的移动设备上来。本课题是研究如何开发一款Android平台上的系统客户端,它将拥有同PC端基本一致的基础功能,同步的信息数据,界面简洁美观,操作简单方便。能为顾客使用该系统带来更多的方便与快捷,便于更直观更方便的买菜。利用手机平台,便可达到事半功倍的效果,使用户节省时间、方便操作,增加效率。1.4研究目标本文主要研究了如何开发一个基于Android 的生鲜农产品购物平台,以普通手机商城为例。用户可以通过Android系统手机,登录该商城。并可进行对商品的查询,购买等功能。与淘宝等购物网站一样,提供对商品的基本操作。只要拥有Android手机,用户就可以随时随地的购买商品。不仅解放了时间空间的限制,更使得用户更加高效率的使用时间,可以把在公交车上的时间,地铁里的时间,等很多等待的时间用来购物。本系统分为前台(手机APP端)和后台(电脑web端),前台提供给用户进行使用,前台的主要功能有用户登陆注册、用户个人信息修改,修改密码,购物车和我的订单功能,在提交订单之后,用户能对商品进行评价。后台提供给商城管理员进行使用,管理员的功能有登录、对现有的农产品进行管理、农产品类别管理、对现有的店铺进行管理、对用户进行管理(用户等级分为三种,一种是店铺商家,一种是购物人员,另一种是系统管理员即登录本系统的管理员)、对用户订单进行管理等。基于Android 的生鲜农产品购物平台前台采用开发环境 Eclipse进行开发程序的界面(HTML5+Javascript)编写手机andriod界面,后台管理员web界面采用面向对象的编程语言PHP编程语言来进行编程,同时把平台所有的数据信息保存到MySQL数据库系统中。前台通过对数据库的访问来显示一些数据以及匹配用户的一些信息。后台通过管理员来操作数据库,对数据库进行修改[2]。第2章 相关的理论和技术2.1 JAVA技术介绍Java语言是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java语言不同于一般的编译语言和直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。这样的平台非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的?C#语言[7]。2.2 Eclipse平台Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。虽然大多数用户很乐于将 Eclipse 当作 Java?集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于?Java开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP、Android等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse 项目、Eclipse 工具项目、Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始[8]。2.3 Android基本框架介绍Android平台的基本框架[3]。(1)ApplicationsApplication Android会同一个主要的应用程序开发包一并发布出来,这个app程序包包含了一下内容email客户端,SMS,日历功能,地图的查找,浏览器的查看,联系人进行管理等。这些的app程序必须要用JAVA编写的。(2)Application FrameWork开发者完全可以去查看只要的应用程序所用到的API framework。该application framework用来简化很多组件的软件起到重用的效果;任何一个application 都可以去发布它的相应功能块,而且任何other的application 都可以去使用其它发布的很多功能块。该application 重用的机制使得很多组建可以被user替换。所有的application都由很多的服务功能和系统里起到的功能所组成,包括:Views可以用来建application ,包括lists,网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可以内嵌到手机里的web浏览器Content Providers使得application 可以去访问另一个人的application 的数据(如联系人数据库),或者共享它们自己的数据。资源管理器可以去提供很多非代码的资源查看,如localhost string的访问,图形,和分层文件(layout files)。Notification 使得application可以在状态栏中显示客户通知信息。活动类管理器(Activity Manager)用来管理application 的activity并提供很多常用的导航进行回退的功能。2.4 Android的工程(1)Android项目Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartIntent()方法来使各组件进行跳转Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局)Android的线程,以及线程之间通信的中介:Handler类Android配置文件:AndroidManifest.Xml及res资源文件中各种属性布局方式引用的资源等。Android系统将插件ADT集成到了Eclipse工具上,因此,一个Android程序启动后,系统会启动一个模拟器(Emulator)(如下图),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。我们也可以将右边的键盘通过代码属性设置将其隐藏,界面的大小可自由设[9]。 (2). Android工程程序结构(3) .AndroidManifest.xml文件在AndroidManifest.Xml中有一个根结点
第1章 引言 3
1.1 课题背景 3
1.2研究现状 3
1.3选题意义 4
1.4研究目标 4
第2章 相关的理论和技术 5
2.1 JAVA技术介绍 5
2.2 ECLIPSE平台 5
2.3 ANDROID基本框架介绍 6
2.4 ANDROID的工程 7
第3章 系统需求分析 9
3.1 可行性分析 9
3.2 功能需求概述 9
3.3 UML用例图 12
第4章 系统设计 14
4.1功能模块设计 14
4.2 程序流程图设计 14
4.2 数据库(ER)图设计 15
第5章 系统实现 18
5.1 主要功能模块的实现 18
5.1.1 用户注册登录的实现 18
5.1.2 商品购买过程 22
5.1.3个人信息的实现 28
5.1.4 后台管理实现 30
总结 32
致 谢 33
参考文献 33
基于android的生鲜农产品的购物平台
引言
目录
目录
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2303.html