安卓期末大作业——鲜花商店APP(源码+任务书)
《移动应用开发》
课程考核报告
姓 名: | |
学 号: | |
完 成 日 期 2022年 5月
建议从以下方面填写:1. 课题的作用和意义 2.课题综述 3.完成思路与方法 4.软件设计流程图(图示说明系统) 5. 课程设计的收获格式(宋体、小四)、报告长度3-4页
- 课题的作用和意义
“电子商务”这个概念起源与20世纪70年代。当时国际上一些大公司可通过建立自己的计算机网络以实现各个机构之间、商业伙伴的信息共享,这个过程称为 EDI。 EDI这种方式通过传递标准数据流不仅可以避免人为失误,而且能有效降低成本,提高效率。在过去30年中,世界1000个最大企业中,有95﹪以上使用了或还在使用这一技术。 EDI无论过去现在也是鲜花销售的基础。
鲜花销售,即在信息社会中,掌握信息技术和商务规则,利用电子工具和网络从 事的鲜花活动,随着网络技术的成熟,网上银行,网上商店等将逐步替代传统商务活动。鲜花销售以其公平,快捷,方便,高效,成本低,中间环节少,全球性,全天候交易和服务等巨大优势,已经开始赢得人们的青睐。
“鲜花销售”是由 IBM公司于1998年率先提出并迅速得到广泛认同。包括网络广告、在线电子服务等内容,涵盖了过去、现在和未来所有电子形式实现的商务活动手段。随着时代发展、计算机及网络产品、互联网技术、安全支付等鲜花销售的支撑技术在鲜花销售应用的大潮中产生质的飞跃。它不仅局限带动互联网经济的飞速发展,而是将深入到经贸的每一个角落,深入千家万户。鲜花销售提出了一种全新的商业机会、需求、规则和挑战。
- 课题综述
作为亚洲最大贸易大国之一,我国的鲜花销售是从1994年开始出现的,并且在随后六年发展相当迅速。据中国互联网信息中心公布数据表明,我国现有网民 2250万人,网上商店800余家,另外证券公司、金融结算机构、民航订票、信用卡发放等机构和领域也已成功迈入了鲜花销售,并已经可以进行大量可靠的交易。虽然总体而言,我国鲜花销售仍处于初级阶段,企业之间的网络交易,企业和消费者之间网上购物尚处起步阶段,但随着Internet迅速发展,鲜花销售将成为国内Internet建设的一大热点。
当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。目前国内很多大中城市的书店还是以导购员站柜台为主,这样给书店带来很多管理上的问题;其次,由于书店是人群集中的地区,这样为管理以及保安等方面也带来很多的不便。因此,为了解决这些管理以及其他等一些问题,我们迫切需要一种通过网络来进行鲜花交易的平台。借助Internet/Intranet提供给我们的处理信息及时快捷,因此开发了本套鲜花销售系统。
- 完成思路与方法(含流程图)
3.1需求分析
功能需求分析:
此APP主要可以实现鲜花的在线浏览和加入购物车,主要有以下几点:
- 免费注册信息。
- 修改用户信息。
- 可以在线查看鲜花信息,放进购物车。
数据库需求分析:
数据库在一个信息管理系统中占有极其重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。合理的数据库也有利于程序的实现。
设计数据库系统时应首先充分了解用户的各个方面的需求,包括现有的以及将来可能增加的需求。用户的需求具体体现在对各种信息的提供、保存、更新和交流,这就要求数据库结构能充分满足各种信息的输出和输入。本APP使用Sqlite数据库实现鲜花数据的增删改查。鲜花数据表字段的设计如下所示:
字段 | 类型 |
rowid | long |
xuhao | int |
name | string |
desc | string |
price | float |
thumb_path | string |
pic_path | string |
3.2系统设计与实现
3.2.1 系统流程图
3.2.2 界面设计
(1)注册界面和登录界面
(2)花店列表页、鲜花详情页、购物车页面
- 个人中心
3.2.3类分析与设计
(1)GoodsInfo和Cartinfo类:这个这个类定义了鲜花和购物车条目的属性, 并同时映射到数据库对应的属性字段;在GoodsInfo类中同时快速初始化了内置的鲜花条目
(2)GoodsDBHelper和Cartinfo类:利用单例模式获取数据库帮助器的唯一实例,打开数据库的读写连接,对数据库中的数据表进行增删改查。DBOpenHelper类:保存用户注册信息数据和进行登录数据校验。
(3)RegisterActivity类:增添了图形验证码校验,防止频繁注册。
- LoginActivity类:
从EditText的对象上获取文本编辑框输入的数据,并把左右两边的空格去掉
String name = mEtLoginactivityUsername.getText().toString().trim();
String password = mEtLoginactivityPassword.getText().toString().trim();
进行匹配验证,先判断一下用户名密码是否为空,
if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(password))
再进而for循环判断是否与数据库中的数据相匹配
if (name.equals(user.getName()) && password.equals(user.getPassword()))
一旦匹配,立即将match = true;break;
否则 一直匹配到结束 match = false;
登录成功之后,进行页面跳转:
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();//销毁此Activity
- ShoppingChannel类:查询商品数据库中的所有商品记录,并建一个商品项的垂直线性布局,从上到下依次列出商品标题、商品图片、商品价格。
ShoppingDetail类:获取前一个页面传来的商品编号,并根据商品编号查询商品数据库中的商品记录。
(6)UserActivity类:加载个人中心
4. 收获总结
学习完这门课程,我的收获如下:
1、知道如何快速掌握一门语言。在学习JAVA的过程中,娄老师先让我们快速地将课本浏览一遍,找出自己不会的地方,然后带着问题去做实验,这样就能够深刻理解课本中的内容,效率很高;
2、有了做工程的经验。通过项目实践,基本了解了做项目的步骤和方法,即可行性分析、需求分析、总体设计、详细设计、编码测试、运行维护,尤其是对需求分析有了更深刻的了理解,为以后的科研学习打下了基础。