需求分析

This commit is contained in:
ScorpioMiku
2018-08-27 23:38:26 +08:00
parent 92476c7a2e
commit 8b1d6a6527
4 changed files with 145 additions and 20 deletions

View File

@@ -17,12 +17,12 @@
8商城健身之类
* **写的什么jb玩意啊?**
| 详细需求分析 | 备注 | 开发进度 |
| ------------------------ | ---- | -------- |
| | | |
| 为每一个推荐菜品提供菜谱 | | |
| | | |
| | | |
| 详细需求分析 | 备注 | 开发进度 |
| ------------ | ---- | ---- |
| | | |
| 为每一个推荐菜品提供菜谱 | | |
| | | |
| | | |
@@ -48,7 +48,7 @@
* 456赞,目前为止发现的最高的相关数据集
* nutrition facts for **McDonalds** : https://www.kaggle.com/mcdonalds/nutrition-facts
* Calories, fat, and sugar for every cheeseburger, fries, and milkshake on menu
* 更牛逼的食材分析和菜谱推荐: http://pic2recipe.csail.mit.edu/
* 更牛逼的食材分析和菜谱推荐: http://pic2recipe.csail.mit.edu/ 加强版百度API
* 莫须有数据集
* 糖尿病 时间-血糖含量关系数据 : https://archive.ics.uci.edu/ml/datasets/diabetes
* GPA和饮食习惯的关系 : https://www.kaggle.com/borapajo/food-choices
@@ -59,14 +59,52 @@
### 任务分配
| 姓名 | 任务 |
| ------ | ------------------------------- |
| 蒋昱葳 | 1. 网络爬虫收集相关信息和数据集 |
| 王天锐 | |
| 秦楚霁 | |
| 赵励志 | |
| 姓名 | 任务 |
| ---- | ----------------- |
| 蒋昱葳 | 1. 网络爬虫收集相关信息和数据集 |
| 王天锐 | |
| 秦楚霁 | |
| 赵励志 | |
0、9种体质 //暂定
1、根据用户的体质来进行推荐菜谱与制定营养计划 ---- 两种模式9体模式和普通健身模式
2、用户可以随时输入自己当前吃的食物的名字与量 ---- 随时记
3、动态爬虫——http://www.boohee.com/ 每种食材的卡路里等信息优先kaggle
4、卡路里累加器及其可视化、每天个人信息可视化
5、https://www.xinshipu.com/ 菜谱信息
6、通过照片提取出食物的卡路里等信息 百度api
7、http://www.zyyssl.com/cookbook.html //中药食材信息、药膳信息、9体、各种病针对的药膳
8、照片识菜帮
9、http://www.ttmeishi.com/CaiXi/YaoShan/ //病人对应的食谱
10、测算http://www.chinacaipu.com/zt/sccs.html 体质算法
11、http://www.chinacaipu.com/menu/jianya/ 特殊人群(压力之类的)
* 登陆、注册
* 输入基本信息信息(身高、体重、性别、年龄)
* 额外信息(工作、周均运动时间、睡眠段、九体、病史)
* 针对没有填写额外信息的用户:选择减肥、增肌、塑形 、保持
* 可视化(自己的信息和目标标准的比较、根据上述选择改变)每天的量(手环、手机计步器),近几天的曲线
* 推荐菜谱两个tab一个定制菜谱一个是随机智能推送
* 单一菜推荐
* 组合推荐
* 一周大菜谱推荐(根据每日你自己加的一些信息动态改变)
* 如果填了额外信息的,就是药膳推荐(一周药膳、周二普通、周三药膳。。。。)(注意可能不想减肥啥的)
* 百度api->动态录入每顿饭的信息(防抖处理,这里吹牛逼算法,推测吃了多少卡路里),识别后把,动态改变一周定制计划
* 做菜环节加入识菜帮所有功能,并加入详细食材信息卡路里等
* 针对特殊人群,混到推荐里推送有利于健康的**方法**信息(敷黄瓜方法)
* 特殊病人群体每日相关东西的摄取量的一个限定区间显示
1、服务器
2、app UI
3、可视化计步器、可视化
4、推荐

View File

@@ -48,5 +48,7 @@ dependencies {
//viewpager transforms
compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.2.32@aar'
//个人信息的那个条条
// compile 'com.akexorcist:RoundCornerProgressBar:2.0.3'
compile 'com.akexorcist:RoundCornerProgressBar:2.0.3'
//wave
compile 'com.gelitenight.waveview:waveview:1.0.0'
}

View File

@@ -1,15 +1,35 @@
package com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.bodyinformation;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.akexorcist.roundcornerprogressbar.IconRoundCornerProgressBar;
import com.akexorcist.roundcornerprogressbar.RoundCornerProgressBar;
import com.example.ninefourone.nutritionmaster.R;
import com.example.ninefourone.nutritionmaster.base.BaseFragment;
import com.gelitenight.waveview.library.WaveView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
/**
* Created by ScorpioMiku on 2018/8/26.
*/
public class BodyInformationFragment extends BaseFragment {
@BindView(R.id.progress_1)
RoundCornerProgressBar progress1;
@BindView(R.id.progress_2)
IconRoundCornerProgressBar progress2;
Unbinder unbinder;
@BindView(R.id.wave_view)
WaveView waveView;
@Override
public int getLayoutResId() {
return R.layout.body_information_fragment;
@@ -17,11 +37,49 @@ public class BodyInformationFragment extends BaseFragment {
@Override
public void initView(Bundle state) {
progress1.setProgressColor(Color.parseColor("#ed3b27"));
progress1.setProgressBackgroundColor(Color.parseColor("#808080"));
progress1.setMax(70);
progress1.setProgress(15);
int progressColor1 = progress1.getProgressColor();
int backgroundColor1 = progress1.getProgressBackgroundColor();
int max1 = (int) progress1.getMax();
int progress_1 = (int) progress1.getProgress();
progress2.setProgressColor(Color.parseColor("#56d2c2"));
progress2.setProgressBackgroundColor(Color.parseColor("#757575"));
progress2.setIconBackgroundColor(Color.parseColor("#38c0ae"));
progress2.setMax(550);
progress2.setProgress(147);
progress2.setIconImageResource(R.drawable.test_avatar);
int progressColor2 = progress2.getProgressColor();
int backgroundColor2 = progress2.getProgressBackgroundColor();
int headerColor2 = progress2.getColorIconBackground();
int max2 = (int) progress2.getMax();
int progress_2 = (int) progress2.getProgress();
waveView.setShapeType(WaveView.ShapeType.CIRCLE);
}
public static BaseFragment getInstance() {
return new BodyInformationFragment();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// TODO: inflate a fragment view
View rootView = super.onCreateView(inflater, container, savedInstanceState);
unbinder = ButterKnife.bind(this, rootView);
return rootView;
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
}

View File

@@ -1,12 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark">
android:background="@color/cardview_dark_background"
android:gravity="center"
android:orientation="vertical">
<com.akexorcist.roundcornerprogressbar.RoundCornerProgressBar
android:id="@+id/progress_1"
android:layout_width="150dp"
android:layout_height="40dp"
app:rcBackgroundPadding="5dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="page2" />
</android.support.constraint.ConstraintLayout>
android:layout_height="100dp" />
<com.akexorcist.roundcornerprogressbar.IconRoundCornerProgressBar
android:id="@+id/progress_2"
android:layout_width="150dp"
android:layout_height="wrap_content"
app:rcBackgroundColor="#ece9e9"
app:rcBackgroundPadding="5dp"
app:rcIconPadding="5dp"
app:rcIconSize="50dp"
app:rcRadius="10dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="100dp" />
<com.gelitenight.waveview.library.WaveView
android:id="@+id/wave_view"
android:layout_width="200dp"
android:layout_height="200dp" />
</LinearLayout>