diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index dc01f5b..3055424 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -51,7 +51,7 @@ android:enabled="true" android:exported="true" /> - + diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java index 9846f69..90bce02 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java @@ -14,6 +14,8 @@ import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.Logger; import java.io.IOException; +import java.lang.reflect.Array; +import java.util.Arrays; import okhttp3.Call; import okhttp3.Callback; @@ -118,6 +120,7 @@ public class NutritionMaster extends Application { @Override public void onResponse(Call call, Response response) throws IOException { Occupation[] occupations = new Gson().fromJson(response.body().string(), Occupation[].class); +// Logger.d(Arrays.toString(occupations)); for (int i = 0; i < occupations.length; i++) { ConstantUtils.occupationList.add(occupations[i].getOccupation_name()); } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java index fc081e9..5c07ed0 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java @@ -25,8 +25,9 @@ import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.adapter.HomePagerAdapter; import com.example.ninefourone.nutritionmaster.base.BaseActivity; import com.example.ninefourone.nutritionmaster.camera.FoodMaterialCamera; -import com.example.ninefourone.nutritionmaster.modules.addinformation.AddActivity; +import com.example.ninefourone.nutritionmaster.modules.addinformation.AddPhysiqueActivity; import com.example.ninefourone.nutritionmaster.modules.addinformation.AddInformationActivity; +import com.example.ninefourone.nutritionmaster.modules.information.InformationActivity; import com.example.ninefourone.nutritionmaster.ui.NoScrollViewPager; import com.example.ninefourone.nutritionmaster.utils.CalculateUtils; import com.example.ninefourone.nutritionmaster.utils.ConstantUtils; @@ -373,13 +374,12 @@ public class MainActivity extends BaseActivity { mDrawer.openMenu(); break; case R.id.add_information_button: - Intent intent = new Intent(MainActivity.this, AddActivity.class); + Intent intent = new Intent(MainActivity.this, AddPhysiqueActivity.class); startActivity(intent); break; case R.id.information_layout: - break; - case R.id.user_occupation_text: - + Intent informationIntent = new Intent(MainActivity.this, InformationActivity.class); + startActivity(informationIntent); break; case R.id.adder_infor: Intent i = new Intent(MainActivity.this, AddInformationActivity.class); @@ -470,11 +470,11 @@ public class MainActivity extends BaseActivity { float weightAverage = averageWeight / maxWeight * 100.0f; float weightSelf = weight / maxWeight * 100.0f; - if (weightAverage>weightSelf){ + if (weightAverage > weightSelf) { weightBar.setMax(100); weightBar.setSecondaryProgress(weightAverage); weightBar.setProgress(weightSelf); - }else{ + } else { weightBar.setMax(100); weightBar.setSecondaryProgress(weightSelf); weightBar.setProgress(weightAverage); diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddPhysiqueActivity.java similarity index 53% rename from app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddActivity.java rename to app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddPhysiqueActivity.java index 970588d..5d5e589 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddPhysiqueActivity.java @@ -17,25 +17,35 @@ import android.widget.TextView; import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.utils.ConstantUtils; -import com.example.ninefourone.nutritionmaster.utils.MessageUtils; import com.github.czy1121.view.TurnCardListView; +import com.orhanobut.logger.Logger; + +import java.util.Arrays; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -public class AddActivity extends AppCompatActivity { +public class AddPhysiqueActivity extends AppCompatActivity { + @BindView(R.id.card_list) TurnCardListView cardList; - @BindView(R.id.bottom_content) - RelativeLayout bottomContent; @BindView(R.id.back_button) ImageView backButton; + @BindView(R.id.title) + TextView title; @BindView(R.id.result_layout) CardView resultLayout; + @BindView(R.id.bottom_content) + RelativeLayout bottomContent; + private String result = ""; + private String physique = "平和质"; + private float[] counter = {0, 0, 0, 0, 0, 0, 0, 0, -1}; + private String[] physiques = {"淤血质", "阴虚质", "阳虚质", "痰湿质", "湿热质", "气郁质", "气虚质", "平和质"}; + // private int[] colors = {0xff3F51B5, 0xff673AB7, 0xff006064, 0xffC51162, 0xffFFEB3B, 0xff795548, 0xff9E9E9E}; private int[] colors = {0xffdef6f9, 0xffd6eeec, 0xffB2EBF2, 0xffB2DFDB, 0xff8ed0ca, 0xff80CBC4, 0xff4DB6AC, 0xff3c948b}; private Button[] firstButtons = new Button[ConstantUtils.questionList.length]; @@ -85,7 +95,8 @@ public class AddActivity extends AppCompatActivity { @Override public View getView(final int position, View child, ViewGroup parent) { - child = LayoutInflater.from(parent.getContext()).inflate(R.layout.add_item, parent, false); + child = LayoutInflater.from(parent.getContext()).inflate(R.layout.add_item, parent, + false); child.findViewById(R.id.image).setBackgroundColor(colors[position]); titleViews[position] = child.findViewById(R.id.title_view); titleViews[position].setText(ConstantUtils.questionList[position]); @@ -110,14 +121,18 @@ public class AddActivity extends AppCompatActivity { secondButtons[position].setBackgroundColor(colors[position] + 30); thirdButtons[position].setBackgroundColor(colors[position] + 30); cardList.turnTo(position + 1); + result += "1"; } }); } else { + firstButtons[position].setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + getResult(); resultLayout.setVisibility(View.VISIBLE); cardList.setVisibility(View.INVISIBLE); + } }); } @@ -128,6 +143,7 @@ public class AddActivity extends AppCompatActivity { thirdButtons[position].setBackgroundColor(colors[position] + 30); secondButtons[position].setBackgroundColor(colors[position] - 60); cardList.turnTo(position + 1); + result += "2"; } }); thirdButtons[position].setOnClickListener(new View.OnClickListener() { @@ -137,6 +153,7 @@ public class AddActivity extends AppCompatActivity { secondButtons[position].setBackgroundColor(colors[position] + 30); thirdButtons[position].setBackgroundColor(colors[position] - 60); cardList.turnTo(position + 1); + result += "3"; } }); @@ -164,4 +181,186 @@ public class AddActivity extends AppCompatActivity { public void onViewClicked() { finish(); } + + /** + * 判断体质 + */ + private void getResult() { + + float margin = 0.75f; + + String code = result.substring(1); + char[] codes = code.toCharArray(); + Logger.d(Arrays.toString(codes)); + + switch ((int) (codes[0]) - 48) { + case 1: + counter[0]++; + counter[1]++; + + counter[3] += margin; + break; + case 2: + counter[2]++; + counter[4]++; + counter[5]++; + counter[5] += 0.3; + + counter[3] += margin; + break; + case 3: + counter[6]++; + counter[7]++; + + counter[3] += margin; + break; + default: + Logger.e((int) (codes[0]) + " 没执行"); + } + switch ((int) (codes[1]) - 48) { + case 1: + counter[0]++; + + counter[2] += margin; + counter[3] += margin; + counter[6] += margin; + break; + case 2: + counter[4]++; + + counter[2] += margin; + counter[3] += margin; + counter[6] += margin; + break; + case 3: + counter[1]++; + counter[5]++; + counter[7]++; + + counter[2] += margin; + counter[3] += margin; + counter[6] += margin; + break; + } + switch ((int) (codes[2]) - 48) { + case 1: + counter[1]++; + counter[4]++; + + counter[0] += margin; + counter[2] += margin; + counter[5] += margin; + counter[6] += margin; + + break; + case 2: + counter[3]++; + + counter[0] += margin; + counter[2] += margin; + counter[5] += margin; + counter[6] += margin; + break; + case 3: + counter[7]++; + + counter[0] += margin; + counter[2] += margin; + counter[5] += margin; + counter[6] += margin; + break; + } + switch ((int) (codes[3]) - 48) { + case 1: + counter[0]++; + counter[1]++; + counter[2]++; + counter[5]++; + counter[6]++; + + counter[3] += margin; + counter[4] += margin; + break; + case 2: + counter[7]++; + + counter[3] += margin; + counter[4] += margin; + break; + case 3: + break; + } + switch ((int) (codes[4]) - 48) { + case 1: + counter[3]++; + + counter[1] += margin; + counter[2] += margin; + counter[4] += margin; + counter[5] += margin; + counter[6] += margin; + break; + case 2: + counter[5]++; + + counter[1] += margin; + counter[2] += margin; + counter[4] += margin; + counter[5] += margin; + counter[6] += margin; + + break; + case 3: + counter[7]++; + + counter[1] += margin; + counter[2] += margin; + counter[4] += margin; + counter[5] += margin; + counter[6] += margin; + break; + } + switch ((int) (codes[5]) - 48) { + case 1: + counter[2]++; + counter[2]++; + + counter[0] += margin; + counter[3] += margin; + counter[4] += margin; + counter[5] += margin; + counter[6] += margin; + break; + case 2: + counter[1]++; + counter[1]++; + + counter[0] += margin; + counter[3] += margin; + counter[4] += margin; + counter[5] += margin; + counter[6] += margin; + break; + case 3: + counter[7]++; + + counter[0] += margin; + counter[3] += margin; + counter[4] += margin; + counter[5] += margin; + counter[6] += margin; + break; + } + + int maxIndex = -1; + for (int i = 0; i < counter.length; i++) { + if (counter[i] > counter[8]) { + maxIndex = i; + counter[8] = counter[i]; + } + } + Logger.d(Arrays.toString(counter) + "\n" + physiques[maxIndex]); + + + } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java index 2d0da9c..1cd278b 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java @@ -36,18 +36,18 @@ public class ConstantUtils { "舌底经络颜色", "口腔整体情况", "整体生活精神状况", - "性格特点", + "生活中的小问题", "食物温度偏向", "揭晓结果" }; public static String[][] answerList = new String[][]{ {"开始吧"}, - {"偏暗红", "偏白", "淡红"}, - {"暗红", "细红", "不明显"}, + {"深红", "偏白", "淡红"}, + {"暗紫", "细红", "不明显"}, {"口舌干燥", "口黏苔腻", "还算正常"}, {"沉寂易疲劳", "精力充沛"}, - {"内向", "开朗"}, + {"多汗无力", "多愁善感", "都不"}, {"烫的", "冷的", "没有特别喜欢的"}, {"查看"} }; diff --git a/app/src/main/res/layout/activity_add.xml b/app/src/main/res/layout/activity_add.xml index 14ccad5..d679b44 100644 --- a/app/src/main/res/layout/activity_add.xml +++ b/app/src/main/res/layout/activity_add.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="#b0ce93" - tools:context="com.example.ninefourone.nutritionmaster.modules.addinformation.AddActivity"> + tools:context="com.example.ninefourone.nutritionmaster.modules.addinformation.AddPhysiqueActivity">