From a409c2a010ac1ca656ac9fb835ce1a90c469d03d Mon Sep 17 00:00:00 2001 From: ScorpioMiku <1056992492@qq.com> Date: Mon, 8 Oct 2018 21:56:50 +0800 Subject: [PATCH] 1 --- .../nutritionmaster/bean/MyUser.java | 28 +++++++++++++++++ .../RecipeActivity/RecipeActivity.java | 6 ++++ .../classifyresult/DishResultActivity.java | 21 ++++++++----- .../BodyInformationFragment.java | 16 +++++++++- .../bodyinformation/ElementDialog.java | 30 +++++++++---------- .../customization/CustomizationActivity.java | 8 ++--- .../nutritionmaster/utils/ChartDrawer.java | 7 +++-- 7 files changed, 86 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java index 812b030..1d52635 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java @@ -563,5 +563,33 @@ public class MyUser { public void setThiamine(double thiamine) { this.thiamine = thiamine; } + + public void add(Element element, float factor) { + calorie += element.getCalorie() * factor; + carbohydrate += (float) element.getCarbohydrate() * factor; + fat += (float) element.getFat() * factor; + protein += (float) element.getProtein() * factor; + cellulose += (float) element.getCellulose() * factor; + vitaminA += (float) element.getVitaminA() * factor; + vitaminB1 += element.getVitaminB1() * factor; + vitaminB2 += (float) element.getVitaminB2() * factor; + vitaminB6 += element.getVitaminB6() * factor; + vitaminC += (float) element.getVitaminC() * factor; + vitaminE += (float) element.getVitaminE() * factor; + carotene += (float) element.getCarotene() * factor; + cholesterol += (float) element.getCholesterol() * factor; + Mg += (float) element.getMg() * factor; + Ca += (float) element.getCa() * factor; + Fe += (float) element.getFe() * factor; + Zn += (float) element.getZn() * factor; + Cu += (float) element.getCu() * factor; + Mn += (float) element.getMn() * factor; + K += (float) element.getK() * factor; + P += (float) element.getP() * factor; + Na += (float) element.getNa() * factor; + Se += (float) element.getSe() * factor; + niacin += (float) element.getNiacin() * factor; + thiamine += (float) element.getThiamine() * factor; + } } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/RecipeActivity/RecipeActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/RecipeActivity/RecipeActivity.java index 4f7e989..f216b17 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/RecipeActivity/RecipeActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/RecipeActivity/RecipeActivity.java @@ -8,10 +8,12 @@ import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; +import com.example.ninefourone.nutritionmaster.NutritionMaster; import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.adapter.MakeStepAdapter; import com.example.ninefourone.nutritionmaster.adapter.MaterialAdapter; import com.example.ninefourone.nutritionmaster.base.BaseActivity; +import com.example.ninefourone.nutritionmaster.bean.Element; import com.example.ninefourone.nutritionmaster.bean.RecommendFood; import com.example.ninefourone.nutritionmaster.utils.CalculateUtils; import com.example.ninefourone.nutritionmaster.utils.MessageUtils; @@ -122,6 +124,10 @@ public class RecipeActivity extends BaseActivity { @Override public void onBoomButtonClick(int index) { MessageUtils.MakeToast("已添加到记录"); + NutritionMaster.randomSeed = CalculateUtils.getSecond(); + + Element element = new Element(recommendFood.getMenu().getElements()); + NutritionMaster.user.getEaten_elements().add(element, 0.7f); } }); boomMenuButton.addBuilder(builder); diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/DishResultActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/DishResultActivity.java index fb6b9f4..2420b5e 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/DishResultActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/DishResultActivity.java @@ -7,17 +7,18 @@ import android.support.v7.widget.RecyclerView; import android.widget.Button; import android.widget.TextView; +import com.example.ninefourone.nutritionmaster.NutritionMaster; import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.adapter.ResultListAdapter; import com.example.ninefourone.nutritionmaster.base.BaseActivity; import com.example.ninefourone.nutritionmaster.bean.ClassifyResult; -import com.example.ninefourone.nutritionmaster.utils.ConstantUtils; -import com.orhanobut.logger.Logger; +import com.example.ninefourone.nutritionmaster.bean.Element; +import com.example.ninefourone.nutritionmaster.utils.MessageUtils; import java.util.ArrayList; -import java.util.Arrays; import butterknife.BindView; +import butterknife.OnClick; public class DishResultActivity extends BaseActivity { @@ -53,10 +54,7 @@ public class DishResultActivity extends BaseActivity { public void initViews(Bundle savedInstanceState) { Intent intent = getIntent(); results = (ArrayList) intent.getSerializableExtra("LIST"); -// for (int i = 0; i < results.size(); i++) { -// Logger.d(results.get(i)); -// } -// results = ConstantUtils.testData; + resultListAdapter = new ResultListAdapter(results, this); recyclerView.setAdapter(resultListAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(this)); @@ -97,4 +95,13 @@ public class DishResultActivity extends BaseActivity { suger.setText((int) sugarSum + ""); } + @OnClick(R.id.ok_button) + public void onViewClicked() { + MessageUtils.MakeToast("已将信息加入到已吃记录"); + for (int i = 0; i < results.size(); i++) { + NutritionMaster.user.getEaten_elements().add(new Element(results.get(i).getFoodMenu().getElements()), + 1.5f); + } + finish(); + } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java index f9c2c16..35a8b79 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java @@ -185,6 +185,7 @@ public class BodyInformationFragment extends BaseFragment { ArrayList weightPointValues = new ArrayList<>(); for (int i = 1; i < 15; i++) { int y = (int) (Math.random() * 20); + weightPointValues.add(new Entry(i, y)); } ChartDrawer.initSingleLineChart(weightLineChart, weightPointValues, "体重"); @@ -197,6 +198,14 @@ public class BodyInformationFragment extends BaseFragment { ChartDrawer.initSingleLineChart(stepLineChart, stepPointValues, "步数"); } + private int checkY(int y) { + if (y < 7) { + return checkY((int) (Math.random() * 10)); + } else { + return y; + } + } + @Override public void onDestroy() { super.onDestroy(); @@ -208,18 +217,23 @@ public class BodyInformationFragment extends BaseFragment { */ public void refreshUI() { if (NutritionMaster.user.getBmi() != -1) { + weightLineChart.setVisibility(View.VISIBLE); + stepLineChart.setVisibility(View.VISIBLE); weightText.post(new Runnable() { @Override public void run() { weightText.setText(NutritionMaster.user.getWeight() + ""); } }); + }else{ + stepLineChart.setVisibility(View.INVISIBLE); + weightLineChart.setVisibility(View.INVISIBLE); } if (NutritionMaster.element != null) { Logger.d(NutritionMaster.element); try { Element elementTemp = NutritionMaster.element.calculateData(NutritionMaster.user); - float temp = (float) (elementTemp.getCalorie()); + float temp = (float) (elementTemp.getCalorie() - NutritionMaster.user.getEaten_elements().getCalorie()); calorieText.setText((int) temp + ""); int progress = (int) (NutritionMaster.user.getEaten_elements().getCalorie() / temp * 100); waveLoadingView.setProgressValue(progress); diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/ElementDialog.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/ElementDialog.java index 4edb6ae..2bec8ba 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/ElementDialog.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/ElementDialog.java @@ -103,21 +103,21 @@ public class ElementDialog extends AlertDialog { dialog = new AlertDialog.Builder(context).setView(view).create(); dialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); ButterKnife.bind(this, view); - calorieText.setText(NutritionMaster.user.getEaten_elements().getCalorie() + ""); - sugerText.setText(NutritionMaster.user.getEaten_elements().getCarbohydrate() + ""); - fatText.setText(NutritionMaster.user.getEaten_elements().getFat() + ""); - proteinText.setText(NutritionMaster.user.getEaten_elements().getProtein() + ""); - celluloseText.setText(NutritionMaster.user.getEaten_elements().getCellulose() + ""); - vitaminAText.setText(NutritionMaster.user.getEaten_elements().getVitaminA() + ""); - vitaminB1Text.setText(NutritionMaster.user.getEaten_elements().getVitaminB1() + ""); - vitaminB2Text.setText(NutritionMaster.user.getEaten_elements().getVitaminB2() + ""); - vitaminB6Text.setText(NutritionMaster.user.getEaten_elements().getVitaminB6() + ""); - vitaminCText.setText(NutritionMaster.user.getEaten_elements().getVitaminC() + ""); - vitaminEText.setText(NutritionMaster.user.getEaten_elements().getVitaminE() + ""); - caroteneText.setText(NutritionMaster.user.getEaten_elements().getCarotene() + ""); - cholesterolText.setText(NutritionMaster.user.getEaten_elements().getCholesterol() + ""); - caText.setText(NutritionMaster.user.getEaten_elements().getCa() + ""); - naText.setText(NutritionMaster.user.getEaten_elements().getNa() + ""); + calorieText.setText((int) (NutritionMaster.user.getEaten_elements().getCalorie()) + ""); + sugerText.setText((int) (NutritionMaster.user.getEaten_elements().getCarbohydrate()) + ""); + fatText.setText((int) (NutritionMaster.user.getEaten_elements().getFat()) + ""); + proteinText.setText((int) NutritionMaster.user.getEaten_elements().getProtein() + ""); + celluloseText.setText((int) NutritionMaster.user.getEaten_elements().getCellulose() + ""); + vitaminAText.setText((int) NutritionMaster.user.getEaten_elements().getVitaminA() + ""); + vitaminB1Text.setText((int) NutritionMaster.user.getEaten_elements().getVitaminB1() + ""); + vitaminB2Text.setText((int) NutritionMaster.user.getEaten_elements().getVitaminB2() + ""); + vitaminB6Text.setText((int) NutritionMaster.user.getEaten_elements().getVitaminB6() + ""); + vitaminCText.setText((int) NutritionMaster.user.getEaten_elements().getVitaminC() + ""); + vitaminEText.setText((int) NutritionMaster.user.getEaten_elements().getVitaminE() + ""); + caroteneText.setText((int) NutritionMaster.user.getEaten_elements().getCarotene() + ""); + cholesterolText.setText((int) NutritionMaster.user.getEaten_elements().getCholesterol() + ""); + caText.setText((int) NutritionMaster.user.getEaten_elements().getCa() + ""); + naText.setText((int) NutritionMaster.user.getEaten_elements().getNa() + ""); } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/customization/CustomizationActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/customization/CustomizationActivity.java index ebbb07f..1fe8236 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/customization/CustomizationActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/customization/CustomizationActivity.java @@ -214,10 +214,10 @@ public class CustomizationActivity extends BaseActivity { params.put("fat", (calculated.getFat() - NutritionMaster.user.getEaten_elements().getFat()) / 8); - Logger.d((calculated.getCalorie() - NutritionMaster.user.getEaten_elements().getCalorie())); - Logger.d(calculated.getFat() - NutritionMaster.user.getEaten_elements().getFat()); - Logger.d((calculated.getCarbohydrate() - NutritionMaster.user.getEaten_elements().getCarbohydrate())); - Logger.d(calculated.getProtein() - NutritionMaster.user.getEaten_elements().getProtein()); +// Logger.d((calculated.getCalorie() - NutritionMaster.user.getEaten_elements().getCalorie())); +// Logger.d(calculated.getFat() - NutritionMaster.user.getEaten_elements().getFat()); +// Logger.d((calculated.getCarbohydrate() - NutritionMaster.user.getEaten_elements().getCarbohydrate())); +// Logger.d(calculated.getProtein() - NutritionMaster.user.getEaten_elements().getProtein()); } catch (CloneNotSupportedException e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ChartDrawer.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ChartDrawer.java index b8eab0e..4f7ee16 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ChartDrawer.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ChartDrawer.java @@ -137,7 +137,7 @@ public class ChartDrawer { //设置竖线为虚线样式 // xAxis.enableGridDashedLine(10f, 10f, 0f); //设置x轴标签数 - xAxis.setLabelCount(8,false); + xAxis.setLabelCount(8, false); xAxis.setTextSize(5); //图表第一个和最后一个label数据不超出左边和右边的Y轴 // xAxis.setAvoidFirstLastClipping(true); @@ -147,7 +147,7 @@ public class ChartDrawer { //准备好每个点对应的x轴数值 List list = new ArrayList<>(); for (int i = 0; i < pointValues.size(); i++) { - list.add(String.valueOf(i+1).concat("号")); + list.add(String.valueOf(i + 1).concat("号")); } xAxis.setValueFormatter(new IndexAxisValueFormatter(list)); @@ -158,7 +158,8 @@ public class ChartDrawer { rightAxis.setEnabled(false); YAxis leftAxis = mLineChart.getAxisLeft(); leftAxis.setEnabled(false); - leftAxis.setDrawAxisLine(false); + leftAxis.setDrawAxisLine(true); + rightAxis.setAxisMinimum(0); //点构成的某条线 LineDataSet lineDataSet = new LineDataSet(pointValues, "体重");