1
移动应用开发技术课程
实验报告
学号:
姓名:
班级:
教师:
2
第一章:开发需求
1.1 相关要求描述
(1)需要整个购物车的首页,首页包含店铺的基本信息,相关广告和
相关热门产品;
(2)需要至少2-3个类别的产品,每个类别至少4-6个产品的展现,需
要能点击分类展示该分类下的产品信息,产品信息需要包含图片和相关图
文介绍;
(3)需要能展示产品详细信息,可以把产品添加到购物车中,在购物
车中可以对产品的数量进行更改和下订单操作;
(4)可以在订单页面完成快递方式的选择和客户地址的录入或者选
择,可以有模拟支付,支付完成后可以看到该订单信息;
(5)需要使用SQL Lite数据库存储用户信息、订单信息、产品信息
等;
在技术上要求通过Android原生态进行开发,不能使用html5的方式开发,
每个学生独立完成;
1.2 功能描述
(根据要求,列出所有的功能,每个功能 2-3 句话描述)
(1)登录注册功能:有购物车应用的登录界面,该登录界面实现了用户输
入用户名和密码的功能,并提供了登录、记住密码和注册(注册包括账号密码、
收货地址)的操作
(2)商品展示功能:在购物车商品界面中,每个商品项显示着自己的通常
包括商品名称、商品价格和商品基本信息等信息
(3)流动好物商品滑动窗口界面:在购物车商品界面顶端有好物推荐的流
动窗口,方便用户掌握热卖的、促销的一些商品
(4)商品添加:用户可以通过点击按钮或其他交互方式将商品添加到购物
3
车中。在点击添加按钮后,可以弹出一个对话框或显示一个商品列表供用户选择。
(5)商品删除:用户可以选择购物车中的某个商品,并通过删除按钮或滑
动操作将其从购物车中删除。
(6)数量调整:用户可以增加或减少购物车中商品的数量,以便调整购买
数量。可以提供加号和减号按钮或者允许用户手动输入数量。
(7)商品总计:购物车界面通常显示购物车中所有商品的总计金额,即用
户需要支付的总金额。该金额可以根据商品的数量和价格进行动态计算。
(8)结算功能:购物车界面可以提供结算按钮,当用户点击结算按钮时,
可以跳转到结算页面,显示支付方式和相关信息,以完成购买流程。
(9)用户个人订单界面:用户可以点击"我的订单"界面中的"我的记录"来
查看自己的订单记录。点击该按钮会显示用户的订单信息。
(10)修改收货地址:用户可以点击"我的订单"界面中的"修改收货地址"
(change_address)按钮来修改收货地址。点击该按钮会弹出一个对话框,用户
可以在对话框中输入新的收货地址。点击"确定"按钮后,程序会更新用户的收货
地址,并在数据库中进行相应的更新操作。
(11)我的个人信息:用户可以点击"我的订单"界面中的"个人信息"(myinfo)
按 钮 来 查 看 和 编 辑 自 己 的 个 人 信 息 。 点 击 该 按 钮 会 跳 转 到 MyInfo 活 动
(Activity),用户可以在该活动中查看和修改个人信息。
(12)联系客服:用户可以点击"我的订单"界面中的"联系客服"(contact)
按钮来联系客服人员。点击该按钮会打开 QQ 聊天窗口,允许用户与客服进行交
流。
(13)关于页面:用户可以点击"我的订单"界面中的"关于"(about)按钮
来查看关于应用的信息。点击该按钮会跳转到 About 活动(Activity),显示应
用的相关信息。
4
第二章:系统设计
2.1 数据库设计
(购物车的数据库设计,包括数据库 er 图和相关表结构)
数据库 er 图:
5
相关表结构:
数据库由四部分组成分别是:DBCart、DBRecord、DBStuff、DBUser
DBUser:
(1)构造函数:
DBUser 类有两个构造函数。
第一个构造函数接收上下文、数据库名称、游标工厂和版本作为参数,并通过调
用父类的构造函数来初始化数据库。
第二个构造函数接收上下文作为参数,并通过调用 getWritableDatabase() 方
法来初始化数据库。
(2)插入用户信息:
add() 方法用于向数据库的 users 表中插入用户信息。
该方法接收一个 User 对象作为参数,通过调用对象的方法获取用户名、密码和
地址,并将它们存储在 ContentValues 对象中。
然后使用 insert() 方法将数据插入到 users 表中,并返回插入结果。
如果插入成功,方法会返回 true,否则返回 false。
(3)修改用户信息:
change() 方法用于修改数据库中的用户信息。
该方法接收一个 User 对象作为参数,通过调用对象的方法获取要修改的用户的
用户名和新的地址,并将新的地址存储在 ContentValues 对象中。
然后使用 update() 方法根据用户名更新 users 表中的地址,并返回更新结果。
如果更新成功,方法会返回 true,否则返回 false。
(4)验证用户名和密码:
check() 方法用于验证用户名和密码是否匹配。
该方法执行查询语句 dp.query("users", null, null, null, null, null,
null),获取 users 表中的所有数据。
然后,遍历查询结果,提取每个用户的用户名和密码,并与给定的用户名和密码
进行比较。
如果找到匹配的用户名和密码,方法将返回 true,表示验证成功;否则返回