webutil
This commit is contained in:
31
README.md
31
README.md
@@ -166,7 +166,36 @@
|
||||
|
||||
* 功效搜菜 `getMenuClassification`传入分类(功效)参数,比如川菜.搜到所有的川菜名字.然后可以用菜名搜索搜某个菜的详细信息
|
||||
|
||||
* **营养量搜菜 : 搜索某个营养量范围内的菜**
|
||||
* 营养量搜菜 : 搜索某个营养量范围内的菜
|
||||
|
||||
可选参数: `[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]`
|
||||
|
||||
```java
|
||||
public static void main(String[] args) {
|
||||
//首先构造一个Map, key是参数的名字,value是参数的值.用不到的参数不用写.
|
||||
//我在服务器端根据这些参数构造一个sql,就是 ... WHERE key1 <= val1 AND ...这样的.
|
||||
//所以你只传入需要作为搜索条件的参数就可以了.
|
||||
Map<String, Double> params = new HashMap<>();
|
||||
params.put("calorie", 100.0);
|
||||
params.put("fat", 10.0);
|
||||
WebUtil.getInstance().getMenusByElements(params, 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(json);
|
||||
//用轻量级的菜单类MenuLight解析json,这个类只有Menu的[名字,卡路里,元素对象的主码id]这三个域.想获取详细信息可以用getMenu方法获取
|
||||
//这样是为了查询更快
|
||||
FoodMenuLight[] foodMenuLights = new Gson().fromJson(json, FoodMenuLight[].class);
|
||||
System.out.println(Arrays.toString(foodMenuLights));
|
||||
}
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
* **季节搜菜**
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.example.ninefourone.nutritionmaster.bean;
|
||||
|
||||
public class FoodMenuLight {
|
||||
|
||||
/**
|
||||
* name : 番茄虾仁
|
||||
* calorie : 20
|
||||
* elements : 2953
|
||||
*/
|
||||
|
||||
private String name;
|
||||
private double calorie;
|
||||
private int elements;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public double getCalorie() {
|
||||
return calorie;
|
||||
}
|
||||
|
||||
public void setCalorie(int calorie) {
|
||||
this.calorie = calorie;
|
||||
}
|
||||
|
||||
public double getElements() {
|
||||
return elements;
|
||||
}
|
||||
|
||||
public void setElements(int elements) {
|
||||
this.elements = elements;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "FoodMenuLight{" +
|
||||
"name='" + name + '\'' +
|
||||
", calorie=" + calorie +
|
||||
", elements=" + elements +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -47,7 +47,7 @@ public class MyUser {
|
||||
private Integer height;
|
||||
private Integer weight;
|
||||
private Integer bmi;
|
||||
private Object occupation_name;
|
||||
private String occupation_name;
|
||||
private List<?> groups;
|
||||
private List<?> user_permissions;
|
||||
private List<?> illness;
|
||||
@@ -100,8 +100,8 @@ public class MyUser {
|
||||
return physical_name;
|
||||
}
|
||||
|
||||
public void setPhysique(Physique physique) {
|
||||
this.physique = physique;
|
||||
public void setPhysical_name(String physical_name) {
|
||||
this.physical_name = physical_name;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
@@ -224,11 +224,11 @@ public class MyUser {
|
||||
this.bmi = bmi;
|
||||
}
|
||||
|
||||
public Object getOccupation_name() {
|
||||
public String getOccupation_name() {
|
||||
return occupation_name;
|
||||
}
|
||||
|
||||
public void setOccupation_name(Object occupation_name) {
|
||||
public void setOccupation_name(String occupation_name) {
|
||||
this.occupation_name = occupation_name;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ public class Occupation {
|
||||
|
||||
private String occupation_name;
|
||||
private ElementsBean elements;
|
||||
private float bmi_classification;
|
||||
private int bmi_classification;
|
||||
private List<String> menuclassification_set;
|
||||
|
||||
public String getOccupation_name() {
|
||||
@@ -31,11 +31,11 @@ public class Occupation {
|
||||
this.elements = elements;
|
||||
}
|
||||
|
||||
public float getBmi_classification() {
|
||||
public int getBmi_classification() {
|
||||
return bmi_classification;
|
||||
}
|
||||
|
||||
public void setBmi_classification(float bmi_classification) {
|
||||
public void setBmi_classification(int bmi_classification) {
|
||||
this.bmi_classification = bmi_classification;
|
||||
}
|
||||
|
||||
@@ -354,4 +354,4 @@ public class Occupation {
|
||||
", menuclassification_set=" + menuclassification_set +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
package com.example.ninefourone.nutritionmaster.utils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.sun.istack.internal.Nullable;
|
||||
|
||||
import com.example.ninefourone.nutritionmaster.bean.Occupation;
|
||||
import com.google.gson.Gson;
|
||||
import com.orhanobut.logger.Logger;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import model.FoodMenuLight;
|
||||
import model.MyUser;
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Callback;
|
||||
@@ -65,7 +62,7 @@ public class WebUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public void getRandomMenus(int count, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://127.0.0.1:8000/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);
|
||||
}
|
||||
|
||||
@@ -76,7 +73,7 @@ public class WebUtil {
|
||||
* @param callback
|
||||
*/
|
||||
public void getRandomTricks(int count, Callback callback) {
|
||||
Request request = new Request.Builder().url("http://127.0.0.1:8000/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);
|
||||
}
|
||||
|
||||
@@ -152,12 +149,6 @@ public class WebUtil {
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
public static void getAllOccupations(Callback callback) {
|
||||
OkHttpClient mClient = new OkHttpClient();
|
||||
Request request = new Request.Builder().url("http://120.77.182.38/occupation/").build();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取体质需要的食材
|
||||
* {
|
||||
@@ -396,8 +387,48 @@ public class WebUtil {
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回符合元素信息的menus
|
||||
* @param elements
|
||||
*/
|
||||
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参数
|
||||
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();
|
||||
mClient.newCall(request).enqueue(callback);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Map<String, Double> params = new HashMap<>();
|
||||
params.put("calorie", 100.0);
|
||||
params.put("fat", 10.0);
|
||||
WebUtil.getInstance().getMenusByElements(params, 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(json);
|
||||
//轻量级的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");
|
||||
|
||||
Reference in New Issue
Block a user