readme
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -164,6 +164,6 @@ fabric.properties
|
||||
|
||||
!/gradle/wrapper/gradle-wrapper.jar
|
||||
app/src/main/java/.vscode
|
||||
|
||||
.vscode
|
||||
|
||||
# End of https://www.gitignore.io/api/android,androidstudio
|
||||
71
README.md
71
README.md
@@ -156,7 +156,7 @@
|
||||
|
||||

|
||||
|
||||
* 修改用户信息 `changeUserInfo`,注意username必须设置,其他的是需要改的值.**修改会覆盖之前的内容**.比如用户之前illness是健忘食谱,想增加一个高血压食谱, 就需要把之前的也写上,就是一起传 `健忘食谱,高血压食谱`这两个参数.写到List里面. 具体参考main函数里面的
|
||||
* **修改用户信息** `changeUserInfo`,注意username必须设置,其他的是需要改的值.**修改会覆盖之前的内容**.比如用户之前illness是健忘食谱,想增加一个高血压食谱, 就需要把之前的也写上,就是一起传 `健忘食谱,高血压食谱`这两个参数.写到List里面. 具体参考main函数里面的
|
||||
|
||||
* 获取九体信息 `getPhysique`方法
|
||||
|
||||
@@ -304,3 +304,72 @@
|
||||
* `occupation_name`,`physical_name`的值必须和数据库对应
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 国赛阶段
|
||||
|
||||
### 代码
|
||||
|
||||
* 优化了`getRandomMenus方法`,传入username参数.会根据user的体质,职业,病理推荐菜
|
||||
|
||||
```java
|
||||
public void getRandomMenus(int count, String username, Callback callback)
|
||||
```
|
||||
|
||||
这个方法之前的版本没有username参数,**现在弃用原来的版本,原来的方法仍然可以调用,需要把项目的所有getRandomMenus方法调用加上一个username参数**
|
||||
|
||||
### 问题
|
||||
|
||||
* 连续识别,出现错误的,点一下消去 锐
|
||||
|
||||
* bug: 连续拍照后 点了一周定制 锐
|
||||
|
||||
* ~~*食材模糊识别 ok*~~
|
||||
|
||||
* 通过食材组合,搜索菜 ,菜要符合username的信息 赵和锐
|
||||
|
||||
* 卡路里不对
|
||||
|
||||
* ~~*早餐晚餐的搜索不随机 shuffle了一下.ok*~~
|
||||
|
||||
* ~~`get_menus_by_elements` django随机一下~~
|
||||
|
||||
* 周定制下面的两个按钮 锐
|
||||
|
||||
* ~~*搜菜如果搜不到 把name减一下再搜 ok*~~
|
||||
|
||||
* getRandomMenus的username参数改为MyUser类
|
||||
|
||||
* 更好的解决办法是在更新user的信息后,同步更新到服务器
|
||||
|
||||
|
||||
|
||||
### 时间安排
|
||||
|
||||
* 周日上午答辩
|
||||
* 周五排练
|
||||
|
||||
### PPT安排
|
||||
|
||||
* 小组分工介绍
|
||||
|
||||
|
||||
* 产品背景 秦
|
||||
* 量身定制 林
|
||||
* 周定制 林
|
||||
* 动态添加 智能定量 赵
|
||||
* 拍食材做菜(食菜帮) 赵
|
||||
* 菜谱推荐 秦
|
||||
|
||||
* 产品亮点 秦
|
||||
* 产品难点 王
|
||||
* 未来展望 王
|
||||
* 相信在不就得将来,在AI智能定制膳食的帮助下,人们不再为职业病,慢性病所烦恼,享受科学膳食带来的健康生活.
|
||||
|
||||
### 需要演示的功能
|
||||
|
||||
* 拍照 菜品识别 识别 烤鸭 土豆丝 鱼香肉丝 红烧肉 炒面 (动态调量,修改当天余额)
|
||||
* 拍照 食材识别 胡萝卜 白萝卜 姜 长条茄子 菜花 (根据用户的信息,并且是多搜索)
|
||||
|
||||
* 周定制(最左边的fragment)
|
||||
@@ -26,7 +26,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Callback;
|
||||
import okhttp3.FormBody;
|
||||
@@ -42,39 +41,22 @@ public class WebUtil {
|
||||
private WebUtil() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static WebUtil getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取具体的菜谱信息
|
||||
* {
|
||||
* "flavor": "咸鲜味",
|
||||
* "calorie": 234,
|
||||
* "name": "雪丽对虾",
|
||||
* "technology": "炸",
|
||||
* "image_url": "http://s1.ig.meishij.net/p/20091012/fed63858e633540c8df73e62692520fb_150x150.jpg",
|
||||
* "cook_quantity": [
|
||||
* {
|
||||
* "menu": "雪丽对虾",
|
||||
* "quantity": "500",
|
||||
* "material": "对虾"
|
||||
* },
|
||||
* {
|
||||
* "menu": "雪丽对虾",
|
||||
* "quantity": "60",
|
||||
* "material": "鸡蛋清"
|
||||
* },
|
||||
* }
|
||||
* 获取具体的菜谱信息 { "flavor": "咸鲜味", "calorie": 234, "name": "雪丽对虾",
|
||||
* "technology": "炸", "image_url":
|
||||
* "http://s1.ig.meishij.net/p/20091012/fed63858e633540c8df73e62692520fb_150x150.jpg",
|
||||
* "cook_quantity": [ { "menu": "雪丽对虾", "quantity": "500", "material": "对虾"
|
||||
* }, { "menu": "雪丽对虾", "quantity": "60", "material": "鸡蛋清" }, }
|
||||
*/
|
||||
public void getMenu(String menuName, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/menus/" + menuName + "/").build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取count个随机菜谱,在回调中解析为一个Menu数组
|
||||
*
|
||||
@@ -82,7 +64,21 @@ public class WebUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public void getRandomMenus(int count, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/menus/get_random_menus/?count=" + String.valueOf(count)).build();
|
||||
Request request = new Request.Builder()
|
||||
.url("http://120.77.182.38/menus/get_random_menus/?count=" + String.valueOf(count)).build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取count个随机菜谱,在回调中解析为一个Menu数组 根据用户的体质,病理,职业推荐
|
||||
*
|
||||
* @param count
|
||||
* @param callback
|
||||
*/
|
||||
public void getRandomMenus(int count, String username, Callback callback) {
|
||||
Request request = new Request.Builder().url(
|
||||
"http://120.77.182.38/menus/get_random_menus/?count=" + String.valueOf(count) + "&username=" + username)
|
||||
.build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
@@ -93,30 +89,15 @@ public class WebUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public void getRandomTricks(int count, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/trick/get_random_tricks/?count=" + String.valueOf(count)).build();
|
||||
Request request = new Request.Builder()
|
||||
.url("http://120.77.182.38/trick/get_random_tricks/?count=" + String.valueOf(count)).build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取某食材可以做的菜
|
||||
* [
|
||||
* {
|
||||
* "menu": "西红柿鸡蛋汤",
|
||||
* "quantity": "适量",
|
||||
* "material": "西红柿"
|
||||
* },
|
||||
* {
|
||||
* "menu": "瘦身版红菜汤",
|
||||
* "quantity": "4-5片",
|
||||
* "material": "西红柿"
|
||||
* },
|
||||
* {
|
||||
* "menu": "西红柿炖豆腐",
|
||||
* "quantity": "三个",
|
||||
* "material": "西红柿"
|
||||
* },
|
||||
* ]
|
||||
* 获取某食材可以做的菜 [ { "menu": "西红柿鸡蛋汤", "quantity": "适量", "material":
|
||||
* "西红柿" }, { "menu": "瘦身版红菜汤", "quantity": "4-5片", "material": "西红柿" },
|
||||
* { "menu": "西红柿炖豆腐", "quantity": "三个", "material": "西红柿" }, ]
|
||||
*
|
||||
* @param materialName
|
||||
* @param callback
|
||||
@@ -127,42 +108,20 @@ public class WebUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取某菜谱分类对应的菜
|
||||
* {
|
||||
* "classification": "川菜",
|
||||
* "cure_occupation": [],
|
||||
* "menu_effect": [
|
||||
* "三色鲍脯",
|
||||
* "三色鸡酪",
|
||||
* "三菇冬瓜汤",
|
||||
* "三菌烩蛇段",
|
||||
* "三鲜乌鱼汤",
|
||||
* "三鲜参片汤",
|
||||
* "三鲜猪肝汤",
|
||||
* "下饭的素版麻婆豆腐",
|
||||
* "丝瓜鱼肚卷",
|
||||
* "五更豆酥鱼",
|
||||
* "元鱼烧鸡",
|
||||
* "冬苋菜豆腐汤",
|
||||
* "冬菜排骨汤",
|
||||
* 获取某菜谱分类对应的菜 { "classification": "川菜", "cure_occupation": [],
|
||||
* "menu_effect": [ "三色鲍脯", "三色鸡酪", "三菇冬瓜汤", "三菌烩蛇段", "三鲜乌鱼汤",
|
||||
* "三鲜参片汤", "三鲜猪肝汤", "下饭的素版麻婆豆腐", "丝瓜鱼肚卷", "五更豆酥鱼", "元鱼烧鸡",
|
||||
* "冬苋菜豆腐汤", "冬菜排骨汤",
|
||||
*/
|
||||
public void getMenuClassification(String classificationName, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/menuclassification/" + classificationName + "/").build();
|
||||
Request request = new Request.Builder()
|
||||
.url("http://120.77.182.38/menuclassification/" + classificationName + "/").build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取职业需要的菜谱分类
|
||||
* {
|
||||
* "occupation_name": "电力工程师",
|
||||
* "menuclassification_set": [
|
||||
* "接触电离辐射人员食谱",
|
||||
* "防癌抗癌食谱",
|
||||
* "明目食谱",
|
||||
* "关节炎食谱",
|
||||
* "壮腰健肾食谱"
|
||||
* ]
|
||||
* }
|
||||
* 获取职业需要的菜谱分类 { "occupation_name": "电力工程师", "menuclassification_set":
|
||||
* [ "接触电离辐射人员食谱", "防癌抗癌食谱", "明目食谱", "关节炎食谱", "壮腰健肾食谱" ] }
|
||||
*/
|
||||
public void getOccupation(String occupationName, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/occupation/" + occupationName + "/").build();
|
||||
@@ -176,18 +135,8 @@ public class WebUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取体质需要的食材
|
||||
* {
|
||||
* "physical_name": "气虚质",
|
||||
* "cure_material": [
|
||||
* "人参",
|
||||
* "人参须",
|
||||
* "去芯莲子",
|
||||
* "去芯莲子(3~4人份)",
|
||||
* "土茯苓",
|
||||
* ...
|
||||
* ]
|
||||
* }
|
||||
* 获取体质需要的食材 { "physical_name": "气虚质", "cure_material": [ "人参", "人参须",
|
||||
* "去芯莲子", "去芯莲子(3~4人份)", "土茯苓", ... ] }
|
||||
*/
|
||||
public void getPhysique(String physiqueName, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/physique/" + physiqueName + "/").build();
|
||||
@@ -195,30 +144,15 @@ public class WebUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取病相关的菜谱和元素信息
|
||||
* 传入含有病的意义的菜谱分类名称,比如青少年食谱
|
||||
* 获取病相关的菜谱和元素信息 传入含有病的意义的菜谱分类名称,比如青少年食谱
|
||||
* <p>
|
||||
* {
|
||||
* "menu_classification": {
|
||||
* "classification": "青少年食谱",
|
||||
* "cure_occupation": [
|
||||
* "学生"
|
||||
* ],
|
||||
* "menu_effect": [
|
||||
* "三鲜鳝汤",
|
||||
* "上海糖醋小排骨",
|
||||
* ...
|
||||
* ]
|
||||
* },
|
||||
* "elements": {
|
||||
* "id": 84,
|
||||
* "calorie": 1.1,
|
||||
* ...
|
||||
* }
|
||||
* }
|
||||
* { "menu_classification": { "classification": "青少年食谱", "cure_occupation": [
|
||||
* "学生" ], "menu_effect": [ "三鲜鳝汤", "上海糖醋小排骨", ... ] }, "elements": {
|
||||
* "id": 84, "calorie": 1.1, ... } }
|
||||
*/
|
||||
public void getIllness(String illnessClassification, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/illness/" + illnessClassification + "/").build();
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/illness/" + illnessClassification + "/")
|
||||
.build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
@@ -231,100 +165,74 @@ public class WebUtil {
|
||||
/**
|
||||
* 注意在回调中处理username重复的情况
|
||||
*//*
|
||||
public static void postUser(String username, String password, String sex, @Nullable String occupationName, @Nullable String physicalName, Callback callback) {
|
||||
RequestBody formBody = new FormBody.Builder()
|
||||
.add("username", username)
|
||||
.add("password", password)
|
||||
.add("sex", sex)
|
||||
.add("occupation_name", occupationName == null ? "" : occupationName)
|
||||
.add("physical_name", physicalName == null ? "" : physicalName)
|
||||
.build();
|
||||
Request request = new Request.Builder()
|
||||
.url("http://120.77.182.38/myuser/")
|
||||
.post(formBody)
|
||||
.build();
|
||||
* public static void postUser(String username, String password, String
|
||||
* sex, @Nullable String occupationName, @Nullable String physicalName, Callback
|
||||
* callback) { RequestBody formBody = new FormBody.Builder() .add("username",
|
||||
* username) .add("password", password) .add("sex", sex) .add("occupation_name",
|
||||
* occupationName == null ? "" : occupationName) .add("physical_name",
|
||||
* physicalName == null ? "" : physicalName) .build(); Request request = new
|
||||
* Request.Builder() .url("http://120.77.182.38/myuser/") .post(formBody)
|
||||
* .build();
|
||||
*
|
||||
* OkHttpClient mClient = new OkHttpClient();
|
||||
* mClient.newCall(request).enqueue(callback); }
|
||||
*/
|
||||
|
||||
OkHttpClient mClient = new OkHttpClient();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}*/
|
||||
|
||||
/*public static void changeUserPassword(String username, String password, Callback callback) {
|
||||
String url = "http://120.77.182.38/myuser/" + username + "/";
|
||||
RequestBody formBody = new FormBody.Builder()
|
||||
.add("username", username)
|
||||
.add("password", password)
|
||||
.build();
|
||||
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.patch(formBody)
|
||||
.build();
|
||||
|
||||
OkHttpClient mClient = new OkHttpClient();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
*//**
|
||||
* 修改职业
|
||||
* 传入职业名称参数
|
||||
*//*
|
||||
public static void changeUserOccupation(String username, String occupation, Callback callback) {
|
||||
String url = "http://120.77.182.38/myuser/" + username + "/";
|
||||
RequestBody formBody = new FormBody.Builder()
|
||||
.add("username", username)
|
||||
.add("occupation", occupation)
|
||||
.build();
|
||||
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.patch(formBody)
|
||||
.build();
|
||||
|
||||
OkHttpClient mClient = new OkHttpClient();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
*//**
|
||||
* 修改体质
|
||||
*
|
||||
* @param physique 体质名称
|
||||
*//*
|
||||
public static void changeUserPhysique(String username, String physique, Callback callback) {
|
||||
String url = "http://120.77.182.38/myuser/" + username + "/";
|
||||
RequestBody formBody = new FormBody.Builder()
|
||||
.add("username", username)
|
||||
.add("physique", physique)
|
||||
.build();
|
||||
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.patch(formBody)
|
||||
.build();
|
||||
|
||||
OkHttpClient mClient = new OkHttpClient();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
*/
|
||||
/*
|
||||
* public static void changeUserPassword(String username, String password,
|
||||
* Callback callback) { String url = "http://120.77.182.38/myuser/" + username +
|
||||
* "/"; RequestBody formBody = new FormBody.Builder() .add("username", username)
|
||||
* .add("password", password) .build();
|
||||
*
|
||||
* Request request = new Request.Builder() .url(url) .patch(formBody) .build();
|
||||
*
|
||||
* OkHttpClient mClient = new OkHttpClient();
|
||||
* mClient.newCall(request).enqueue(callback); }
|
||||
*
|
||||
*//**
|
||||
* 修改职业 传入职业名称参数
|
||||
*/
|
||||
/*
|
||||
* public static void changeUserOccupation(String username, String occupation,
|
||||
* Callback callback) { String url = "http://120.77.182.38/myuser/" + username +
|
||||
* "/"; RequestBody formBody = new FormBody.Builder() .add("username", username)
|
||||
* .add("occupation", occupation) .build();
|
||||
*
|
||||
* Request request = new Request.Builder() .url(url) .patch(formBody) .build();
|
||||
*
|
||||
* OkHttpClient mClient = new OkHttpClient();
|
||||
* mClient.newCall(request).enqueue(callback); }
|
||||
*
|
||||
*//**
|
||||
* 修改体质
|
||||
*
|
||||
* @param physique 体质名称
|
||||
*//*
|
||||
* public static void changeUserPhysique(String username, String physique,
|
||||
* Callback callback) { String url = "http://120.77.182.38/myuser/" + username +
|
||||
* "/"; RequestBody formBody = new FormBody.Builder() .add("username", username)
|
||||
* .add("physique", physique) .build();
|
||||
*
|
||||
* Request request = new Request.Builder() .url(url) .patch(formBody) .build();
|
||||
*
|
||||
* OkHttpClient mClient = new OkHttpClient();
|
||||
* mClient.newCall(request).enqueue(callback); }
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* public static void changeUserIllness(String username, String[] illnesses, Callback callback) {
|
||||
* String url = "http://120.77.182.38/myuser/" + username + "/";
|
||||
* public static void changeUserIllness(String username, String[] illnesses,
|
||||
* Callback callback) { String url = "http://120.77.182.38/myuser/" + username +
|
||||
* "/";
|
||||
* <p>
|
||||
* FormBody.Builder builder = new FormBody.Builder();
|
||||
* for (String illness : illnesses) {
|
||||
* builder.add("illness", illness);
|
||||
* }
|
||||
* RequestBody formBody = builder.build();
|
||||
* FormBody.Builder builder = new FormBody.Builder(); for (String illness :
|
||||
* illnesses) { builder.add("illness", illness); } RequestBody formBody =
|
||||
* builder.build();
|
||||
* <p>
|
||||
* Request request = new Request.Builder()
|
||||
* .url(url)
|
||||
* .patch(formBody)
|
||||
* .build();
|
||||
* Request request = new Request.Builder() .url(url) .patch(formBody) .build();
|
||||
* <p>
|
||||
* OkHttpClient mClient = new OkHttpClient();
|
||||
* mClient.newCall(request).enqueue(callback);
|
||||
* }
|
||||
* mClient.newCall(request).enqueue(callback); }
|
||||
*/
|
||||
private static RequestBody buildUserRequestBody(MyUser user) {
|
||||
try {
|
||||
@@ -335,9 +243,9 @@ public class WebUtil {
|
||||
for (Field f : fields) {
|
||||
String fieldName = f.toString().substring(f.toString().lastIndexOf(".") + 1);
|
||||
f.setAccessible(true);
|
||||
Object object = f.get(user);//获取属性的值
|
||||
Object object = f.get(user);// 获取属性的值
|
||||
if (object != null) {
|
||||
//illness属性是一个list,需要加入每个list的值,而不是list对象
|
||||
// illness属性是一个list,需要加入每个list的值,而不是list对象
|
||||
if (fieldName.equals("illness")) {
|
||||
List<String> illnessList = (List<String>) object;
|
||||
for (String ill : illnessList) {
|
||||
@@ -350,12 +258,12 @@ public class WebUtil {
|
||||
}
|
||||
}
|
||||
RequestBody formBody = builder.build();
|
||||
// for (int i = 0; i < ((FormBody) formBody).size(); i++) {
|
||||
// System.out.println(((FormBody) formBody).name(i) + " : " + ((FormBody) formBody).value(i));
|
||||
// }
|
||||
// for (int i = 0; i < ((FormBody) formBody).size(); i++) {
|
||||
// System.out.println(((FormBody) formBody).name(i) + " : " + ((FormBody)
|
||||
// formBody).value(i));
|
||||
// }
|
||||
return formBody;
|
||||
|
||||
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IllegalAccessException e) {
|
||||
@@ -372,10 +280,7 @@ public class WebUtil {
|
||||
public void createUser(MyUser user, Callback callback) {
|
||||
String url = "http://120.77.182.38/myuser/";
|
||||
RequestBody formBody = buildUserRequestBody(user);
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.post(formBody)
|
||||
.build();
|
||||
Request request = new Request.Builder().url(url).post(formBody).build();
|
||||
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
@@ -388,23 +293,19 @@ public class WebUtil {
|
||||
public void changeUserInfo(MyUser user, Callback callback) {
|
||||
String url = "http://120.77.182.38/myuser/" + user.getUsername() + "/";
|
||||
RequestBody formBody = buildUserRequestBody(user);
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.patch(formBody)
|
||||
.build();
|
||||
Request request = new Request.Builder().url(url).patch(formBody).build();
|
||||
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户吃了一个菜,更新用户本周已吃摄入的营养元素的量
|
||||
* 传入这顿饭摄入的营养量
|
||||
* 用户吃了一个菜,更新用户本周已吃摄入的营养元素的量 传入这顿饭摄入的营养量
|
||||
* 返回当前user的最新信息,用MyUser类解析json
|
||||
*/
|
||||
public void eatenElements(String username, Map<String, Double> elements, Callback callback) {
|
||||
String url = "http://120.77.182.38/myuser/eaten_menu/";
|
||||
FormBody.Builder builder = new FormBody.Builder();
|
||||
//构造RequestBody参数
|
||||
// 构造RequestBody参数
|
||||
for (Map.Entry<String, Double> entry : elements.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
double value = entry.getValue();
|
||||
@@ -412,10 +313,7 @@ public class WebUtil {
|
||||
}
|
||||
builder.add("username", username);
|
||||
RequestBody formBody = builder.build();
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.post(formBody)
|
||||
.build();
|
||||
Request request = new Request.Builder().url(url).post(formBody).build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
@@ -427,17 +325,14 @@ public class WebUtil {
|
||||
public void getMenusByElements(Map<String, Double> elements, Callback callback) {
|
||||
String url = "http://120.77.182.38/menus/get_menus_by_elements/";
|
||||
FormBody.Builder builder = new FormBody.Builder();
|
||||
//构造RequestBody参数
|
||||
// 构造RequestBody参数
|
||||
for (Map.Entry<String, Double> entry : elements.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
double value = entry.getValue();
|
||||
builder.add(key, String.valueOf(value));
|
||||
}
|
||||
RequestBody formBody = builder.build();
|
||||
Request request = new Request.Builder()
|
||||
.url(url)
|
||||
.post(formBody)
|
||||
.build();
|
||||
Request request = new Request.Builder().url(url).post(formBody).build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
@@ -489,7 +384,6 @@ public class WebUtil {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
Map<String, Double> params = new HashMap<>();
|
||||
params.put("calorie", 100.0);
|
||||
@@ -504,186 +398,166 @@ public class WebUtil {
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
String json = response.body().string();
|
||||
System.out.println(json);
|
||||
//轻量级的Menu,只有Menu的名字,卡路里,元素对象的主码id.想获取详细信息可以用getMenu方法获取
|
||||
//这样是为了查询更快
|
||||
// 轻量级的Menu,只有Menu的名字,卡路里,元素对象的主码id.想获取详细信息可以用getMenu方法获取
|
||||
// 这样是为了查询更快
|
||||
FoodMenuLight[] foodMenuLights = new Gson().fromJson(json, FoodMenuLight[].class);
|
||||
System.out.println(Arrays.toString(foodMenuLights));
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
MyUser testUser = new MyUser();
|
||||
testUser.setUsername("test6");
|
||||
testUser.setPassword("66666");
|
||||
testUser.setAge(8);
|
||||
testUser.setHeight(175);
|
||||
testUser.setPhysical_name("平和质");
|
||||
List<String> ills = new ArrayList<>();
|
||||
ills.add("乌发食谱");
|
||||
ills.add("失眠食谱");
|
||||
testUser.setIllness(ills);
|
||||
/*
|
||||
* MyUser testUser = new MyUser(); testUser.setUsername("test6");
|
||||
* testUser.setPassword("66666"); testUser.setAge(8); testUser.setHeight(175);
|
||||
* testUser.setPhysical_name("平和质"); List<String> ills = new ArrayList<>();
|
||||
* ills.add("乌发食谱"); ills.add("失眠食谱"); testUser.setIllness(ills);
|
||||
*
|
||||
* //创建用户 WebUtil.getInstance().createUser(testUser, new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { String responseJson = response.body().string();
|
||||
* System.out.println(new Gson().fromJson(responseJson, MyUser.class)); } });
|
||||
*
|
||||
* //修改用户信息 WebUtil.getInstance().changeUserInfo(testUser, 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)); } });
|
||||
*/
|
||||
|
||||
//创建用户
|
||||
WebUtil.getInstance().createUser(testUser, new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
/*
|
||||
* WebUtil.getInstance().eatenMenu("test5", "软熘虾片", new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { String responseJson = response.body().string();
|
||||
* System.out.println(responseJson); MyUser testUser = new
|
||||
* Gson().fromJson(responseJson, MyUser.class); System.out.println(testUser); }
|
||||
* });
|
||||
*/
|
||||
|
||||
}
|
||||
/*
|
||||
* WebUtil.getIllness("青少年食谱", 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(),Illness.class)); } });
|
||||
*/
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
String responseJson = response.body().string();
|
||||
System.out.println(new Gson().fromJson(responseJson, MyUser.class));
|
||||
}
|
||||
});
|
||||
/*
|
||||
* WebUtil.getMenu("雪丽对虾", new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { FoodMenu menu = new Gson().fromJson(response.body().string(),
|
||||
* FoodMenu.class); System.out.println(menu); } });
|
||||
*/
|
||||
|
||||
//修改用户信息
|
||||
WebUtil.getInstance().changeUserInfo(testUser, new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
/*
|
||||
* WebUtil.getRandomMenus(10, new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { FoodMenu[] menus = new
|
||||
* Gson().fromJson(response.body().string(), FoodMenu[].class);
|
||||
* System.out.println(Arrays.toString(menus)); System.out.println(menus.length);
|
||||
*
|
||||
* } });
|
||||
*/
|
||||
|
||||
}
|
||||
/*
|
||||
* WebUtil.getFoodMaterial("西红柿", new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { String json = response.body().string(); FoodMaterial
|
||||
* foodMaterial = new Gson().fromJson(json, FoodMaterial.class);
|
||||
* System.out.println(foodMaterial); } });
|
||||
*/
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
System.out.println(new Gson().fromJson(response.body().string(), MyUser.class));
|
||||
}
|
||||
});*/
|
||||
/*
|
||||
* WebUtil.getMenuClassification("川菜", new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { MenuClassification classification = new
|
||||
* Gson().fromJson(response.body().string(), MenuClassification.class);
|
||||
* System.out.println(classification); } });
|
||||
*/
|
||||
|
||||
/*
|
||||
* WebUtil.getOccupation("程序员", new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { String json = response.body().string(); System.out.println(new
|
||||
* Gson().fromJson(json, Occupation.class));
|
||||
*
|
||||
* } });
|
||||
*/
|
||||
|
||||
/*
|
||||
* WebUtil.getPhysique("气虚质", 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(), Physique.class)); } });
|
||||
*/
|
||||
|
||||
/*WebUtil.getInstance().eatenMenu("test5", "软熘虾片", new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
/*
|
||||
* WebUtil.instance.getUser("test5", 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)); } });
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
String responseJson = response.body().string();
|
||||
System.out.println(responseJson);
|
||||
MyUser testUser = new Gson().fromJson(responseJson, MyUser.class);
|
||||
System.out.println(testUser);
|
||||
}
|
||||
});*/
|
||||
|
||||
/*WebUtil.getIllness("青少年食谱", 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(),Illness.class));
|
||||
}
|
||||
});*/
|
||||
|
||||
|
||||
/* WebUtil.getMenu("雪丽对虾", new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
FoodMenu menu = new Gson().fromJson(response.body().string(), FoodMenu.class);
|
||||
System.out.println(menu);
|
||||
}
|
||||
});*/
|
||||
|
||||
/*WebUtil.getRandomMenus(10, new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
FoodMenu[] menus = new Gson().fromJson(response.body().string(), FoodMenu[].class);
|
||||
System.out.println(Arrays.toString(menus));
|
||||
System.out.println(menus.length);
|
||||
|
||||
}
|
||||
});*/
|
||||
|
||||
/*WebUtil.getFoodMaterial("西红柿", new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
String json = response.body().string();
|
||||
FoodMaterial foodMaterial = new Gson().fromJson(json, FoodMaterial.class);
|
||||
System.out.println(foodMaterial);
|
||||
}
|
||||
});*/
|
||||
|
||||
/*WebUtil.getMenuClassification("川菜", new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
MenuClassification classification = new Gson().fromJson(response.body().string(), MenuClassification.class);
|
||||
System.out.println(classification);
|
||||
}
|
||||
});*/
|
||||
|
||||
/*WebUtil.getOccupation("程序员", new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
String json = response.body().string();
|
||||
System.out.println(new Gson().fromJson(json, Occupation.class));
|
||||
|
||||
}
|
||||
});*/
|
||||
|
||||
/*WebUtil.getPhysique("气虚质", 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(), Physique.class));
|
||||
}
|
||||
});*/
|
||||
|
||||
/*WebUtil.instance.getUser("test5", 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));
|
||||
}
|
||||
});
|
||||
*/
|
||||
|
||||
/* WebUtil.getRandomTricks(10, new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
System.out.println(response.body().string());
|
||||
}
|
||||
});*/
|
||||
/*
|
||||
* WebUtil.getRandomTricks(10, new Callback() {
|
||||
*
|
||||
* @Override public void onFailure(Call call, IOException e) {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onResponse(Call call, Response response) throws
|
||||
* IOException { System.out.println(response.body().string()); } });
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user