merge的bug改完了

This commit is contained in:
ScorpioMiku
2018-10-05 16:03:01 +08:00
11 changed files with 859 additions and 207 deletions

View File

@@ -8,7 +8,7 @@ import com.example.ninefourone.nutritionmaster.bean.MyUser;
import com.example.ninefourone.nutritionmaster.bean.Occupation;
import com.example.ninefourone.nutritionmaster.utils.ConstantUtils;
import com.example.ninefourone.nutritionmaster.utils.WebUtils;
import com.example.ninefourone.nutritionmaster.utils.WebUtil;
import com.google.gson.Gson;
import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.Logger;
@@ -43,8 +43,6 @@ public class NutritionMaster extends Application {
super.onCreate();
mInstance = this;
init();
initUser();
}
/**
@@ -89,7 +87,8 @@ public class NutritionMaster extends Application {
}
});
initOccupations();
getAccessToken();
initUser();
// getAccessToken();
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
@@ -97,6 +96,7 @@ public class NutritionMaster extends Application {
}
});
thread.start();
}
public static NutritionMaster getInstance() {
@@ -117,6 +117,7 @@ public class NutritionMaster extends Application {
* 初始化用户信息
*/
private void initUser() {
Logger.d("初始化user");
user = new MyUser();
user.setUsername("ScorpioMiku");
}
@@ -126,7 +127,7 @@ public class NutritionMaster extends Application {
*/
private void initOccupations() {
WebUtils.getAllOccupations(new Callback() {
WebUtil.getAllOccupations(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
@@ -187,9 +188,10 @@ public class NutritionMaster extends Application {
/**
* 返回结果示例
*/
System.err.println("result:" + result);
// System.err.println("result:" + result);
JSONObject jsonObject = new JSONObject(result);
String access_token = jsonObject.getString("access_token");
// Logger.d(access_token);
return access_token;
} catch (Exception e) {
e.printStackTrace();

View File

@@ -2,7 +2,6 @@ package com.example.ninefourone.nutritionmaster.bean;
import java.util.List;
public class Illness {
/**
@@ -29,6 +28,14 @@ public class Illness {
this.elements = elements;
}
@Override
public String toString() {
return "Illness{" +
"menu_classification=" + menu_classification +
", elements=" + elements +
'}';
}
public static class MenuClassificationBean {
/**
* classification : 青少年食谱

View File

@@ -5,83 +5,108 @@ import java.util.List;
public class MyUser {
/**
* id : 7
* physique : 平和质
* password : password
* id : 2
* eaten_elements : {"id":12127,"calorie":1046,"carbohydrate":33.56923076923077,"fat":17.138461538461538,"protein":13.492307692307692,"cellulose":5.723076923076923,"vitaminA":16.307692307692307,"vitaminB1":0,"vitaminB2":0.16,"vitaminB6":0,"vitaminC":9.692307692307692,"vitaminE":7.483076923076923,"carotene":84.61538461538461,"cholesterol":29.692307692307693,"Mg":116.61538461538461,"Ca":230.76923076923077,"Fe":7.523076923076923,"Zn":1.209230769230769,"Cu":0.4138461538461539,"Mn":1.5138461538461538,"K":285.6923076923077,"P":92,"Na":15580.876923076923,"Se":7.636923076923078,"niacin":1.169230769230769,"thiamine":0.06307692307692307}
* physical_name : 瘀血质
* password : updata
* last_login : null
* is_superuser : false
* username : okhttptest
* username : updatatest
* first_name :
* last_name :
* email :
* is_staff : false
* is_active : false
* date_joined : 2018-09-24T15:13:09.298590+08:00
* date_joined : 2018-09-16T20:21:40.466423+08:00
* sex : 1
* occupation_name : 程序员
* age : 0
* height : 0
* weight : 0
* bmi : -1
* occupation_name : null
* groups : []
* user_permissions : []
* illness : []
*/
private int id;
private Physique physique;
private Integer id;
private EatenElementsBean eaten_elements;
private String physical_name;
private String password;
private Object last_login;
private boolean is_superuser;
private Boolean is_superuser;
private String username;
private String first_name;
private String last_name;
private String email;
private boolean is_staff;
private boolean is_active;
private Boolean is_staff;
private Boolean is_active;
private String date_joined;
private int sex;
private String occupation_name = "";
private Integer sex;
private Integer age;
private Integer height;
private Integer weight;
private Integer bmi;
private Object occupation_name;
private List<?> groups;
private List<?> user_permissions;
private int age = 0;
private List<?> illness;
private float weight = 0;
private float height = 0;
public int getAge() {
return age;
public MyUser() {
height = new Integer(0);
occupation_name = "";
}
public void setAge(int age) {
this.age = age;
@Override
public String toString() {
return "MyUser{" +
"id=" + id +
", eaten_elements=" + eaten_elements +
", physical_name='" + physical_name + '\'' +
", password='" + password + '\'' +
", last_login=" + last_login +
", is_superuser=" + is_superuser +
", username='" + username + '\'' +
", first_name='" + first_name + '\'' +
", last_name='" + last_name + '\'' +
", email='" + email + '\'' +
", is_staff=" + is_staff +
", is_active=" + is_active +
", date_joined='" + date_joined + '\'' +
", sex=" + sex +
", age=" + age +
", height=" + height +
", weight=" + weight +
", bmi=" + bmi +
", occupation_name=" + occupation_name +
", groups=" + groups +
", user_permissions=" + user_permissions +
", illness=" + illness +
'}';
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
public float getHeight() {
return height;
}
public void setHeight(float height) {
this.height = height;
}
public int getId() {
public Integer getId() {
return id;
}
public void setId(int id) {
public void setId(Integer id) {
this.id = id;
}
public Physique getPhysique() {
return physique;
public EatenElementsBean getEaten_elements() {
return eaten_elements;
}
public void setPhysique(Physique physique) {
this.physique = physique;
public void setEaten_elements(EatenElementsBean eaten_elements) {
this.eaten_elements = eaten_elements;
}
public String getPhysical_name() {
return physical_name;
}
public void setPhysical_name(String physical_name) {
this.physical_name = physical_name;
}
public String getPassword() {
@@ -100,11 +125,11 @@ public class MyUser {
this.last_login = last_login;
}
public boolean isIs_superuser() {
public Boolean getIs_superuser() {
return is_superuser;
}
public void setIs_superuser(boolean is_superuser) {
public void setIs_superuser(Boolean is_superuser) {
this.is_superuser = is_superuser;
}
@@ -140,19 +165,19 @@ public class MyUser {
this.email = email;
}
public boolean isIs_staff() {
public Boolean getIs_staff() {
return is_staff;
}
public void setIs_staff(boolean is_staff) {
public void setIs_staff(Boolean is_staff) {
this.is_staff = is_staff;
}
public boolean isIs_active() {
public Boolean getIs_active() {
return is_active;
}
public void setIs_active(boolean is_active) {
public void setIs_active(Boolean is_active) {
this.is_active = is_active;
}
@@ -164,24 +189,48 @@ public class MyUser {
this.date_joined = date_joined;
}
public int getSex() {
public Integer getSex() {
return sex;
}
public void setSex(int sex) {
public void setSex(Integer sex) {
this.sex = sex;
}
public void setSex(String sex) {
if (sex.equals("")) {
this.sex = 1;
} else {
this.sex = 0;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
public Integer getWeight() {
return weight;
}
public void setWeight(Integer weight) {
this.weight = weight;
}
public Integer getBmi() {
return bmi;
}
public void setBmi(Integer bmi) {
this.bmi = bmi;
}
public String getOccupation_name() {
return occupation_name;
return occupation_name+"";
}
public void setOccupation_name(String occupation_name) {
@@ -204,29 +253,309 @@ public class MyUser {
this.user_permissions = user_permissions;
}
@Override
public String toString() {
return "MyUser{" +
"id=" + id +
", physique='" + physique + '\'' +
", password='" + password + '\'' +
", last_login=" + last_login +
", is_superuser=" + is_superuser +
", username='" + username + '\'' +
", first_name='" + first_name + '\'' +
", last_name='" + last_name + '\'' +
", email='" + email + '\'' +
", is_staff=" + is_staff +
", is_active=" + is_active +
", date_joined='" + date_joined + '\'' +
", sex=" + sex +
", occupation_name='" + occupation_name + '\'' +
", groups=" + groups +
", user_permissions=" + user_permissions +
", user_age=" + age +
", user_sex=" + sex +
", user_height=" + height +
", user_weight=" + weight +
'}';
public List<?> getIllness() {
return illness;
}
public void setIllness(List<?> illness) {
this.illness = illness;
}
public static class EatenElementsBean {
/**
* id : 12127
* calorie : 1046
* carbohydrate : 33.56923076923077
* fat : 17.138461538461538
* protein : 13.492307692307692
* cellulose : 5.723076923076923
* vitaminA : 16.307692307692307
* vitaminB1 : 0
* vitaminB2 : 0.16
* vitaminB6 : 0
* vitaminC : 9.692307692307692
* vitaminE : 7.483076923076923
* carotene : 84.61538461538461
* cholesterol : 29.692307692307693
* Mg : 116.61538461538461
* Ca : 230.76923076923077
* Fe : 7.523076923076923
* Zn : 1.209230769230769
* Cu : 0.4138461538461539
* Mn : 1.5138461538461538
* K : 285.6923076923077
* P : 92
* Na : 15580.876923076923
* Se : 7.636923076923078
* niacin : 1.169230769230769
* thiamine : 0.06307692307692307
*/
private double id;
private double calorie;
private double carbohydrate;
private double fat;
private double protein;
private double cellulose;
private double vitaminA;
private double vitaminB1;
private double vitaminB2;
private double vitaminB6;
private double vitaminC;
private double vitaminE;
private double carotene;
private double cholesterol;
private double Mg;
private double Ca;
private double Fe;
private double Zn;
private double Cu;
private double Mn;
private double K;
private double P;
private double Na;
private double Se;
private double niacin;
private double thiamine;
@Override
public String toString() {
return "EatenElementsBean{" +
"id=" + id +
", calorie=" + calorie +
", carbohydrate=" + carbohydrate +
", fat=" + fat +
", protein=" + protein +
", cellulose=" + cellulose +
", vitaminA=" + vitaminA +
", vitaminB1=" + vitaminB1 +
", vitaminB2=" + vitaminB2 +
", vitaminB6=" + vitaminB6 +
", vitaminC=" + vitaminC +
", vitaminE=" + vitaminE +
", carotene=" + carotene +
", cholesterol=" + cholesterol +
", Mg=" + Mg +
", Ca=" + Ca +
", Fe=" + Fe +
", Zn=" + Zn +
", Cu=" + Cu +
", Mn=" + Mn +
", K=" + K +
", P=" + P +
", Na=" + Na +
", Se=" + Se +
", niacin=" + niacin +
", thiamine=" + thiamine +
'}';
}
public double getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getCalorie() {
return calorie;
}
public void setCalorie(int calorie) {
this.calorie = calorie;
}
public double getCarbohydrate() {
return carbohydrate;
}
public void setCarbohydrate(double carbohydrate) {
this.carbohydrate = carbohydrate;
}
public double getFat() {
return fat;
}
public void setFat(double fat) {
this.fat = fat;
}
public double getProtein() {
return protein;
}
public void setProtein(double protein) {
this.protein = protein;
}
public double getCellulose() {
return cellulose;
}
public void setCellulose(double cellulose) {
this.cellulose = cellulose;
}
public double getVitaminA() {
return vitaminA;
}
public void setVitaminA(double vitaminA) {
this.vitaminA = vitaminA;
}
public double getVitaminB1() {
return vitaminB1;
}
public void setVitaminB1(int vitaminB1) {
this.vitaminB1 = vitaminB1;
}
public double getVitaminB2() {
return vitaminB2;
}
public void setVitaminB2(double vitaminB2) {
this.vitaminB2 = vitaminB2;
}
public double getVitaminB6() {
return vitaminB6;
}
public void setVitaminB6(int vitaminB6) {
this.vitaminB6 = vitaminB6;
}
public double getVitaminC() {
return vitaminC;
}
public void setVitaminC(double vitaminC) {
this.vitaminC = vitaminC;
}
public double getVitaminE() {
return vitaminE;
}
public void setVitaminE(double vitaminE) {
this.vitaminE = vitaminE;
}
public double getCarotene() {
return carotene;
}
public void setCarotene(double carotene) {
this.carotene = carotene;
}
public double getCholesterol() {
return cholesterol;
}
public void setCholesterol(double cholesterol) {
this.cholesterol = cholesterol;
}
public double getMg() {
return Mg;
}
public void setMg(double Mg) {
this.Mg = Mg;
}
public double getCa() {
return Ca;
}
public void setCa(double Ca) {
this.Ca = Ca;
}
public double getFe() {
return Fe;
}
public void setFe(double Fe) {
this.Fe = Fe;
}
public double getZn() {
return Zn;
}
public void setZn(double Zn) {
this.Zn = Zn;
}
public double getCu() {
return Cu;
}
public void setCu(double Cu) {
this.Cu = Cu;
}
public double getMn() {
return Mn;
}
public void setMn(double Mn) {
this.Mn = Mn;
}
public double getK() {
return K;
}
public void setK(double K) {
this.K = K;
}
public double getP() {
return P;
}
public void setP(int P) {
this.P = P;
}
public double getNa() {
return Na;
}
public void setNa(double Na) {
this.Na = Na;
}
public double getSe() {
return Se;
}
public void setSe(double Se) {
this.Se = Se;
}
public double getNiacin() {
return niacin;
}
public void setNiacin(double niacin) {
this.niacin = niacin;
}
public double getThiamine() {
return thiamine;
}
public void setThiamine(double thiamine) {
this.thiamine = thiamine;
}
}
}

View File

@@ -0,0 +1,48 @@
package com.example.ninefourone.nutritionmaster.bean;
public class Trick {
/**
* id : 124
* title : 一天喝一杯红酒 真能降血脂降固醇吗
* content : 随着高血脂、高固醇患者人数不但增长,关于如何对这类疾病进行有效地预防,成了越来越多人关注的问题,坊间关于预防的方式也多种多样,让人眼花缭乱,真假难辨。其中每天坚持喝一杯
能降血脂降固醇的说法被很多人奉为圭臬,并在生活中践行。
事实果真如此吗?红酒有这么突出的功效吗?下面为大家详细解答一番。
首先,可以确定的是,红酒的确是一种健康饮品,它含有丰富的营养物质,
功效也不容忽视。红酒中所含的多酚、白藜芦醇、花色苷等营养物质,的确有助于降低体内的胆固醇、血脂;非但如此,这些物质还能起到软化血管的作用;此外,红酒中的有机酸,还能增强我们的消化系统,帮助我们消化食物。再者,红酒中含有的多酚、黄酮等植物化学成分,有助于清除体内自由基,预防衰老。
由此可见,饮用红酒的确对我们降脂、降固醇有很大的帮助,但是要想完全通过每天一杯红酒的方式实现预防目的,并不可取,因为红酒虽好,但同样存在下面这些隐患。
首先对红酒的选择,市场上各种质量的红酒类型鱼目混杂,如果选择了低劣的红酒,不但不能起到养生作用,反而会危害健康;此外,红酒中含有酒精,一旦饮用过量,对高血脂、高固醇患者的健康也会造成影响;再者,红酒中能降血脂、降固醇的营养物质含量较低,每天仅喝一杯,很难奏效。
可见,仅仅通过每天饮用一杯红酒的方式降血脂、降固醇并不是明智之选。那么,还有哪些方式可以帮助我们更好地实现养生目标呢?
在日常饮食方面,做到膳食结构完整,营养摄入全面,保证肉质、蔬菜、水果、蛋类等各类食材的均衡摄入;再此基础上,减少食盐、食用油的摄入量,还可以尝试用鸡肉、鱼肉等“白肉”取代猪肉等“红肉”。
高血脂、高固醇的出现,和体内过量的脂肪密不可分,每天坚持适量的体育锻炼,将体内多余的热量和脂肪消耗掉,对降低体内的血脂、固醇也大有裨益。
养生是一个循序渐进的过程,不能急功近利,更不能偏信,某一种食材具有特殊功效这种说法,只有长期坚持健康的生活方式才能拥有健康的身体。
*/
private int id;
private String title;
private String content;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}

View File

@@ -19,11 +19,10 @@ import android.widget.TextView;
import com.example.ninefourone.nutritionmaster.R;
import com.example.ninefourone.nutritionmaster.bean.ClassifyResult;
import com.example.ninefourone.nutritionmaster.bean.ResultList;
import com.example.ninefourone.nutritionmaster.modules.classifyresult.DishResultActivity;
import com.example.ninefourone.nutritionmaster.utils.ConstantUtils;
import com.example.ninefourone.nutritionmaster.utils.MessageUtils;
import com.example.ninefourone.nutritionmaster.utils.WebUtils;
import com.example.ninefourone.nutritionmaster.utils.WebUtil;
import com.orhanobut.logger.Logger;
import org.json.JSONArray;
@@ -173,10 +172,10 @@ public class ClassifierCamera extends AppCompatActivity {
String result = null;
try {
if (code == 0) {
result = WebUtils.HttpPost(ConstantUtils.BD_DISH_URL,
result = WebUtil.HttpPost(ConstantUtils.BD_DISH_URL,
ConstantUtils.BD_ACCESS_TOKEN, param);
} else if (code == 1) {
result = WebUtils.HttpPost(ConstantUtils.BD_DISH_URL,
result = WebUtil.HttpPost(ConstantUtils.BD_DISH_URL,
ConstantUtils.BD_ACCESS_TOKEN, param);
} else {
Logger.e("拍照code为-1");

View File

@@ -341,7 +341,7 @@ public class MainActivity extends BaseActivity {
* 初始化个人信息界面UI
*/
private void initInforView() {
// Logger.d(NutritionMaster.user.toString());
adderInfor.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
if (NutritionMaster.user.getHeight() != 0) {
showInformation.setVisibility(View.VISIBLE);

View File

@@ -15,6 +15,7 @@ import com.example.ninefourone.nutritionmaster.R;
import com.example.ninefourone.nutritionmaster.base.BaseActivity;
import com.example.ninefourone.nutritionmaster.bean.MyUser;
import com.example.ninefourone.nutritionmaster.modules.MainActivity;
import com.example.ninefourone.nutritionmaster.utils.CalculateUtils;
import com.example.ninefourone.nutritionmaster.utils.ConstantUtils;
import com.example.ninefourone.nutritionmaster.utils.MessageUtils;
@@ -148,14 +149,14 @@ public class AddInformationActivity extends BaseActivity {
public void onClick(View v) {
if (ageTextView.getText().toString().equals("年龄") || weightTextView.getText().toString().equals("体重")
|| sexTextView.getText().toString().equals("性别") || heightTextView.getText().toString().equals("身高")||
|| sexTextView.getText().toString().equals("性别") || heightTextView.getText().toString().equals("身高") ||
occupationTextView.getText().toString().equals("职业")) {
MessageUtils.MakeToast("请点击图片填写所有信息");
} else {
user.setHeight(Integer.valueOf(heightTextView.getText().toString().split("c")[0]));
user.setWeight(Integer.valueOf(weightTextView.getText().toString().split("k")[0]));
user.setAge(Integer.valueOf(ageTextView.getText().toString().split("")[0]));
user.setSex(sexTextView.getText().toString());
user.setSex(CalculateUtils.sex2int(sexTextView.getText().toString()));
user.setOccupation_name(occupationTextView.getText().toString());
upUser();
MessageUtils.MakeToast("信息填写成功");

View File

@@ -390,7 +390,7 @@ public class AddPhysiqueActivity extends BaseActivity {
phy.setMentality(ConstantUtils.physiquesMentalitys[maxIndex]);
phy.setMatters(ConstantUtils.physiquesMatters[maxIndex]);
phy.setImageUrl(ConstantUtils.physiquesImageUrls[maxIndex]);
user.setPhysique(phy);
user.setPhysical_name(physique);
upUser();
loadInformation(phy);

View File

@@ -76,8 +76,25 @@ public class CalculateUtils {
return calendar.get(Calendar.DAY_OF_WEEK) - 1;
}
/**
* 性别转数字
* @param sex
* @return
*/
public static int sex2int(String sex) {
if (sex.equals("")) {
return 1;
} else if (sex.equals("")) {
return 0;
} else {
Logger.e("不男不女");
return 1;
}
}
/**
* 计算每个食物吃多少
*
* @param classifyResultArrayList
* @param user
* @return

View File

@@ -1,7 +1,8 @@
package com.example.ninefourone.nutritionmaster.utils;
import com.example.ninefourone.nutritionmaster.bean.MyUser;
import com.google.gson.Gson;
import android.support.annotation.Nullable;
import com.example.ninefourone.nutritionmaster.bean.Occupation;
import com.google.gson.Gson;
@@ -9,8 +10,7 @@ import com.orhanobut.logger.Logger;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.StringWriter;
@@ -23,6 +23,10 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
@@ -31,9 +35,19 @@ import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class WebUtils {
public class WebUtil {
private static WebUtil instance = new WebUtil();
private OkHttpClient mClient = new OkHttpClient();
private WebUtil() {
}
public static WebUtil getInstance() {
return instance;
}
/**
* 获取菜谱信息
* 获取具体的菜谱信息
* {
* "flavor": "咸鲜味",
* "calorie": 234,
@@ -53,53 +67,34 @@ public class WebUtils {
* },
* }
*/
public static void getMenu(String menuName, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
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);
}
/**
* 获取病相关的菜谱和元素信息
* 传入含有病的意义的菜谱分类名称,比如青少年食谱
*
* {
* "menu_classification": {
* "classification": "青少年食谱",
* "cure_occupation": [
* "学生"
* ],
* "menu_effect": [
* "三鲜鳝汤",
* "上海糖醋小排骨",
* ...
* ]
* },
* "elements": {
* "id": 84,
* "calorie": 1.1,
* ...
* }
* }
*/
public static void getIllness(String illnessClassification, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
Request request = new Request.Builder().url("http://120.77.182.38/illness/" + illnessClassification + "/").build();
mClient.newCall(request).enqueue(callback);
}
/**
* 获取count个随机菜谱,在回调中解析为一个Menu数组
*
* @param count
* @param callback
*/
public static void getRandomMenus(int count, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
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();
mClient.newCall(request).enqueue(callback);
}
/**
* 随机获取一定数量的小知识
*
* @param count
* @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();
mClient.newCall(request).enqueue(callback);
}
/**
* 获取某食材可以做的菜
* [
@@ -123,8 +118,7 @@ public class WebUtils {
* @param materialName
* @param callback
*/
public static void getFoodMaterial(String materialName, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
public void getFoodMaterial(String materialName, Callback callback) {
Request request = new Request.Builder().url("http://120.77.182.38/foodmaterial/" + materialName + "/").build();
mClient.newCall(request).enqueue(callback);
}
@@ -149,8 +143,7 @@ public class WebUtils {
* "冬苋菜豆腐汤",
* "冬菜排骨汤",
*/
public static void getMenuClassification(String classificationName, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
public void getMenuClassification(String classificationName, Callback callback) {
Request request = new Request.Builder().url("http://120.77.182.38/menuclassification/" + classificationName + "/").build();
mClient.newCall(request).enqueue(callback);
}
@@ -168,8 +161,7 @@ public class WebUtils {
* ]
* }
*/
public static void getOccupation(String occupationName, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
public void getOccupation(String occupationName, Callback callback) {
Request request = new Request.Builder().url("http://120.77.182.38/occupation/" + occupationName + "/").build();
mClient.newCall(request).enqueue(callback);
}
@@ -194,21 +186,48 @@ public class WebUtils {
* ]
* }
*/
public static void getPhysique(String physiqueName, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
public void getPhysique(String physiqueName, Callback callback) {
Request request = new Request.Builder().url("http://120.77.182.38/physique/" + physiqueName + "/").build();
mClient.newCall(request).enqueue(callback);
}
public static void getUser(String username, Callback callback) {
OkHttpClient mClient = new OkHttpClient();
/**
* 获取病相关的菜谱和元素信息
* 传入含有病的意义的菜谱分类名称,比如青少年食谱
* <p>
* {
* "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();
mClient.newCall(request).enqueue(callback);
}
public void getUser(String username, Callback callback) {
mClient = new OkHttpClient();
Request request = new Request.Builder().url("http://120.77.182.38/myuser/" + username + "/").build();
mClient.newCall(request).enqueue(callback);
}
/**
* 注意在回调中处理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)
@@ -224,9 +243,9 @@ public class WebUtils {
OkHttpClient mClient = new OkHttpClient();
mClient.newCall(request).enqueue(callback);
}
}*/
public static void changeUserPassword(String username, String password, Callback 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)
@@ -235,47 +254,162 @@ public class WebUtils {
Request request = new Request.Builder()
.url(url)
.put(formBody)
.patch(formBody)
.build();
OkHttpClient mClient = new OkHttpClient();
mClient.newCall(request).enqueue(callback);
}
public static void changeUserOccupation(String username, String password, String occupation, Callback 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("password", password)
.add("occupation", occupation)
.build();
Request request = new Request.Builder()
.url(url)
.put(formBody)
.patch(formBody)
.build();
OkHttpClient mClient = new OkHttpClient();
mClient.newCall(request).enqueue(callback);
}
public static void changeUserPhysique(String username, String password, String physique, Callback 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("password", password)
.add("physique", physique)
.build();
Request request = new Request.Builder()
.url(url)
.put(formBody)
.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 + "/";
FormBody.Builder builder = new FormBody.Builder();
for (String illness : illnesses) {
builder.add("illness", illness);
}
RequestBody formBody = builder.build();
Request request = new Request.Builder()
.url(url)
.patch(formBody)
.build();
OkHttpClient mClient = new OkHttpClient();
mClient.newCall(request).enqueue(callback);
}*/
private static RequestBody buildUserRequestBody(MyUser user) {
try {
FormBody.Builder builder = new FormBody.Builder();
Class<?> c = Class.forName("model.MyUser");
Field[] fields = c.getDeclaredFields();
for (Field f : fields) {
String fieldName = f.toString().substring(f.toString().lastIndexOf(".") + 1);
f.setAccessible(true);
Object object = f.get(user);//获取属性的值
if (object != null ) {
//illness属性是一个list,需要加入每个list的值,而不是list对象
if (fieldName.equals("illness")) {
List<String> illnessList = (List<String>) object;
for (String ill : illnessList) {
builder.add("illness", ill);
}
} else {
builder.add(fieldName, String.valueOf(object));
}
}
}
RequestBody formBody = builder.build();
// 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) {
e.printStackTrace();
}
return null;
}
/**
* 注册用户注意username必须要有
*
* @param user
*/
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();
mClient.newCall(request).enqueue(callback);
}
/**
* 把user要更新的信息传入, 注意username必须要有
*
* @param user
*/
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();
mClient.newCall(request).enqueue(callback);
}
/**
* 用户吃了一个菜,更新用户本周已吃摄入的营养元素的量
* 返回当前user的最新信息,用MyUser类解析json
* @param username
* @param menuName
*/
public void eatenMenu(String username, String menuName,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();
Request request = new Request.Builder()
.url(url)
.post(formBody)
.build();
mClient.newCall(request).enqueue(callback);
}
public static String HttpPost(String requestUrl, String accessToken, String params) throws Exception {
System.out.println(params);
@@ -326,7 +460,76 @@ public class WebUtils {
}
public static void main(String[] args) {
/*WebUtils.getMenu("雪丽对虾", new Callback() {
/*
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().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));
}
});*/
/* WebUtil.getMenu("雪丽对虾", new Callback() {
@Override
public void onFailure(Call call, IOException e) {
@@ -354,7 +557,7 @@ public class WebUtils {
}
});*/
/* WebUtils.getFoodMaterial("西红柿", new Callback() {
/*WebUtil.getFoodMaterial("西红柿", new Callback() {
@Override
public void onFailure(Call call, IOException e) {
@@ -363,12 +566,12 @@ public class WebUtils {
@Override
public void onResponse(Call call, Response response) throws IOException {
String json = response.body().string();
FoodMaterial[] foodMaterialList = new Gson().fromJson(json, FoodMaterial[].class);
System.out.println(Arrays.toString(foodMaterialList));
FoodMaterial foodMaterial = new Gson().fromJson(json, FoodMaterial.class);
System.out.println(foodMaterial);
}
});*/
/*WebUtils.getMenuClassification("川菜", new Callback() {
/*WebUtil.getMenuClassification("川菜", new Callback() {
@Override
public void onFailure(Call call, IOException e) {
@@ -381,7 +584,46 @@ public class WebUtils {
}
});*/
/*WebUtils.getOccupation("程序员", new Callback() {
/*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) {
@@ -392,44 +634,5 @@ public class WebUtils {
System.out.println(response.body().string());
}
});*/
/*WebUtils.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));
}
});*/
/*WebUtils.getUser("okhttptest", 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));
}
});*/
// WebUtils.changeUserOccupation("updatatest","1234" ,"气虚质", new Callback() {
// @Override
// public void onFailure(Call call, IOException e) {
// e.printStackTrace();
// }
//
// @Override
// public void onResponse(Call call, Response response) throws IOException {
// System.out.println(response.body().string());
// }
// });
}
}