diff --git a/app/build.gradle b/app/build.gradle index c74e06e..ea8f655 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -113,6 +113,5 @@ dependencies { implementation files('libs/YoudaoTranslateOffline.jar') implementation files('libs/YoudaoTranslateOnline.jar') - //图片压缩 - implementation 'com.github.nanchen2251:CompressHelper:1.0.5' + } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 87e5b18..344d080 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,11 +30,13 @@ 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 a74ff56..c687da0 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 @@ -35,7 +35,6 @@ import com.example.ninefourone.nutritionmaster.utils.MaterialClassifier; import com.example.ninefourone.nutritionmaster.utils.MessageUtils; import com.example.ninefourone.nutritionmaster.utils.WebUtil; import com.google.gson.Gson; -import com.nanchen.compresshelper.CompressHelper; import com.orhanobut.logger.Logger; import com.youdao.sdk.app.Language; import com.youdao.sdk.app.LanguageUtils; @@ -204,11 +203,11 @@ public class ClassifierCamera extends AppCompatActivity { bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos); bos.flush(); bos.close(); - bitmap = CompressHelper.getDefault(getApplicationContext()).compressToBitmap(file); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); - byte[] dat = baos.toByteArray(); - String imgStr = Base64.encodeToString(dat, Base64.DEFAULT); +// bitmap = CompressHelper.getDefault(getApplicationContext()).compressToBitmap(file); +// ByteArrayOutputStream baos = new ByteArrayOutputStream(); +// bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); +// byte[] dat = baos.toByteArray(); + String imgStr = Base64.encodeToString(data, Base64.DEFAULT); String imgParam = URLEncoder.encode(imgStr, "UTF-8"); final String param = "image=" + imgParam + "&top_num=" + 1; Thread thread = new Thread(new Runnable() { @@ -292,28 +291,30 @@ public class ClassifierCamera extends AppCompatActivity { //把拍照结果的食材名字放到新的List:materials里面 - List materials = new ArrayList<>(); + ArrayList materials = new ArrayList<>(); for (ClassifyResult classifyResult : resultList) { materials.add(classifyResult.getName()); } - WebUtil.getInstance().getMenusByMaterials(materials, new Callback() { - @Override - public void onFailure(Call call, IOException e) { - - } - - @Override - public void onResponse(Call call, final Response response) throws IOException { - String json = response.body().string(); - FoodMenu[] menus = new Gson().fromJson(json, FoodMenu[].class); - ArrayList menuList = new ArrayList<>(); - for (FoodMenu foodMenu : menus) { - menuList.add(foodMenu); - } - intent.putExtra("LIST", menuList); - startActivity(intent); - } - }); +// WebUtil.getInstance().getMenusByMaterials(materials, new Callback() { +// @Override +// public void onFailure(Call call, IOException e) { +// +// } +// +// @Override +// public void onResponse(Call call, final Response response) throws IOException { +// String json = response.body().string(); +// FoodMenu[] menus = new Gson().fromJson(json, FoodMenu[].class); +// ArrayList menuList = new ArrayList<>(); +// for (FoodMenu foodMenu : menus) { +// menuList.add(foodMenu); +// } +// intent.putExtra("LIST", menuList); +// startActivity(intent); +// } +// }); + intent.putExtra("LIST", materials); + startActivity(intent); } 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 edf2b42..1d0066f 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 @@ -686,7 +686,6 @@ public class MainActivity extends BaseActivity { userIllness.add(flavourString); } NutritionMaster.flavourCount += (options1 + 1); -// Logger.d(NutritionMaster.flavourCount); illAdapter.notifyDataSetChanged(); } }).build(); diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/MaterialResultActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/MaterialResultActivity.java index 2841eec..68e9784 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/MaterialResultActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/classifyresult/MaterialResultActivity.java @@ -34,6 +34,7 @@ public class MaterialResultActivity extends BaseActivity { RecyclerView recyclerView; ArrayList classifyResults; ArrayList list; + private ArrayList nameList; private MaterialResultAdapter adapter; @Override @@ -46,13 +47,33 @@ public class MaterialResultActivity extends BaseActivity { Intent intent = getIntent(); // classifyResults = (ArrayList) intent.getSerializableExtra("LIST"); // list = classifyResults.get(0).getFoodMaterial().getMenus(); - list= (ArrayList) intent.getSerializableExtra("LIST"); + nameList = (ArrayList) intent.getSerializableExtra("LIST"); adapter = new MaterialResultAdapter(list, MaterialResultActivity.this); recyclerView.setAdapter(adapter); recyclerView.setNestedScrollingEnabled(false); recyclerView.setLayoutManager(new LinearLayoutManager(MaterialResultActivity.this)); + WebUtil.getInstance().getMenusByMaterials(nameList, new Callback() { + @Override + public void onFailure(Call call, IOException e) { + } + + @Override + public void onResponse(Call call, final Response response) throws IOException { + String json = response.body().string(); + FoodMenu[] menus = new Gson().fromJson(json, FoodMenu[].class); + for (FoodMenu foodMenu : menus) { + list.add(foodMenu); + } + recyclerView.post(new Runnable() { + @Override + public void run() { + adapter.notifyDataSetChanged(); + } + }); + } + }); } @Override @@ -72,6 +93,5 @@ public class MaterialResultActivity extends BaseActivity { ButterKnife.bind(this); - } } 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 dccf2d4..0158e89 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 @@ -1,8 +1,8 @@ package com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.recommend; import android.os.Bundle; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; @@ -17,13 +17,9 @@ import com.example.ninefourone.nutritionmaster.bean.FoodMenu; import com.example.ninefourone.nutritionmaster.bean.RecommendFood; import com.example.ninefourone.nutritionmaster.bean.Trick; import com.google.gson.Gson; -import com.orhanobut.logger.Logger; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; - -import android.view.LayoutInflater; import butterknife.BindView; import butterknife.ButterKnife; @@ -40,6 +36,8 @@ public class RecommendFragment extends BaseFragment { @BindView(R.id.recycler_view) RecyclerView recyclerView; Unbinder unbinder; + @BindView(R.id.swipe_refresh_layout) + SwipeRefreshLayout swipeRefreshLayout; private RecommendAdapter adapter; private ArrayList datas = new ArrayList<>(); @@ -123,6 +121,13 @@ public class RecommendFragment extends BaseFragment { } }); recyclerView.setLayoutManager(manager); + + swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + changeInfor(); + } + }); } /** @@ -183,6 +188,9 @@ public class RecommendFragment extends BaseFragment { @Override public void run() { adapter.notifyDataSetChanged(); + if (swipeRefreshLayout.isRefreshing()){ + swipeRefreshLayout.setRefreshing(false); + } } }); } @@ -264,4 +272,12 @@ public class RecommendFragment extends BaseFragment { private boolean isDataOverCount() { return false; } + + /** + * 修改信息后修改推荐 + */ + public void changeInfor() { + datas.clear(); + loadData(); + } } diff --git a/app/src/main/res/drawable/ic.png b/app/src/main/res/drawable/ic.png new file mode 100644 index 0000000..fa22628 Binary files /dev/null and b/app/src/main/res/drawable/ic.png differ diff --git a/app/src/main/res/layout/normal_recommend_fragment_layout.xml b/app/src/main/res/layout/normal_recommend_fragment_layout.xml index b313654..ea8e9ba 100644 --- a/app/src/main/res/layout/normal_recommend_fragment_layout.xml +++ b/app/src/main/res/layout/normal_recommend_fragment_layout.xml @@ -4,10 +4,16 @@ android:layout_height="match_parent" android:orientation="vertical"> - + android:layout_height="match_parent"> + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxxhdpi/ic.png b/app/src/main/res/mipmap-xxxhdpi/ic.png new file mode 100644 index 0000000..fa22628 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic.png differ diff --git a/build.gradle b/build.gradle index ba4f2f1..f4d3304 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { - + repositories { google() jcenter()