From b72fcf0732d00a3340d9b5b39a0edcb54366ae83 Mon Sep 17 00:00:00 2001 From: zhaolizhi <499531245@qq.com> Date: Sun, 7 Oct 2018 16:20:51 +0800 Subject: [PATCH] eaten elements --- README.md | 31 ++++++++++++++++--- .../nutritionmaster/utils/WebUtil.java | 18 ++++++----- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a8ca9fe..c643b5f 100644 --- a/README.md +++ b/README.md @@ -153,12 +153,35 @@ * 用户职业BMI分类 3多动,2中等,1少动 先 `getUser`获取到用户的职业名字.然后`getOccupation`获取到该职业的BMI分类 - * 动态改变用户已吃的营养元素的量: 在用户表添加element参数,每周清空一次,每吃一个菜就记录一下 + * 动态改变用户已吃的营养元素的量: 在用户表添加element参数,每周自动清空一次 - * 获取用户本周已摄入的营养元素的量: `getUser`得到当前用户的信息,解析后用`MyUser`的`getEaten_elements()`获取到Element对象.里面有各种元素信息 - * 每吃一个菜就post一下 + * Map的可选参数: `[calorie,carbohydrate,fat ,protein,cellulose,vitaminA,vitaminB1,vitaminB2,vitaminB6,vitaminC,vitaminE,carotene,cholesterol,Mg,Ca,Fe,Zn,Cu,Mn,K ,P ,Na,Se,niacin ,thiamine]` - ![](http://ww1.sinaimg.cn/large/0077h8xtly1fvsze639cyj30k507vaa9.jpg) + ```java + public static void main(String[] args) { + //只传入变动的参数就行. + //比如 这顿饭摄入了100卡路里,10脂肪.就这样写. + Map params = new HashMap<>(); + params.put("calorie", 100.0); + params.put("fat", 10.0); + + //第一个参数是username,第二个参数是摄入的营养元素值.可以看函数的源码,有注释 + WebUtil.getInstance().eatenElements("test5", params, new Callback() { + @Override + public void onFailure(Call call, IOException e) { + + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + System.out.println(new Gson().fromJson(response.body().string(), MyUser.class)); + + } + }); + } + ``` + + * 获取用户本周已摄入的营养元素的量: `getUser`得到当前用户的信息,解析后用`MyUser`的`getEaten_elements()`获取到Element对象.里面有各种元素信息 * **用户的浏览历史: 添加用户和菜谱的多对多关系** diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/WebUtil.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/WebUtil.java index 4fb70bd..34b24a6 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/WebUtil.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/WebUtil.java @@ -384,16 +384,20 @@ public class WebUtil { /** * 用户吃了一个菜,更新用户本周已吃摄入的营养元素的量 + * 传入这顿饭摄入的营养量 * 返回当前user的最新信息,用MyUser类解析json - * @param username - * @param menuName */ - public void eatenMenu(String username, String menuName,Callback callback) { + public void eatenElements(String username, Map elements, Callback callback) { String url = "http://120.77.182.38/myuser/eaten_menu/"; - RequestBody formBody = new FormBody.Builder() - .add("username", username) - .add("menu_name", menuName) - .build(); + FormBody.Builder builder = new FormBody.Builder(); + //构造RequestBody参数 + for (Map.Entry entry : elements.entrySet()) { + String key = entry.getKey(); + double value = entry.getValue(); + builder.add(key, String.valueOf(value)); + } + builder.add("username", username); + RequestBody formBody = builder.build(); Request request = new Request.Builder() .url(url) .post(formBody)