索栏下面的显示列表中显示出来,结果蔬菜,菜商,如果想要查看订单详情可以直接点击,就可进入相应的介绍界面,非常方便用户的选择。
注销功能就是将用户在本地的保存信息给注销掉一旦注销后,用户下次登录该软件必须重新进行用户认证才可以继续使用该软件。该软件的程序结构图如下图4-4所示:
图4-4 程序框图
4.1.4蔬菜宝手机APP用例图
蔬菜宝手机APP分为三种不同的用户-------生产者,消费者和管理员,其中生产者接收订单。消费者可以对自己需要的菜进行网上订购,订单管理,,无论生产者还是消费者都可以通过手机客户端将信息传递给数据库,然后通过后台管理文件对数据库进行合理的增删改查,两者都属于使用者范围,能够进行的操作比较固定,而管理员对软件的功能以及以上双方的行为进行规范,其可以不通过手机端直接对数据库进行操作。不同的用户执行不同的操作,完成不同的功能。软件的用例图4-4如下:
图4-5 蔬菜宝用例图
4.1.5蔬菜宝手机APP时序图
蔬菜宝手机APP主要是实现用户购买蔬菜的功能,下图4-5展示的是购买时的时序图用户登录后,进入商家展示见面,用户选择商家后,进入菜品选择界面,用户完成商品订单后,把订单信息传递给后台PHP程序,完成数据库的更新。上图只是展示了本款软件其中一个主要的功能,其实软件的每一个功能都需要服务器端的PHP文件和数据库文件提供信息支持。他们是不可分割的整体,暂时分开只是为了维护方便和满足软件开发规范。
图4-6 蔬菜宝购菜时序图
用户登录系统调用login.java 生成登录界面用户输入用户名和密码,传递给服务器端login.php文件,login.php文件连接数据库并与注册用户表user表进行匹配,如果匹配成功则用户成功登录系统,用户成功登录会调用seller.java文件生成商家列表,该文件会自动的往服务器端发送查询请求,服务器端的PHP文件查询数据库中的seller数据表并将相关的内容输出出来,客户端接收该输出内容,成功显示商家列表。用户点击商家列表中的商家,会将商家的ID传递给服务器端的seller_vegetable.php,该文件将会接收客户端的信息并连接数据库查询vegetable表,查询出满足该信息的蔬菜,并在商品展示页集中显示。在商品展示页用户可以选择自己想要购买的蔬菜品种和蔬菜数量,一旦选择选择完毕将会将订单信息传递给结算类jiesuan.java用户将会查询数据库,看订单总额是否满足起送价,满足起送价则将订单详情插入数据库,并且返回操作结果,客户端收到返回结果后将会进行相应的操作。
4.2 蔬菜宝手机APP用户权限模块设计
蔬菜宝手机APP分为三种不同的用户-------生产者,消费者和管理员,其中生产者自己建立增删菜的样品,消费者可以对自己需要的菜进行网上订购,管理员对软件的功能以及以上双方的行为进行规范。
4.2.1 差异化管理模块详细设计
由于不同用户的x需要的功能不同,所以不同权限的用户可能需要安装不同的APP程序。不同的APP其中的功能也不相同,鉴于,不同权限用户使用APP功能出现交集的可能性不是很大,所以将不同用户使用的APP进行分开,以方便用户安装使用。
首先消费者,消费者需要进行用户认证,消费者将用户名和密码输入到客户端的登陆界面,有登陆界面将用户信息传递给服务器端,同数据库中的注册用户信息相匹配,同时将匹配结果返回客户端,匹配成功的话,用户登录系统,否则需要用户重新输入。消费者认证成功后,进入软件的首页,在软件首页上是展示商家的信息,这些商家信息来自数据库中的seller表,他通过PHP文件将客户端请求的数据库信息处理输出,在这用户可以根据商家的信息选择,自己想购买蔬菜的蔬菜商,点击蔬菜商,发送请求到服务器端,服务器根据蔬菜商代号,在seller_detail表中查询并输入信息,客户端接收信息在蔬菜商首页上展示,这里你可以收藏该蔬菜商,也可以在下面的蔬菜列表中选择自己想要的蔬菜品种及数量,用户通过软件订购到所需要的蔬菜的总额超过该蔬菜商的起送价或者用户可以给予一定小费的情况下可以下达订单,一旦生产者确定订单,消费者除特殊情况外无权取消订单,同时消费者不可以对不同商家的销售的蔬菜信息进行修改。订单支付成功后,会借助PHP文件对数据库中的数据表进行添加操作,保存该订单以及的订单的详细情况,当用户想要查看历史订单时可以通过左拉抽屉选择订单选项,这里我们可以查看自己曾经下达订单的时间及详情,也可以删除以往的订单,单订单一旦删除不可恢复。用户再次登录系统想要购买蔬菜,可以先查看自己的收藏列表,收藏列表中显示了自己曾经收藏的蔬菜商,用户通过收藏列表可以更加快速的进入自己想要的蔬菜商界面。当然用户如果没有收藏的习惯也可以通过查找来进行模糊搜索,只要输入关键字就可以在List中显示到自己查找的内容。当然用户可以注销用户,以便登录其他用户。
就生产者来说,除了以上功能外,生产者方面还要可以对蔬菜信息进行修改,可以准确的接收到消费者的订购信息,然而一旦确认订单后,生产者无权取消订单。并能够及时接收到,用户的订单信息,这里可以通过推送来完成,除此之外生产者需要及时的将蔬菜运送到订单指定位置。
关于管理员,除了实现消费者功能外,管理员可以对不同的商户及顾客进行统计管理,可以对不守信用的顾客和商家进行相应的处罚。管理员不一定需要专门的客户端可以通过网页直接操作后台或服务器端。
4.2.2 一体化管理模块详细设计
尽管不同用户操作不同,但是在数据方面都采用统一的数据库,以便使软件能够实现即时的更新。
第5章蔬菜宝手机APP的实现与测试
本章主要讲述了蔬菜宝手机APP的软件设计与实现,讲明了在软件代码设计过程中遇到的问题和解决方案等内容。
5.1蔬菜宝手机APP的总体实现
5.1.1 系统登录和认证的实现
蔬菜宝手机APP是在O2O模型的基础上进行的开发,用户在操作之前,首先要进行登录认证。根据数据库中的注册信息与用户输入的信息进行比较,如果匹配则用户可以登录其中实现视图如图5-1-1所示:展示图可以看出用户可以输入账户和密码,用户输入后界面会将用户填写的信息传送到后台的login.php文件中,该PHP文件可以通过连接数据库进行匹配,如果用户存在,即user表中存在用户输入信息,则用户可以进行登录,否则用户登录失败。
图5-1-1 登陆界面
该代码片段描述的是获取用户输入信息后,进行与服务器端的网络交互,这里要注意Android4.0以后进行网络交互必须新起进程,原来的UI进程只能进行UI操作,如果子进程传递信息的话可以用handler.具体详情看详细代码,这里不再相信解释。在APP方面登录界面的具体实现代码片段如下表5-1-1所示:
表5-1-1 登陆界面实现代码
new Thread(new Runnable() {
public void run() {
Map
parmas = new HashMap();
parmas.put("name", name);
DefaultHttpClient client = new DefaultHttpClient();//http客户端
HttpPost httpPost = new HttpPost("10.0.3.2/test/post.php");
ArrayList pairs = new ArrayList();
pairs.add(new BasicNameValuePair("name", name));
pairs.add(new BasicNameValuePair("password", password));
try {
UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(pairs, "utf8");
httpPost.setEntity(p_entity);
HttpResponse response = client.execute(httpPost);
HttpEntity entity = response.getEntity();
I
上一篇:移动端APP应用开发课程论文
下一篇:试论APP广告在手机中的应用