diff --git a/jiankangyinshi/.gitignore b/jiankangyinshi/.gitignore new file mode 100644 index 0000000..5edb4ee --- /dev/null +++ b/jiankangyinshi/.gitignore @@ -0,0 +1,10 @@ +*.iml +.gradle +/local.properties +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/jiankangyinshi/.idea/caches/build_file_checksums.ser b/jiankangyinshi/.idea/caches/build_file_checksums.ser new file mode 100644 index 0000000..4ac28c0 Binary files /dev/null and b/jiankangyinshi/.idea/caches/build_file_checksums.ser differ diff --git a/jiankangyinshi/.idea/caches/gradle_models.ser b/jiankangyinshi/.idea/caches/gradle_models.ser new file mode 100644 index 0000000..5bb60a8 Binary files /dev/null and b/jiankangyinshi/.idea/caches/gradle_models.ser differ diff --git a/jiankangyinshi/.idea/codeStyles/Project.xml b/jiankangyinshi/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..ae78c11 --- /dev/null +++ b/jiankangyinshi/.idea/codeStyles/Project.xml @@ -0,0 +1,113 @@ + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/jiankangyinshi/.idea/gradle.xml b/jiankangyinshi/.idea/gradle.xml new file mode 100644 index 0000000..169fd0d --- /dev/null +++ b/jiankangyinshi/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/.idea/misc.xml b/jiankangyinshi/.idea/misc.xml new file mode 100644 index 0000000..99202cc --- /dev/null +++ b/jiankangyinshi/.idea/misc.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/.idea/runConfigurations.xml b/jiankangyinshi/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/jiankangyinshi/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/README.md b/jiankangyinshi/README.md new file mode 100644 index 0000000..6783e58 --- /dev/null +++ b/jiankangyinshi/README.md @@ -0,0 +1,7 @@ +# Healthy_diet + +#### 介绍 +健康饮食项目配套代码 + +#### 软件架构 +数据都显示在代码当中,没用到数据库 diff --git a/jiankangyinshi/app/.gitignore b/jiankangyinshi/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/jiankangyinshi/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/jiankangyinshi/app/build.gradle b/jiankangyinshi/app/build.gradle new file mode 100644 index 0000000..729f3e0 --- /dev/null +++ b/jiankangyinshi/app/build.gradle @@ -0,0 +1,29 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 28 + defaultConfig { + applicationId "com.animee.health" + minSdkVersion 17 + targetSdkVersion 28 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation 'com.android.support:appcompat-v7:27.1.0' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + implementation 'com.android.support:support-v4:27.1.0' +} diff --git a/jiankangyinshi/app/proguard-rules.pro b/jiankangyinshi/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/jiankangyinshi/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/jiankangyinshi/app/src/androidTest/java/com/animee/health/ExampleInstrumentedTest.java b/jiankangyinshi/app/src/androidTest/java/com/animee/health/ExampleInstrumentedTest.java new file mode 100644 index 0000000..2f36935 --- /dev/null +++ b/jiankangyinshi/app/src/androidTest/java/com/animee/health/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.animee.health; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.animee.health", appContext.getPackageName()); + } +} diff --git a/jiankangyinshi/app/src/main/AndroidManifest.xml b/jiankangyinshi/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..7e66ef9 --- /dev/null +++ b/jiankangyinshi/app/src/main/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/AboutActivity.java b/jiankangyinshi/app/src/main/java/com/animee/health/AboutActivity.java new file mode 100644 index 0000000..ab2ec0b --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/AboutActivity.java @@ -0,0 +1,105 @@ +package com.animee.health; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.os.Handler; +import android.os.Message; +import android.support.v4.view.ViewPager; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.List; + +public class AboutActivity extends AppCompatActivity implements View.OnClickListener{ + ViewPager aboutVp; + TextView shareTv; + LinearLayout pointLayout; + ListviewList; //ViewPager的数据源 + int[]picIds = {R.mipmap.ab1,R.mipmap.ab2,R.mipmap.ab3,R.mipmap.ab4,R.mipmap.ab5}; + private AboutAdapter adapter; + ListpointList; //存放显示器小点点的集合 + @SuppressLint("HandlerLeak") + Handler handler = new Handler(){ + @Override + public void handleMessage(Message msg) { + if (msg.what == 1) { +// 接收到消息之后,需要使ViewPager页面向下滑动一页 + int currentItem = aboutVp.getCurrentItem(); + aboutVp.setCurrentItem(currentItem+1); + handler.sendEmptyMessageDelayed(1,5000); + } + } + }; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_about); + aboutVp = findViewById(R.id.about_vp); + shareTv = findViewById(R.id.about_tv_share); + pointLayout = findViewById(R.id.about_layout_point); + shareTv.setOnClickListener(this); + viewList = new ArrayList<>(); + pointList = new ArrayList<>(); +// 初始化ViewPager的页面信息 + for (int i = 0; i < picIds.length; i++) { + View view = LayoutInflater.from(this).inflate(R.layout.item_aboutvp,null); + ImageView iv = view.findViewById(R.id.item_aboutvp_iv); + iv.setImageResource(picIds[i]); + viewList.add(view); +// 创建指示器内容 + ImageView pointIv = new ImageView(this); +// 在代码中设置控件的宽高和外边距等属性 + LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); + lp.setMargins(0,0,20,0); +// 将布局参数设置给ImageView + pointIv.setLayoutParams(lp); + pointIv.setImageResource(R.mipmap.a2); + pointList.add(pointIv); //添加到集合当中便于统一管理 + pointLayout.addView(pointIv); //添加到布局当中显示出来 + } + pointList.get(0).setImageResource(R.mipmap.a3); //设置第一个小圆点为选中状态 +// 创建适配器对象 + adapter = new AboutAdapter(viewList); +// 设置适配器 + aboutVp.setAdapter(adapter); +// 发送切换页面消息 + handler.sendEmptyMessageDelayed(1,5000); +// 设置ViewPager页面监听器 + setVPListener(); + } + + private void setVPListener() { + /* 设置ViewPager的监听器*/ + aboutVp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + } + @Override + public void onPageSelected(int position) { + for (int i = 0; i < pointList.size(); i++) { + pointList.get(i).setImageResource(R.mipmap.a2); + } + pointList.get(position%pointList.size()).setImageResource(R.mipmap.a3); + } + @Override + public void onPageScrollStateChanged(int state) { + } + }); + } + + @Override + public void onClick(View v) { +// 调用系统自带的分享功能 + Intent intent = new Intent(Intent.ACTION_SEND); + intent.setType("text/plain"); + String msg= "健康饮食非常的重要,了解饮食各种营养素和热量,摄入正确的食物,让你变得更健康,想要了解更多么,快来下载健康饮食app吧~~"; + intent.putExtra(Intent.EXTRA_TEXT,msg); + startActivity(Intent.createChooser(intent,"健康饮食分享")); + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/AboutAdapter.java b/jiankangyinshi/app/src/main/java/com/animee/health/AboutAdapter.java new file mode 100644 index 0000000..d1bed0f --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/AboutAdapter.java @@ -0,0 +1,40 @@ +package com.animee.health; + +import android.support.annotation.NonNull; +import android.support.v4.view.PagerAdapter; +import android.view.View; +import android.view.ViewGroup; + +import java.util.List; + +public class AboutAdapter extends PagerAdapter{ + ListviewList; + + public AboutAdapter(List viewList) { + this.viewList = viewList; + } + + @Override + public int getCount() { + return Integer.MAX_VALUE; + } + + @Override + public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { + return view == object; + } + + @NonNull + @Override + public Object instantiateItem(@NonNull ViewGroup container, int position) { + View view = viewList.get(position%viewList.size()); + container.addView(view); + return view; + } + + @Override + public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { + View view = viewList.get(position%viewList.size()); + container.removeView(view); + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/HomeMenuActivity.java b/jiankangyinshi/app/src/main/java/com/animee/health/HomeMenuActivity.java new file mode 100644 index 0000000..8d37058 --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/HomeMenuActivity.java @@ -0,0 +1,34 @@ +package com.animee.health; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; + +import com.animee.health.food_grid.FoodGridActivity; +import com.animee.health.food_list.InfoListActivity; + +public class HomeMenuActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_home_menu); + } + + public void onClick(View view) { + Intent intent = new Intent(); + switch (view.getId()) { + case R.id.home_btn1: + intent.setClass(HomeMenuActivity.this,InfoListActivity.class); + break; + case R.id.home_btn2: + intent.setClass(HomeMenuActivity.this, FoodGridActivity.class); + break; + case R.id.home_btn3: + intent.setClass(HomeMenuActivity.this, AboutActivity.class); + break; + } + startActivity(intent); + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodBean.java b/jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodBean.java new file mode 100644 index 0000000..133962c --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodBean.java @@ -0,0 +1,52 @@ +package com.animee.health.bean; + +import java.io.Serializable; + +public class FoodBean implements Serializable{ + private String title; + private String notmatch; + private String desc; + private int picId; + + public FoodBean(String title, String notmatch, String desc, int picId) { + this.title = title; + this.notmatch = notmatch; + this.desc = desc; + this.picId = picId; + } + + public FoodBean() { + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getNotmatch() { + return notmatch; + } + + public void setNotmatch(String notmatch) { + this.notmatch = notmatch; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } + + public int getPicId() { + return picId; + } + + public void setPicId(int picId) { + this.picId = picId; + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodUtils.java b/jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodUtils.java new file mode 100644 index 0000000..3fff112 --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodUtils.java @@ -0,0 +1,82 @@ +package com.animee.health.bean; + +import com.animee.health.R; +import com.animee.health.bean.FoodBean; + +import java.util.ArrayList; +import java.util.List; + +public class FoodUtils { + private static final String[] food = { "猪肉", "猪肝", "猪血", "羊肉", "牛肉", "牛肝", "鹅肉", "兔肉", "狗肉", + "鸭肉", "鸡肉", "驴肉", "鸡蛋", "鲤鱼", "黄鱼", "虾", "虾皮", "螃蟹", "蛤", "鳖肉", + "田螺", "大蒜", "葱", "萝卜", "芹菜", "韭菜", "菠菜", "莴笋", "竹笋", "西红柿", "洋葱", + "醋", "茶", "豆浆", "红糖", "蜂蜜", "牛奶", "白酒", "啤酒" }; + private static final String[] food1 = { "黄莲", "荞麦 雀肉 豆芽", "何首乌 地黄 黄豆 海带", "醋 红豆 半夏 南瓜", + "橄榄 板粟 韭菜 ", "鲇鱼 鳗鱼 柿子", "狗肉 鲤鱼 柑橘", "鲤鱼 绿豆", "鳖", "鲤鱼", "金针菇", + "豆浆 兔肉", "甘草 麦冬", "荞麦面 ", "富含维生素C的食物", "红枣 黄豆", + "梨 柿子 茄子 花生仁 石榴 香瓜 芹菜 蜂蜜 西红柿", "芹菜 ", "鸭肉", "香瓜 木耳 牛肉 蚕豆 玉米", + "地黄 何首乌 白术", "枣", "橘子 木耳", "黄瓜 蚬、蛤、蟹", "牛肉", "豆腐 鳝鱼 黄瓜", "蜂蜜", + "糖浆", "白酒", "蜂蜜", "胡萝卜", "酒", "蜂蜜", "竹笋", "皮蛋", "豆腐 韭菜", + "钙片果汁 药物 韭菜 柠檬", "胡萝卜 核桃 啤酒 红薯", "海鲜" }; + private static final int[] resId = { R.mipmap.pork, R.mipmap.pigliver, R.mipmap.pigblood, + R.mipmap.lamb, R.mipmap.beef, R.mipmap.beefliver, + R.mipmap.goose, R.mipmap.rabbit, R.mipmap.dog, + R.mipmap.duck, R.mipmap.chicken, R.mipmap.donkey, + R.mipmap.egg, R.mipmap.carp, R.mipmap.yellowfish, + R.mipmap.shrimp, R.mipmap.shrimp2, R.mipmap.crab, + R.mipmap.clam, R.mipmap.turtle, R.mipmap.riversnail, + R.mipmap.garlic, R.mipmap.onion, R.mipmap.radish, + R.mipmap.celery, R.mipmap.leek, R.mipmap.spinach, + R.mipmap.lettuce, R.mipmap.bamboo, R.mipmap.tomato, + R.mipmap.foreignonion, R.mipmap.vinegar, R.mipmap.tea, + R.mipmap.beanmilk, R.mipmap.brownsuger, R.mipmap.honey, + R.mipmap.milk, R.mipmap.whitespirit, R.mipmap.beer }; + private static final String [] foodjianjie={"猪肉是目前人们餐桌上最常见的肉类食物之一,猪瘦肉中富含铁,容易被人体吸收,能预防贫血。猪肉味甘咸,性平,有补虚、滋阴、养血、润燥的功效。" + ,"猪肝味甘、苦,性温,归肝经。猪肝富含多种营养素,是预防缺血性贫血的首选食品,猪肝中的铁容易被人体吸收,是理想的补肝、明目、养血的食品。" + ,"猪血味甘、苦,性温,有解毒清肠、补血美容的功效。猪血富含维生素B2、维生素C、蛋白质、铁、磷、钙、尼克酸等营养成分。", + "羊肉味甘、性温,具有补虚劳,祛寒冷,温补气血;益肾气,补形衰,开胃健力的功效。用于气血不足、腹部冷痛、体虚怕冷、腰膝酸痛、面黄肌瘦、血气两亏等一切虚状均有补益效果,最适宜冬季食用。", + "牛肉有补中益气,滋养脾胃,强健筋骨,化痰息风,止渴止涎之功效。牛肉富含蛋白质,而脂肪少,氨基酸组成比猪肉更接近人体需要,能提高机体抗病能力。", + "养血,补肝,明目。牛肝中铁质丰富,是补血食品中最常用的食物。" + ,"鹅肉含有人体生长发育所必需的各种氨基酸,其组成接近人体所需氨基酸的比例,从生物学价值上来看,鹅肉是是理想的高蛋白、低脂肪、低胆固醇的营养健康食品,其亚麻酸含量超过其它肉类。鹅肉性平、味甘,具有益气补虚,和胃止渴的功效。", + "兔肉质地细嫩,味道鲜美,营养丰富,与猪牛、羊肉相比较,兔肉营养成分独特,具有高铁、高钙、高磷脂和低脂肪、低胆固醇等特点,并且具有很高的消化率(可达85%),食后极易被消化吸收。", + "狗肉温补脾胃、补肾助阳、壮力气、补血脉。狗肉不仅蛋白质含量高,而且蛋白质质量极佳,尤以球蛋白比例大,对增强机体抗病力和细胞活力及器官功能有明显作用。", + "富含蛋白质、脂肪、铁、钾、糖等多种营养成分。其饱和脂肪酸的含量比猪肉、牛肉、羊肉少得多,脂肪酸熔点低,易于消化。所含胆固醇比鱼还要低一些。《本草纲目》记载:鸭肉主大补虚劳,最消毒热,利小便,除水肿,消胀满,利脏腑,退疮肿,定惊痫。", + "鸡肉含丰富蛋白质,种类多,其含量比猪、牛、羊肉都高,而脂肪含量比其它肉类低,且多为不饱和脂肪酸,营养价值高,消化率高,很容易被人体吸收利用,有增强体力、强壮身体的作用。", + "驴肉富含蛋白质,而且含有动物胶、骨胶原、钙、硫等成分,其中含有的高级不饱和脂肪酸,尤其是亚油酸、亚麻酸,对动脉硬化、冠心病、高血压有着良好的保健作用。中医认为:驴肉性味甘凉,有补气养血、滋阴壮阳、安神去烦功效。", + "鸡蛋被认为是营养丰富的食品,含有蛋白质、脂肪、卵黄素、卵磷脂、维生素和铁、钙、钾等人体所需要的矿物质。鸡蛋味甘、性平,具有养心安神、补血、滋阴润燥的功效。", + "鲤鱼的蛋白质不但含量高,而且质量也佳,人体消化吸收率可达96%,并能供给人体必需的氨基酸、矿物质、维生素A和维生素D。鲤鱼味甘、性平,具有健脾开胃、消水肿、利小便的作用。", + "黄鱼含有丰富的蛋白质、微量元素和维生素,对人体有很好的补益作用。中医认为,黄鱼有和胃止血、益肾补虚、健脾开胃、安神止痢、益气填精之功效,对贫血、失眠、头晕、食欲不振及妇女产后体虚有良好疗效。", + "虾营养极为丰富,含蛋白质是鱼、蛋、奶的几倍到几十倍;还含有丰富的钾、碘、镁、磷等矿物质及维生素A、氨茶碱等成分。", + "虾皮中含有丰富的蛋白质和矿物质,尤其是钙的含量极为丰富,是缺钙者补钙的较佳途径之一。", + "螃蟹含有丰富的蛋白质及钙、磷、铁等微量元素,对身体有很好的滋补作用。中医学认为螃蟹性寒、味咸,有清热、散血结、续断伤、理经脉和滋阴等功用;其壳可清热解毒、破淤清积止痛。", + "肉味鲜美、营养丰富,蛋白质含量高,氨基酸的种类组成及配比合理; 脂肪含量低,不饱和脂肪酸较高,易被人体消化吸收。蛤味咸、性寒,有滋阴、利水、化痰、软坚的功效。", + "鳖肉偏于滋阴补肾、补虚。是久病体弱,消瘦无力等人群的食疗佳品。鳖味咸、性平,具有滋阴凉血、平肝益气、散结软坚、消淤等功效。", + "含蛋白质、脂肪、碳水化合物、钙、磷、铁、硫胺素、核黄素、尼克酸、维生素。田螺味咸、性寒,有清热利水、除湿解读的功效。", + "大蒜含有丰富的营养成分,尤其是具有独特生物活性的蒜素等含硫化合物及硒蛋白等功能成分,这些物质具有显著的医用和食用价值。中医理论认为,大蒜生者辛热、熟者甘温,可除寒湿、怯阴邪、下气暖中、消谷化积、破恶血、攻冷积。", + "葱的主要营养成分是蛋白质、糖类、维生素A原(主要在绿色葱叶中含有)、食物纤维以及磷、铁、镁等矿物质等。中医记载:葱能发汗解表,散寒通阳,解毒散凝。主治风寒感冒轻症,痈肿疮毒,痢疾脉微,寒凝腹痛,小便不利等病症。", + "萝卜含有丰富的碳水化合物、纤维素、维生素C及钙、磷、钾、铁等矿物质,营养丰富;萝卜还有促进新陈代谢,增进食欲的作用,对于治疗消化不良、胃脘胀满、咳嗽多痰、胸闷气喘、伤风感冒有一定的疗效。", + "芹菜含有蛋白质、脂肪、碳水化合物、纤维素、维生素、矿物质等营养成分。其中,维生素B、P的含量较多。矿物质元素钙、磷、铁的含量更是高于一般绿色蔬菜。", + "韭菜性温,味辛,具有补肾起阳作用,且含有大量维生素和粗纤维,能增进胃肠蠕动,治疗便秘。", + "菠菜含水量高(90%~93%),而热量低,是镁、铁、钾和维生素A的优质来源;也是钙和维生素C的上等来源。所含的磷、锌、叶酸和维生素B6也较为丰富。菠菜中含有的维生素C能够提高铁的吸收率,并促进铁与造血的叶酸共同作用,有效地预防贫血症。", + "莴苣含蛋白质、脂粉、碳水化合物、钙、磷、铁、胡萝卜素、及维生素B、维生素C、尤其含烟酸较多。莴苣味道清新且略带苦味,可刺激消化酶分泌,增进食欲。其乳状浆液,可增强胃液、消化腺的分泌和胆汁的分泌,从而促进消化。", + "具有滋阴凉血、和中润肠、清热化痰、解渴除烦、清热益气、利隔爽胃、利尿通便、解毒透疹、养肝明目、消食的功效,还可开胃健脾,宽肠利膈,通肠排便,开膈豁痰,消油腻,解酒毒。", + "番茄富含维生素C,其含有的番茄红素有利尿和抑制细菌生长的作用,是优良的抗氧化剂,多吃番茄具有抗衰老作用,使皮肤保持白皙。西红柿味酸微甘、性平,具有生津止渴,健胃消食,凉血平肝,清热解毒,降低血压之功效。", + "洋葱所含的微量元素硒是一种很强的抗氧化剂,能清除体内的自由基,增强细胞的活力和代谢能力,具有抗衰老的功效。", + "醋可以开胃,促进唾液和胃液的分泌,帮助消化吸收,使食欲旺盛,消食化积。醋还有很好的抑菌和杀菌作用,能有效预防肠道疾病、流行性感冒和呼吸疾病。", + "茶叶内含化合物500种左右,有些是人体必需的营养成分。如维生素类、蛋白质、氨基酸、类脂类、糖类及矿物质元素等,对人体有较高营养价值。有些是对人体有保健和药用价值的成分,如茶多酚、咖啡碱、脂多糖等,常喝茶有利于人体健康。", + "豆浆含有丰富的植物蛋白,磷脂,维生素B1、B2,烟酸和铁、钙等矿物质,尤其是钙的含量,虽不及豆腐高,但比其他任何乳类都丰富。豆浆是防治高血脂、高血压、动脉硬化等疾病的理想食品。", + "红糖中所含有的葡萄糖、果糖等多种单糖和多糖类能量物质,为人体提供能量。", + "蜂蜜含有70%以上的转化糖,能够被人体肠壁细胞直接吸收利用,没有必要经人体消化,经常服用蜂蜜,能帮助消化。", + "牛奶的营养成分很高,牛奶中的矿物质种类也非常丰富,除了我们所熟知的钙以外,磷、铁、锌、铜、锰、钼的含量都很多。牛奶是人体钙的最佳来源,而且钙磷比例非常适当,利于钙的吸收。牛奶中含组成人体蛋白质的氨基酸有20种,其中有8种是人体本身不能合成的,为必需氨基酸,牛奶是人类最理想的天然食品。", + "白酒主要由水乙醇和少量微量元素组成。夜晚服用少量的白酒,可平缓的促进血液循环,起到催眠作用。饮少量白酒可刺激胃液分泌与唾液分泌,因而起到健胃和止疼痛、利小便及驱虫的作用。白酒味苦、甘、辛,性温,有毒,入心、肝、肺、胃经。", + "啤酒营养丰富,其中含有丰富的氨基酸,是原料大麦含有的蛋白质经过酶的作用分解而产生的。且啤酒中还含有多种维生素。适量饮啤酒有强心、利尿、健胃的功效。"}; + + public static List getAllFoodList(){ + Listlist = new ArrayList<>(); + for (int i = 0; i < food.length; i++) { + FoodBean bean = new FoodBean(food[i],food1[i],foodjianjie[i],resId[i]); + list.add(bean); + } + return list; + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodDescActivity.java b/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodDescActivity.java new file mode 100644 index 0000000..5cfad02 --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodDescActivity.java @@ -0,0 +1,46 @@ +package com.animee.health.food_grid; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.animee.health.R; +import com.animee.health.bean.FoodBean; + +public class FoodDescActivity extends AppCompatActivity { + TextView titleTv1,titleTv2,descTv,notTv; + ImageView backIv,bigPicIv; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_food_desc); + initView(); +// 接受上一级页面传来的数据 + Intent intent = getIntent(); + FoodBean foodBean = (FoodBean) intent.getSerializableExtra("food"); +// 设置显示控件 + titleTv1.setText(foodBean.getTitle()); + titleTv2.setText(foodBean.getTitle()); + descTv.setText(foodBean.getDesc()); + notTv.setText(foodBean.getNotmatch()); + bigPicIv.setImageResource(foodBean.getPicId()); + } + + private void initView() { + titleTv1 = findViewById(R.id.fooddesc_tv_title1); + titleTv2 = findViewById(R.id.fooddesc_tv_title2); + descTv = findViewById(R.id.fooddesc_tv_desc); + notTv = findViewById(R.id.fooddesc_tv_not); + backIv = findViewById(R.id.fooddesc_iv_back); + bigPicIv = findViewById(R.id.fooddesc_iv_bigpic); + backIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); //销毁当前的activity + } + }); + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridActivity.java b/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridActivity.java new file mode 100644 index 0000000..114d0c7 --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridActivity.java @@ -0,0 +1,47 @@ +package com.animee.health.food_grid; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.GridView; + +import com.animee.health.R; +import com.animee.health.bean.FoodBean; +import com.animee.health.bean.FoodUtils; +import com.animee.health.food_list.InfoListActivity; + +import java.util.List; + +public class FoodGridActivity extends AppCompatActivity { + GridView gv; + ListmDatas; + private FoodGridAdapter adapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_food_grid); + gv = findViewById(R.id.food_grid_gv); +// 数据源 + mDatas = FoodUtils.getAllFoodList(); +// 创建适配器对象 + adapter = new FoodGridAdapter(this, mDatas); +// 设置适配器 + gv.setAdapter(adapter); + setListener(); + } + + private void setListener() { + gv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + FoodBean foodBean = mDatas.get(position); + Intent intent = new Intent(FoodGridActivity.this, FoodDescActivity.class); + intent.putExtra("food",foodBean); + startActivity(intent); + } + }); + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridAdapter.java b/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridAdapter.java new file mode 100644 index 0000000..f5e9e5c --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridAdapter.java @@ -0,0 +1,66 @@ +package com.animee.health.food_grid; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.animee.health.R; +import com.animee.health.bean.FoodBean; + +import java.util.List; + +public class FoodGridAdapter extends BaseAdapter{ + Context context; + ListmDatas; + + public FoodGridAdapter(Context context, List mDatas) { + this.context = context; + this.mDatas = mDatas; + } + + @Override + public int getCount() { + return mDatas.size(); + } + + @Override + public Object getItem(int position) { + return mDatas.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { +// 1.声明ViewHolder + ViewHolder holder = null; + if (convertView == null) { //2.判断是否有复用的view,如果没有就创建 + convertView = LayoutInflater.from(context).inflate(R.layout.item_foodgrid,null); + holder = new ViewHolder(convertView); + convertView.setTag(holder); + }else { + holder = (ViewHolder) convertView.getTag(); + } +// 获取指定位置的数据 + FoodBean foodBean = mDatas.get(position); + holder.iv.setImageResource(foodBean.getPicId()); + holder.tv.setText(foodBean.getTitle()); + return convertView; + } + + class ViewHolder{ + ImageView iv; + TextView tv; + public ViewHolder(View view){ + iv = view.findViewById(R.id.item_grid_iv); + tv = view.findViewById(R.id.item_grid_tv); + } + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListActivity.java b/jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListActivity.java new file mode 100644 index 0000000..4fe5f3e --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListActivity.java @@ -0,0 +1,100 @@ +package com.animee.health.food_list; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; +import android.widget.AdapterView; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.Toast; + +import com.animee.health.R; +import com.animee.health.bean.FoodBean; +import com.animee.health.bean.FoodUtils; +import com.animee.health.food_grid.FoodDescActivity; + +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.List; + +public class InfoListActivity extends AppCompatActivity implements View.OnClickListener{ + EditText searchEt; + ImageView searchIv,flushIv; + ListView showLv; +// ListView内部数据源 + ListmDatas; + ListallFoodList; + private InfoListAdapter adapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_info_list); +// 查找控件 + initView(); +// 2.找到ListView对应的数据源 + mDatas = new ArrayList<>(); + allFoodList = FoodUtils.getAllFoodList(); + mDatas.addAll(allFoodList); +// 3.创建适配器 BaseAdapter的子类 + adapter = new InfoListAdapter(this, mDatas); + showLv.setAdapter(adapter); //4.设置适配器 +// 设置单向点击监听功能 + setListener(); + } + + private void setListener() { + showLv.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + FoodBean foodBean = mDatas.get(position); + Intent intent = new Intent(InfoListActivity.this, FoodDescActivity.class); + intent.putExtra("food",foodBean); + startActivity(intent); + } + }); + } + + private void initView() { + searchEt = findViewById(R.id.info_et_search); + searchIv = findViewById(R.id.info_iv_search); + flushIv = findViewById(R.id.info_iv_flush); + showLv = findViewById(R.id.infolist_lv); + searchIv.setOnClickListener(this); //添加点击事件的监听器 + flushIv.setOnClickListener(this); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.info_iv_flush: //刷新点击 + searchEt.setText(""); + mDatas.clear(); + mDatas.addAll(allFoodList); + adapter.notifyDataSetChanged(); + break; + case R.id.info_iv_search: //搜索点击 +// 1.获取输入内容,判断不为空 + String msg = searchEt.getText().toString().trim(); //获取输入信息 + if (TextUtils.isEmpty(msg)) { + Toast.makeText(this,"输入内容不能为空!",Toast.LENGTH_SHORT).show(); + return; + } +// 判断所有食物列表的标题是否包含输入内容,如果包含,就添加到小集合中 + Listlist = new ArrayList<>(); + for (int i = 0; i < allFoodList.size(); i++) { + String title = allFoodList.get(i).getTitle(); + if (title.contains(msg)) { + list.add(allFoodList.get(i)); + } + } + mDatas.clear(); // 清空ListView的适配器数据源内容 + mDatas.addAll(list); // 添加新的数据到数据源中 + adapter.notifyDataSetChanged(); // 提示适配器更新 + break; + } + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListAdapter.java b/jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListAdapter.java new file mode 100644 index 0000000..23c1873 --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListAdapter.java @@ -0,0 +1,64 @@ +package com.animee.health.food_list; +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; +import com.animee.health.R; +import com.animee.health.bean.FoodBean; +import java.util.List; +public class InfoListAdapter extends BaseAdapter{ + Context context; + ListmDatas; + + public InfoListAdapter(Context context, List mDatas) { + this.context = context; + this.mDatas = mDatas; + } +// 决定了ListView列表展示的行数 + @Override + public int getCount() { + return mDatas.size(); + } +//返回指定位置对应的数据 + @Override + public Object getItem(int position) { + return mDatas.get(position); + } +// 返回指定位置所对应的id + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder = null; + if (convertView == null) { + convertView = LayoutInflater.from(context).inflate(R.layout.item_infolist_lv,null); //将布局转换成view对象的方法 + holder=new ViewHolder(convertView); + convertView.setTag(holder); + }else { + holder = (ViewHolder) convertView.getTag(); + } +// 加载控件显示的内容 +// 获取集合指定位置的数据 + FoodBean foodBean = mDatas.get(position); + holder.titleTv.setText(foodBean.getTitle()); + holder.notTv.setText("不可匹配:"+foodBean.getNotmatch()); + holder.iv.setImageResource(foodBean.getPicId()); + return convertView; + } + + class ViewHolder{ + ImageView iv; + TextView titleTv,notTv; + public ViewHolder(View view){ + iv = view.findViewById(R.id.item_info_iv); + titleTv = view.findViewById(R.id.item_info_tv_title); + notTv = view.findViewById(R.id.item_info_tv_notmatch); + } + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideActivity.java b/jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideActivity.java new file mode 100644 index 0000000..3d608d1 --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideActivity.java @@ -0,0 +1,93 @@ +package com.animee.health.guide; + +import android.content.Context; +import android.content.Intent; +import android.graphics.Color; +import android.support.v4.view.ViewPager; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; + +import com.animee.health.HomeMenuActivity; +import com.animee.health.R; + +import java.util.ArrayList; +import java.util.List; + +public class GuideActivity extends AppCompatActivity implements View.OnClickListener{ + ViewPager guideVp; + TextView tv1,tv2,tv3; + Button guideBtn; + ListviewList; //ViewPager的数据源 + ListnumList; //表示页码的集合 + int resId[] = {R.mipmap.pic1,R.mipmap.pic2,R.mipmap.pic3}; //所显示的图片资源数组 + private GuideAdapter adapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_guide); + guideVp = findViewById(R.id.guide_vp); + tv1 = findViewById(R.id.guide_tv1); + tv2 = findViewById(R.id.guide_tv2); + tv3 = findViewById(R.id.guide_tv3); + guideBtn = findViewById(R.id.guide_btn); + guideBtn.setOnClickListener(this); //设置按钮的监听器 + viewList = new ArrayList<>(); + numList = new ArrayList<>(); + numList.add(tv1); + numList.add(tv2); + numList.add(tv3); +// 初始化ViewPager的页面资源 + for (int i = 0; i < resId.length; i++) { + View view = LayoutInflater.from(this).inflate(R.layout.item_guide1,null); + view.setBackgroundResource(resId[i]); + viewList.add(view); + } +// 创建适配器对象 + adapter = new GuideAdapter(viewList); +// 设置适配器 + guideVp.setAdapter(adapter); + tv1.setTextColor(Color.RED); +// 设置ViewPager的监听 + setVPListener(); + } + + private void setVPListener() { + guideVp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + } + @Override + public void onPageSelected(int position) { + for (int i = 0; i < numList.size(); i++) { + numList.get(i).setTextColor(Color.WHITE); + } + numList.get(position).setTextColor(Color.RED); +// 在进入到第三个页面时,立即进入的按钮就显示出来,否则不显示 + if (position == 2) { + guideBtn.setVisibility(View.VISIBLE); + }else { + guideBtn.setVisibility(View.INVISIBLE); + } + } + @Override + public void onPageScrollStateChanged(int state) { + } + }); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.guide_btn: + Intent intent = new Intent(GuideActivity.this, HomeMenuActivity.class); + startActivity(intent); + finish(); + break; + } + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideAdapter.java b/jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideAdapter.java new file mode 100644 index 0000000..099faca --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideAdapter.java @@ -0,0 +1,40 @@ +package com.animee.health.guide; + +import android.support.annotation.NonNull; +import android.support.v4.view.PagerAdapter; +import android.view.View; +import android.view.ViewGroup; + +import java.util.List; + +public class GuideAdapter extends PagerAdapter{ + ListviewList; + + public GuideAdapter(List viewList) { + this.viewList = viewList; + } + + @Override + public int getCount() { + return viewList.size(); + } + + @Override + public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { + return view == object; + } + + @NonNull + @Override + public Object instantiateItem(@NonNull ViewGroup container, int position) { + View view = viewList.get(position); + container.addView(view); + return view; + } + + @Override + public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { + View view = viewList.get(position); + container.removeView(view); + } +} diff --git a/jiankangyinshi/app/src/main/java/com/animee/health/guide/MainActivity.java b/jiankangyinshi/app/src/main/java/com/animee/health/guide/MainActivity.java new file mode 100644 index 0000000..cfc51b7 --- /dev/null +++ b/jiankangyinshi/app/src/main/java/com/animee/health/guide/MainActivity.java @@ -0,0 +1,57 @@ +package com.animee.health.guide; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Handler; +import android.os.Message; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.widget.TextView; + +import com.animee.health.HomeMenuActivity; +import com.animee.health.R; + +public class MainActivity extends AppCompatActivity { + TextView tv; + int time = 5; + SharedPreferences preferences; //存储键值对数据 + private SharedPreferences.Editor editor; + + @SuppressLint("HandlerLeak") + Handler handler = new Handler(){ + @Override + public void handleMessage(Message msg) { + if (msg.what==1) { + time--; + if (time ==0) { + // 跳转页面 + Intent intent = new Intent(); + boolean isfirst = preferences.getBoolean("isfirst", true); + if (isfirst) { + intent.setClass(MainActivity.this,GuideActivity.class); + editor.putBoolean("isfirst",false); //写入不是第一次进入的纪录 + editor.commit(); // 提交本次修改纪录 + }else { + intent.setClass(MainActivity.this,HomeMenuActivity.class); + } + startActivity(intent); + finish(); + }else { + tv.setText(time+""); + handler.sendEmptyMessageDelayed(1,1000); + } + } + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + tv = findViewById(R.id.main_tv); + preferences = getSharedPreferences("health_pref",MODE_PRIVATE); + editor = preferences.edit(); //写入数据的对象 + handler.sendEmptyMessageDelayed(1,1000); + } +} diff --git a/jiankangyinshi/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/jiankangyinshi/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c7bd21d --- /dev/null +++ b/jiankangyinshi/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/jiankangyinshi/app/src/main/res/drawable/ic_launcher_background.xml b/jiankangyinshi/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..d5fccc5 --- /dev/null +++ b/jiankangyinshi/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jiankangyinshi/app/src/main/res/drawable/info_et_bg.xml b/jiankangyinshi/app/src/main/res/drawable/info_et_bg.xml new file mode 100644 index 0000000..5b47d33 --- /dev/null +++ b/jiankangyinshi/app/src/main/res/drawable/info_et_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/jiankangyinshi/app/src/main/res/drawable/item_gridbg.xml b/jiankangyinshi/app/src/main/res/drawable/item_gridbg.xml new file mode 100644 index 0000000..e046233 --- /dev/null +++ b/jiankangyinshi/app/src/main/res/drawable/item_gridbg.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/app/src/main/res/layout/activity_about.xml b/jiankangyinshi/app/src/main/res/layout/activity_about.xml new file mode 100644 index 0000000..eb42846 --- /dev/null +++ b/jiankangyinshi/app/src/main/res/layout/activity_about.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/app/src/main/res/layout/activity_food_desc.xml b/jiankangyinshi/app/src/main/res/layout/activity_food_desc.xml new file mode 100644 index 0000000..2a0a021 --- /dev/null +++ b/jiankangyinshi/app/src/main/res/layout/activity_food_desc.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/app/src/main/res/layout/activity_food_grid.xml b/jiankangyinshi/app/src/main/res/layout/activity_food_grid.xml new file mode 100644 index 0000000..6a6333b --- /dev/null +++ b/jiankangyinshi/app/src/main/res/layout/activity_food_grid.xml @@ -0,0 +1,29 @@ + + + + + + + + \ No newline at end of file diff --git a/jiankangyinshi/app/src/main/res/layout/activity_guide.xml b/jiankangyinshi/app/src/main/res/layout/activity_guide.xml new file mode 100644 index 0000000..e7e5061 --- /dev/null +++ b/jiankangyinshi/app/src/main/res/layout/activity_guide.xml @@ -0,0 +1,58 @@ + + + + + + + + + +