查找不同商家的同种蔬菜,以方便比较购买。
3.3.2 蔬菜宝手机APP功能流程
消费者使用软件时,首先需要登录注册,对用户进行认证,认证成功后才可进行操作,在购买蔬菜前用户可以查看当前或近期的促销活动,以便购买到更加物美价廉蔬菜,购买蔬菜时用户可以查看并选择蔬菜商家,进入出售界面选择并购买自己想要的蔬菜,也可以直接在搜索界面查找想购买的蔬菜,以便对其进行比较,当用户购单达到起送价后,方可下达订单,将订单信息传递给服务器端,完成订单。用户对蔬菜下单后可以在订单中进行查看,订单不仅包括此次订单也包括以前一定时间内的订单,当交易完成后才可对软件进行批评建议。
第4章蔬菜宝手机APP的详细设计
经过需求分析和架构设计,我们了解了蔬菜宝手机APP的需求和架构流程。本章在此基础上,进一步分析系统的模型结构和数据库结构。
4.1 蔬菜宝手机APP的系统建模
4.1.1蔬菜宝手机APP的整体模型结构
要确切的分析蔬菜宝手机APP的设计,有必要先了解蔬菜行业电子商务系统的整体模型结构,用户首先对系统进行进行登录,通过用户名和密码对系统用户进行认证,登入系统后可以进行购买蔬菜,查看订单,收藏商家,搜索蔬菜等功能,在购买蔬菜时,用户可以对自己想要的蔬菜进行选购,满足起送价后可以对订单进行提交,查看订单可以查看自己的购买历史记录,收藏商家可以对自己满意的商家进行收藏,以便再次购买,搜索蔬菜,可以在众多的商家中搜索出自己想要的蔬菜。该电子商务系统的整体模型结构如图4-1所示。
图4-1 系统流程图
在服务器端用户认证时需要传入用户名和密码进login.php,然后通过login.php文件连接数据库的user表进行匹配,一旦匹配失败则要进入注册界面对用户进行注册,成功的话则能进入软件系统,通过seller.php查询数据库中的seller表中的信息并传动到手机客户端显示出来,用于用户了解并选择蔬菜商。Seller_search.php连接vegetable表查询出蔬菜的详细信息,在蔬菜商首页显示,方便用户选择蔬菜数量和下单。
4.1.2蔬菜宝手机APP系统的类图
在蔬菜宝手机APP软件中"抽屉"效果完成了软件功能的整体布局,店家查看Mainactivity中selectItem可以实现功能的跳转,点击不同的功能将由不同的类生成的不同frament替换原先content_frame位置上的原先的frament从而实现不同功能之间的跳转,具体类图跳转如下图4-2所示。
图4-2 抽屉效果类图
程序用抽屉效果进行整体布局其中主类名为Mainactivity,他是继承自Activity类。Oncreat()方法实现了页面的生成,其中包括调用XML布局和和获取各控件的Value值,DrawerItemClickListener方法可以给selectItem中的各控件添加监听,使点击左拉菜单可以进入不同的功能。
在用户认证之前点击selectItem会强制跳转到登陆界面,调用Login.java类,oncreatview(),是创建登录的frament,通过XML文件进行页面布局,从而实现用户输入,onclike()方法是对用户输入进行验证,防止用户密码用户名为空的登录。当用户输入个人信息完整后,会调用postPHP方法将个人用户信息即用户名和密码发送到服务器上同时接收服务器的验证信息,判断用户能否成功登录。由于Android4.0以后UI进程中无法进行网络通信,所以必须在postPHP.java中新起进程run()进行网络信息交换。
在用户成功登陆后,软件进入主页,即商家展示页,其调用sellerfament.java类,sum,cache,listview变量分别为起送价,图像文件保存,商家列表,oncreateview生成frament的页面,实现商家列表展示。在展示时要自定义设配器从而实现每个Item都能正确显示,这里就需要单独调用sellerAdapter类这个类中可以实现适配器的自定义。其中Getcount()是获取商家List的总个数GetItem是获取list中的Item,getview()是设配器中控件与信息的的绑定,因为要异步获取服务器中的图片所以也就需要调用AsyncImageTask.Jave类来异步获取图片,其中正在后台运行:doInBackground(Params...),该回调函数由后台线程在onPreExecute()方法执行结束后立即调用。通常在这里执行耗时的后台计算。计算的结果必须由该函数返回,并被传递到onPostExecute()中。在该函数内也可以使用publishProgress(Progress...)来发布一个或多个进度单位(unitsof progress)。这些值将会在onProgressUpdate(Progress...)中被发布到UI线程[13]。
用户点击查看收藏列表时,首先调用collect.java,通过oncreateviw生成整体界面包括调用布局文件collect.xml文件和控件信息绑定等,在这里要用到了自定义设配器在,其中他与上面商家展示页的内容差不多不再一一解释。
当然除了以上功能外,查看订单搜索等内容大体差不多不再使用类图展示出来。
在进入菜商首页选择和购买蔬菜时,首先是通过seller_vegetable.java类对页面的内容集中布局,它通过oncreateview()将控件信息进行绑定,在判断该用户是否收藏该蔬菜商时调用is_collect.java类来判断用户是否收藏过该商家,商家展示图调用的是AsyncImageTask.Jave.java异步加载图片中的信息,菜品展示菜单调用的seller_detail.java用于自定义适配器。结算按钮调用is_enough.java来判断用户是否满足起送价,具体商家首页类图如下4-3所示。
图4-3 菜商首页类图
如上面类图所展示的要成功实现菜商首页展示图,首先用seller_vegetable.java中的oncreateview()生成新的frament来替换原来的frament,在首页中存在不同的控件调用不同的类文件,其中"收藏"按钮调用is_collect.java文件中的方法run()和handler()连接后台PHP文件Is_collect.php使其查询数据库来来判断该蔬菜商是否已经收藏过了,商家商标及产品展示控件那里调用的是异步加载图片类AsyncImageTask.Jave.java通过doInBackground(Params...)和onPostExecute()对UI界面进行进行异步更新,这里需要传递一控件名iv_image做参数。下面菜品展示列表需要调用自定义设配器seller_detail.java的getView()方法,对List里的item的控件进行布局展示,这里有调用了AsyncImageTask.Jave.java来异步获取蔬菜效果图。"结算"控件需要将订单总额作为参数传递给is_enough.java文件,然后调用其中的run()方法来进行网络通信判断是否满足起送价,当满足起送价后将订单详情传递给jiesuan.java文件,并且上传到服务器保存下来。
4.1.3蔬菜宝手机APP程序框图
用户通过用户名密码进行认证,用户认证需要填写用户名和密码,填写完毕用户名密码后手机端软件首先会对其进行验证,使其符合基本规则,不符合则需要用户重新填写,验证通过后,会将其作为参数传递到服务器端,然后与数据库中user表匹配,匹配成功则用户可以登录。
用户认证通过后可以选择购买蔬菜的功能,首页上也以选择蔬菜商,蔬菜商的基本信息可以在首页上显示出来,例如起送价等信息。用户点击任意蔬菜商后即可进入该蔬菜商首页,在蔬菜商首页你可以收藏该蔬菜商以便下次姐者购买,也可以查看蔬菜商的信息和蔬菜的基本信息,并且选择自己想要的蔬菜,当满足起送价后,用户可以进入结算界面对订单进行结算。
查看订单可以查看以往该用户下达的历史订单,用户通过查看订单可以大体了解到订单的一些信息,例如订单总额和下单时间等,如果用户想要产看订单的详情可以点击订单查看订单的详细情况。
搜索蔬菜功能需要用户输入搜索信息,然后将该信息传递给服务器端进行模糊匹配将所有满足条件的匹配结果在搜
上一篇:
移动端APP应用开发课程论文
下一篇:
试论APP广告在手机中的应用