From 164beaef04dfb2d02fcb4e082f1fc7cf7d0fce34 Mon Sep 17 00:00:00 2001 From: ScorpioMiku <1056992492@qq.com> Date: Fri, 5 Oct 2018 21:02:47 +0800 Subject: [PATCH] 1 --- .../nutritionmaster/NutritionMaster.java | 2 - .../nutritionmaster/base/BaseActivity.java | 8 +- .../nutritionmaster/base/BaseFragment.java | 10 +- .../nutritionmaster/bean/ClassifyResult.java | 37 ++++++ .../nutritionmaster/bean/FoodMenu.java | 4 +- .../camera/ClassifierCamera.java | 1 + .../customization/CustomizationActivity.java | 40 ++++++- .../recommend/RecommendFragment.java | 41 +++++-- .../res/layout/activity_customization.xml | 107 +++++++++++++++--- .../normal_recommend_fragment_layout.xml | 1 + .../main/res/layout/recommend_item_detail.xml | 3 +- 11 files changed, 223 insertions(+), 31 deletions(-) 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 8e9c5d3..24a86e6 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/NutritionMaster.java @@ -117,7 +117,6 @@ public class NutritionMaster extends Application { * 初始化用户信息 */ private void initUser() { - Logger.d("初始化user"); user = new MyUser(); user.setUsername("ScorpioMiku"); } @@ -136,7 +135,6 @@ 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/base/BaseActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseActivity.java index a014b84..c86a8c3 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseActivity.java @@ -6,6 +6,7 @@ import android.support.v7.app.AppCompatActivity; import com.example.ninefourone.nutritionmaster.NutritionMaster; import com.example.ninefourone.nutritionmaster.bean.MyUser; +import com.example.ninefourone.nutritionmaster.utils.WebUtil; import com.orhanobut.logger.Logger; import butterknife.ButterKnife; @@ -18,6 +19,7 @@ import butterknife.Unbinder; public abstract class BaseActivity extends AppCompatActivity { private Unbinder unbinder; protected MyUser user; + private WebUtil webUtil; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -26,9 +28,13 @@ public abstract class BaseActivity extends AppCompatActivity { setContentView(getLayoutId()); unbinder = ButterKnife.bind(this); initViews(savedInstanceState); + webUtil = new WebUtil(); initToolBar(); } + public WebUtil getWebUtil() { + return webUtil; + } /** * 设置布局layout @@ -93,7 +99,7 @@ public abstract class BaseActivity extends AppCompatActivity { protected void upUser() { NutritionMaster.user = user; - Logger.d("用户信息已改"+NutritionMaster.user.toString()); + Logger.d("用户信息已改" + NutritionMaster.user.toString()); } @Override diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java index fb21713..5b30d8f 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java @@ -11,6 +11,7 @@ import android.view.ViewGroup; import com.example.ninefourone.nutritionmaster.NutritionMaster; import com.example.ninefourone.nutritionmaster.bean.MyUser; +import com.example.ninefourone.nutritionmaster.utils.WebUtil; import com.orhanobut.logger.Logger; import butterknife.ButterKnife; @@ -27,6 +28,8 @@ public abstract class BaseFragment extends Fragment { protected boolean isPrepared; protected boolean isVisible; private Unbinder unbinder; + private WebUtil webUtil; + public abstract @LayoutRes @@ -44,10 +47,15 @@ public abstract class BaseFragment extends Fragment { super.onViewCreated(view, savedInstanceState); unbinder = ButterKnife.bind(this, view); initView(savedInstanceState); + webUtil = new WebUtil(); this.user = NutritionMaster.user; } + public WebUtil getWebUtil() { + return webUtil; + } + /** * 初始化自己的ui * @@ -157,7 +165,7 @@ public abstract class BaseFragment extends Fragment { protected void upUser() { NutritionMaster.user = user; - Logger.d("用户信息已改"+NutritionMaster.user.toString()); + Logger.d("用户信息已改" + NutritionMaster.user.toString()); } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/ClassifyResult.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/ClassifyResult.java index 6cf5f55..93ec75c 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/ClassifyResult.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/ClassifyResult.java @@ -1,7 +1,16 @@ package com.example.ninefourone.nutritionmaster.bean; +import com.example.ninefourone.nutritionmaster.utils.WebUtil; +import com.google.gson.Gson; +import com.orhanobut.logger.Logger; + +import java.io.IOException; import java.io.Serializable; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Response; + /** * Created by ScorpioMiku on 2018/10/4. */ @@ -14,6 +23,34 @@ public class ClassifyResult implements Serializable { private double calorie; private Boolean has_calorie; private double quantity = -1; + private FoodMenu foodMenu; + + + public void getMenu() { + WebUtil webUtil = new WebUtil(); + webUtil.getMenu("素红烧肉", new Callback() { + @Override + public void onFailure(Call call, IOException e) { + name = "-1"; + Logger.e("我们数据库没有这个菜"); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + FoodMenu menu = new Gson().fromJson(response.body().string(), FoodMenu.class); + foodMenu = menu; + Logger.d(name + "|" + menu); + } + }); + } + + public FoodMenu getFoodMenu() { + return foodMenu; + } + + public void setFoodMenu(FoodMenu foodMenu) { + this.foodMenu = foodMenu; + } public double getQuantity() { return quantity; diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/FoodMenu.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/FoodMenu.java index 46aaf55..b8e243f 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/FoodMenu.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/FoodMenu.java @@ -1,9 +1,9 @@ package com.example.ninefourone.nutritionmaster.bean; +import java.io.Serializable; import java.util.List; -public class FoodMenu { - +public class FoodMenu implements Serializable { /** * flavor : 五香味 diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/camera/ClassifierCamera.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/camera/ClassifierCamera.java index 154a081..dcbe994 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/camera/ClassifierCamera.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/camera/ClassifierCamera.java @@ -188,6 +188,7 @@ public class ClassifierCamera extends AppCompatActivity { classifyResult.setHas_calorie(jsonObject.getBoolean("has_calorie")); classifyResult.setProbability(jsonObject.getDouble("probability")); classifyResult.setName(jsonObject.getString("name")); + classifyResult.getMenu(); // Logger.d(classifyResult); resultList.add(classifyResult); refreshUI(); 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 0aca3b8..a8fb445 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 @@ -1,7 +1,9 @@ package com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.customization; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.LinearLayout; import android.widget.TextView; import com.example.ninefourone.nutritionmaster.R; @@ -13,9 +15,35 @@ import java.util.ArrayList; import butterknife.BindView; import butterknife.ButterKnife; +import butterknife.OnClick; public class CustomizationActivity extends BaseActivity { + @BindView(R.id.breakfast_energy_text) + TextView breakfastEnergyText; + @BindView(R.id.breakfast_recycler_view) + RecyclerView breakfastRecyclerView; + @BindView(R.id.lunch_energy_text) + TextView lunchEnergyText; + @BindView(R.id.lunch_recycler_view) + RecyclerView lunchRecyclerView; + @BindView(R.id.dinner_energy_text) + TextView dinnerEnergyText; + @BindView(R.id.dinner_recycler_view) + RecyclerView dinnerRecyclerView; + @BindView(R.id.calorie_text) + TextView calorieText; + @BindView(R.id.fat_text) + TextView fatText; + @BindView(R.id.suger_text) + TextView sugerText; + @BindView(R.id.protein_text) + TextView proteinText; + @BindView(R.id.change_button) + LinearLayout changeButton; + @BindView(R.id.copy_button) + LinearLayout copyButton; + private ArrayList breakfastList = new ArrayList<>(); private ArrayList lunchList = new ArrayList<>(); private ArrayList dinnerList = new ArrayList<>(); @@ -53,4 +81,14 @@ public class CustomizationActivity extends BaseActivity { super.loadData(); } + + @OnClick({R.id.change_button, R.id.copy_button}) + public void onViewClicked(View view) { + switch (view.getId()) { + case R.id.change_button: + break; + case R.id.copy_button: + break; + } + } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java index a39b1fd..44c10b9 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/recommend/RecommendFragment.java @@ -15,6 +15,7 @@ import com.example.ninefourone.nutritionmaster.base.BaseFragment; import com.example.ninefourone.nutritionmaster.bean.RecommendFood; import com.orhanobut.logger.Logger; +import java.io.IOException; import java.util.ArrayList; import android.view.LayoutInflater; @@ -22,6 +23,9 @@ import android.view.LayoutInflater; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Response; /** * Created by ScorpioMiku on 2018/8/26. @@ -84,13 +88,7 @@ public class RecommendFragment extends BaseFragment { recyclerView.postDelayed(new Runnable() { @Override public void run() { - - Logger.d("加载数据"); - for (int i = 0; i < 6; i++) { - RecommendFood recommendFood = new RecommendFood(1, "烧肉", "好吃", indexs[i % 4]); - adapter.getData().add(recommendFood); - } - adapter.loadMoreComplete(); + addData(); } }, 1000); @@ -124,17 +122,42 @@ public class RecommendFragment extends BaseFragment { } /** - * 加载数据 + * 初始化数据 + * 病 、 体质 、 职业 + * 0-4 5-7 8-10 */ @Override protected void loadData() { super.loadData(); for (int i = 0; i < 11; i++) { - RecommendFood recommendFood = new RecommendFood(1, "烧肉", "好吃", indexs[i % 4]); + int flag = indexs[i % 4]; + RecommendFood recommendFood = new RecommendFood(1, "烧肉", "好吃", flag); datas.add(recommendFood); +// if (flag == 2) { +// +// } else { +// +// } } } + /** + * 加载新数据 + */ + private void addData() { +// Logger.d("加载数据"); + for (int i = 0; i < 7; i++) { + int flag = indexs[i % 4]; + if (flag == 2) { + + } else { + RecommendFood recommendFood = new RecommendFood(1, "烧肉", "好吃", flag); + adapter.getData().add(recommendFood); + } + } + adapter.loadMoreComplete(); + } + /** * 判断数据是否加载完了(服务器没了) * diff --git a/app/src/main/res/layout/activity_customization.xml b/app/src/main/res/layout/activity_customization.xml index 6067ff0..89e5af6 100644 --- a/app/src/main/res/layout/activity_customization.xml +++ b/app/src/main/res/layout/activity_customization.xml @@ -130,14 +130,15 @@ - + android:orientation="horizontal"> + + + + + + + @@ -179,11 +199,30 @@ android:layout_height="50dp" android:src="@drawable/ic_fat" /> - + android:orientation="horizontal"> + + + + + + + @@ -207,11 +246,30 @@ android:layout_height="50dp" android:src="@drawable/ic_sugar" /> - + android:orientation="horizontal"> + + + + + + + @@ -227,11 +285,30 @@ android:layout_height="50dp" android:src="@drawable/ic_protein" /> - + android:orientation="horizontal"> + + + + + + + @@ -257,6 +334,7 @@ android:orientation="horizontal"> \ No newline at end of file diff --git a/app/src/main/res/layout/recommend_item_detail.xml b/app/src/main/res/layout/recommend_item_detail.xml index 4e59d82..abad286 100644 --- a/app/src/main/res/layout/recommend_item_detail.xml +++ b/app/src/main/res/layout/recommend_item_detail.xml @@ -30,6 +30,7 @@ app:cardCornerRadius="20dp">