正文
图4-2 主界面
2. 食谱功能模块含有三个界面,分别是首页界面、推荐界面、我界面。如图4-3、4-4、4-5所示
图 4-3 食谱首页界面 图4-4 食谱推荐界面 图4-5 食谱我界面
3. 列车功能模块含有首页、保存和提醒界面。如图4-6,4-7,4-8所示
图 4-6 列车首页界面 图4-7 列车保存界面 图4-8 列车提醒界面
4. 天气功能模块主要是天气显示界面,如图4-9所示。
图4-9 天气界面
4.3 系统数据库模型设计
4.3.1
E-R图
17
正文
E-R图即实体-联系图。它是描述现实世界概念结构模型的有效方法。构成E-R图的基本要素是实体型、属性和联系。
? 实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和
刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名。
? 属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形
表示,并用无向边将其与相应的实体连接起来
? 联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。在E-R图中用菱
形表示,菱形框内写明联系名 1. 食谱数据E-R图:
2. 收藏的食谱数据E-R图3. 列车时刻数据E-R图
4. 城市数据E-R图
食谱名食谱图片食谱食谱制作过程食谱材料 图4-10 食谱实体图
食谱名收藏食谱食谱材料食谱制作过程 图4-11 收藏食谱实体图
始终站车次列车开始到达时间历时
图4-12 列车实体图
18
正文
城市名城市 图4-13 城市实体图
4.3.2 数据库设计
本软件建立了数据库life.db,该数据库共包含四个数据库表:FOOD,CITY,COLLECT,TRAIN。 1. 表4-2为食谱信息表FOOD,该表记录了食谱的信息
表4-1 食谱信息表
列名 foodid foodname foodimg foodmaking foodmaterail 数据类型 允许空 integer text text text text N Y Y Y Y 说明 主键,递增 食谱名 食谱图片 食谱制作过程 食谱材料 2. 表4-3为食谱收藏信息表COLLECT,该表记录了收藏的食谱信息
表4-2 食谱收藏信息表
列名 foodid foodname foodmaking foodmaterail 数据类型 允许空 integer text text text N Y Y Y 说明 主键,递增 收藏的食谱名 收藏的食谱制作过程 收藏的食谱材料 3. 表4-4为天气城市信息表CITY,该表记录了城市的信息
表4-3 城市信息表
列名 cityid cityname 数据类型 允许空 integer text N Y 说明 主键,递增 城市名 4. 表4-5为列车时刻信息表TRAIN,该表记录了列车时刻查询后保存的信息
表4-4 列车信息表
列名 trainid traincode trainstation traintime usetime 数据类型 允许空 integer text text text text N Y Y Y Y 说明 主键,递增 列车车次 列车起始站 列车起始时间 列车历时时间 19
正文
第五章 生活小助手软件实现
本章主要介绍生活小助手软件的具体实现的功能。分别从主界面、食谱功能模块、列车时刻功能模块、天气预报功能模块介绍,介绍了每个功能模块的主要界面,以及每个界面之间的联系,同时也介绍了核心代码。
5.1 主界面
主界面是一个系统的开始,主界面主要功能是实现各个功能模块的切换。程序打开后首先进入欢迎界面,持续1-2秒后进入主界面。在主界面中,通过点击食谱、天气、列车按钮,分别进入到食谱界面,天气预报界面,列车时刻界面。主界面对应的程序名为com.bxy.helperoflife包下的MainActivity。欢迎界面、主界面如下:
图5-1 欢迎界面 图5-2 主界面
核心代码如下:
foodbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(MainActivity.this, FoodMainActivity.class); startActivity(intent);
20
正文
}
}); //点击食谱按钮跳转到食谱界面
weatherbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { }
Intent intent1=new Intent();
intent1.setClass(MainActivity.this, WeatherMainActivity.class); startActivity(intent1);
}); //点击天气按钮跳转到天气界面 trainbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { }
Intent intent2=new Intent();
intent2.setClass(MainActivity.this, TrainMainActivity.class); startActivity(intent2);
}); //点击列车按钮跳转到列车界面
5.2 食谱功能模块
在主界面点击食谱按钮后进入食谱界面。食谱功能又分为三个模块:首页、推荐和我。
首页模块提供了食谱的分类查询和通过食谱名直接查询。通过食谱名查询,如果失败则会跳出对话框,选择是否自制食谱,选择是则会跳转到自制食谱界面;如果查询成功则显示该食谱的制作方法,在显示界面上可以选择收藏该食谱。点击食谱的分类图标(荤菜、素菜、海鲜、汤、粥),就可以跳转到分类界面,以列表显示各菜谱。
推荐模块通过列表显示常用且好吃的食谱,可以直接点击某个食谱,显示该食谱的制作方法。在显示界面上可以选择收藏该食谱,收藏后跳转到收藏界面。
我模块包括我的收藏和自制食谱两个功能。通过点击我的收藏按钮跳转到收藏界面,点击收藏列表的条目就可以查询到收藏的菜谱的具体制作方法,长按收藏列表的条目可以实现删除的功能。点击自制食谱跳转到自制食谱界面,在自制食谱界面可以选择保存自制的食谱。
三个主要具体页面如下:
21