This commit is contained in:
ScorpioMiku
2018-10-08 21:56:50 +08:00
parent 9b2f4df365
commit a409c2a010
7 changed files with 86 additions and 30 deletions

View File

@@ -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;
}
}
}

View File

@@ -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);

View File

@@ -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<ClassifyResult>) 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();
}
}

View File

@@ -185,6 +185,7 @@ public class BodyInformationFragment extends BaseFragment {
ArrayList<Entry> 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);

View File

@@ -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() + "");
}

View File

@@ -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();
}

View File

@@ -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<String> 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, "体重");