上篇文章我们先完成了食物和运动的数据模型的设计,有了这些数据我们就可以基于它们添加到饮食记录中去了
一、回顾页面原型
页面的顶部是对饮食的统计信息,这个后面再说
下面就是饮食记录列表的信息,具有分组信息(类型),数据就有图片、名字、建议量等
二、正式开发前的准备
1.数据模型
还是跟上一篇文章一样,因为数据模型的代码较为固定,所以黑马为我们早就提供好了这些代码
export default class RecordType{
/**
* 类型id
*/
id: number
/**
* 类型名称
*/
name: ResourceStr
/**
* 类型图标
*/
icon: ResourceStr
/**
* 类型推荐最小卡路里
*/
min: number
/**
* 类型推荐最大卡路里
*/
max: number
constructor(id: number, name: ResourceStr, icon: ResourceStr, min: number = 0, max: number = 0) {
this.id = id
this.name = name
this.icon = icon
this.min = min
this.max = max
}
}
/**
* 饮食记录的页面数据模型
*/
export default class RecordVO {
/**
* 记录id
*/
id: number
/**
* 饮食记录类型
*/
typeId: number
/**
* 卡路里总数
*/
calorie: number
/**
* 记录中的食物或运动信息
*/
recordItem: RecordItem
/**
* 食物数量或运动时长,如果是运动信息则无
*/
amount: number = 0
}
2.数据操作接口
enum RecordTypeEnum {
/**
* 早餐
*/
BREAKFAST,
/**
* 午餐
*/
LUNCH,
/**
* 晚餐
*/
DINNER,
/**
* 加餐
*/
EXTRA_MEAL,
/**
* 运动
*/
WORKOUT
}
/**
* 记录类型常量
*/
const RecordTypes: RecordType[] = [
new RecordType(0, $r("app.string.breakfast"), $r("app.media.ic_breakfast"), 423, 592),
new RecordType(1, $r("app.string.lunch"), $r("app.media.ic_lunch"), 592, 761),
new RecordType(2, $r("app.string.dinner"), $r("app.media.ic_dinner"), 423, 592),
new RecordType(3, $r("app.string.extra_meal"), $r("app.media.ic_extra_m"), 0, 169),
new RecordType(4, $r("app.string.workout"), $r("app.media.ic_workout")),
]
export {RecordTypes, RecordTypeEnum}
class RecordModel {
//需要我们自己开发
}
let recordModel = new RecordModel()
export default recordModel as RecordModel
三、正式开发
我们需要给RecordModel准备关系型数据库表,所以我们要单独定义一个数据库对象
export default class RecordPO{
/**
* 记录id
*/
id?: number
/**
* 饮食记录类型
*/
typeId: number
/**
* 记录中的食物或运动信息
*/
itemId: number
/**
* 食物数量或运动时长,如果是运动信息则无
*/
amount: number
/**
* 记录的日期
*/
createTime: number
}
其中的建表语句黑马也早就为我们写好了
/**
* 数据库建表语句
*/
const CREATE_TABLE_SQL: string = `
CREATE TABLE IF NOT EXISTS record (
id INTEGER PRIMARY KEY AUTOINCREMENT,
type_id INTEGER NOT NULL,
item_id INTEGER NOT NULL,
amount DOUBLE NOT NULL,
create_time INTEGER NOT NULL
)
`
class RecordModel {
}
let recordModel = new RecordModel()
export default recordModel as RecordModel
那么其实到这里本篇文章的内容已经结束了,由于作者的每一个文章都是对应的黑马的一个视频,所以他下节课讲我就下篇文章写(狗头)
OK,我们下篇文章接着讲,我们这里附上黑马程序员数据模型饮食记录的视频链接,文章配合视频更好理解哦。