From f200b2d5843e2ee67bcfa57209cbfa4e3ab102e9 Mon Sep 17 00:00:00 2001 From: PO3FIXWLV <1174987293@qq.com> Date: Thu, 1 Jun 2023 20:37:55 +0800 Subject: [PATCH] zuoye --- jiankangyinshi/.gitignore | 10 + .../.idea/caches/build_file_checksums.ser | Bin 0 -> 537 bytes jiankangyinshi/.idea/caches/gradle_models.ser | Bin 0 -> 92919 bytes jiankangyinshi/.idea/codeStyles/Project.xml | 113 ++++++++++++ jiankangyinshi/.idea/gradle.xml | 19 ++ jiankangyinshi/.idea/misc.xml | 34 ++++ jiankangyinshi/.idea/runConfigurations.xml | 12 ++ jiankangyinshi/README.md | 7 + jiankangyinshi/app/.gitignore | 1 + jiankangyinshi/app/build.gradle | 29 +++ jiankangyinshi/app/proguard-rules.pro | 21 +++ .../health/ExampleInstrumentedTest.java | 26 +++ .../app/src/main/AndroidManifest.xml | 27 +++ .../java/com/animee/health/AboutActivity.java | 105 +++++++++++ .../java/com/animee/health/AboutAdapter.java | 40 ++++ .../com/animee/health/HomeMenuActivity.java | 34 ++++ .../java/com/animee/health/bean/FoodBean.java | 52 ++++++ .../com/animee/health/bean/FoodUtils.java | 82 +++++++++ .../health/food_grid/FoodDescActivity.java | 46 +++++ .../health/food_grid/FoodGridActivity.java | 47 +++++ .../health/food_grid/FoodGridAdapter.java | 66 +++++++ .../health/food_list/InfoListActivity.java | 100 ++++++++++ .../health/food_list/InfoListAdapter.java | 64 +++++++ .../animee/health/guide/GuideActivity.java | 93 ++++++++++ .../com/animee/health/guide/GuideAdapter.java | 40 ++++ .../com/animee/health/guide/MainActivity.java | 57 ++++++ .../drawable-v24/ic_launcher_foreground.xml | 34 ++++ .../res/drawable/ic_launcher_background.xml | 170 +++++++++++++++++ .../app/src/main/res/drawable/info_et_bg.xml | 6 + .../app/src/main/res/drawable/item_gridbg.xml | 7 + .../src/main/res/layout/activity_about.xml | 77 ++++++++ .../main/res/layout/activity_food_desc.xml | 71 ++++++++ .../main/res/layout/activity_food_grid.xml | 29 +++ .../src/main/res/layout/activity_guide.xml | 58 ++++++ .../main/res/layout/activity_home_menu.xml | 33 ++++ .../main/res/layout/activity_info_list.xml | 46 +++++ .../app/src/main/res/layout/activity_main.xml | 18 ++ .../app/src/main/res/layout/item_aboutvp.xml | 10 + .../app/src/main/res/layout/item_foodgrid.xml | 22 +++ .../app/src/main/res/layout/item_guide1.xml | 6 + .../src/main/res/layout/item_infolist_lv.xml | 35 ++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../app/src/main/res/mipmap-hdpi/a2.png | Bin 0 -> 14969 bytes .../app/src/main/res/mipmap-hdpi/a3.png | Bin 0 -> 14969 bytes .../app/src/main/res/mipmap-hdpi/ab1.jpg | Bin 0 -> 122934 bytes .../app/src/main/res/mipmap-hdpi/ab2.jpg | Bin 0 -> 65475 bytes .../app/src/main/res/mipmap-hdpi/ab3.jpg | Bin 0 -> 56957 bytes .../app/src/main/res/mipmap-hdpi/ab4.jpg | Bin 0 -> 66910 bytes .../app/src/main/res/mipmap-hdpi/ab5.jpg | Bin 0 -> 59903 bytes .../app/src/main/res/mipmap-hdpi/bamboo.jpg | Bin 0 -> 29492 bytes .../app/src/main/res/mipmap-hdpi/beanmilk.jpg | Bin 0 -> 23776 bytes .../app/src/main/res/mipmap-hdpi/beef.jpg | Bin 0 -> 40954 bytes .../src/main/res/mipmap-hdpi/beefliver.jpg | Bin 0 -> 30782 bytes .../app/src/main/res/mipmap-hdpi/beer.jpg | Bin 0 -> 19344 bytes .../bottom_controls_background_focus.png | Bin 0 -> 535 bytes .../src/main/res/mipmap-hdpi/brownsuger.jpg | Bin 0 -> 28281 bytes .../app/src/main/res/mipmap-hdpi/btn_back.png | Bin 0 -> 1761 bytes .../main/res/mipmap-hdpi/btn_back_active.png | Bin 0 -> 1761 bytes .../main/res/mipmap-hdpi/btn_food_about.png | Bin 0 -> 5120 bytes .../res/mipmap-hdpi/btn_food_about_active.png | Bin 0 -> 5120 bytes .../main/res/mipmap-hdpi/btn_food_list.png | Bin 0 -> 6111 bytes .../res/mipmap-hdpi/btn_food_list_active.png | Bin 0 -> 6111 bytes .../res/mipmap-hdpi/btn_food_nutriction.png | Bin 0 -> 6066 bytes .../app/src/main/res/mipmap-hdpi/carp.jpg | Bin 0 -> 34719 bytes .../app/src/main/res/mipmap-hdpi/celery.jpg | Bin 0 -> 21785 bytes .../app/src/main/res/mipmap-hdpi/chicken.jpg | Bin 0 -> 17181 bytes .../app/src/main/res/mipmap-hdpi/clam.jpg | Bin 0 -> 31321 bytes .../src/main/res/mipmap-hdpi/clear_btn.png | Bin 0 -> 2769 bytes .../app/src/main/res/mipmap-hdpi/crab.jpg | Bin 0 -> 29364 bytes .../app/src/main/res/mipmap-hdpi/divider.jpg | Bin 0 -> 7641 bytes .../app/src/main/res/mipmap-hdpi/dog.jpg | Bin 0 -> 20284 bytes .../app/src/main/res/mipmap-hdpi/donkey.jpg | Bin 0 -> 23850 bytes .../app/src/main/res/mipmap-hdpi/duck.jpg | Bin 0 -> 20144 bytes .../app/src/main/res/mipmap-hdpi/egg.jpg | Bin 0 -> 15919 bytes .../src/main/res/mipmap-hdpi/ex_food_icon.png | Bin 0 -> 771 bytes .../app/src/main/res/mipmap-hdpi/expand.png | Bin 0 -> 306 bytes .../food_info_middle_background.png | Bin 0 -> 445 bytes .../food_info_title_background.png | Bin 0 -> 198 bytes .../src/main/res/mipmap-hdpi/foreignonion.jpg | Bin 0 -> 30402 bytes .../app/src/main/res/mipmap-hdpi/garlic.jpg | Bin 0 -> 31836 bytes .../app/src/main/res/mipmap-hdpi/goose.jpg | Bin 0 -> 20831 bytes .../app/src/main/res/mipmap-hdpi/home.jpg | Bin 0 -> 24579 bytes .../src/main/res/mipmap-hdpi/home_page.png | Bin 0 -> 200840 bytes .../app/src/main/res/mipmap-hdpi/honey.jpg | Bin 0 -> 24441 bytes .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2963 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4905 bytes .../app/src/main/res/mipmap-hdpi/icon.png | Bin 0 -> 4480 bytes .../src/main/res/mipmap-hdpi/icon_door.png | Bin 0 -> 2356 bytes .../src/main/res/mipmap-hdpi/icon_flash.png | Bin 0 -> 2469 bytes .../src/main/res/mipmap-hdpi/icon_phone.png | Bin 0 -> 2378 bytes .../src/main/res/mipmap-hdpi/icon_world.png | Bin 0 -> 2479 bytes .../app/src/main/res/mipmap-hdpi/lamb.jpg | Bin 0 -> 33933 bytes .../app/src/main/res/mipmap-hdpi/leek.jpg | Bin 0 -> 27905 bytes .../app/src/main/res/mipmap-hdpi/lettuce.jpg | Bin 0 -> 35290 bytes .../app/src/main/res/mipmap-hdpi/milk.jpg | Bin 0 -> 18039 bytes .../app/src/main/res/mipmap-hdpi/onion.jpg | Bin 0 -> 22164 bytes .../app/src/main/res/mipmap-hdpi/pic1.jpg | Bin 0 -> 29565 bytes .../app/src/main/res/mipmap-hdpi/pic2.jpg | Bin 0 -> 58235 bytes .../app/src/main/res/mipmap-hdpi/pic3.jpg | Bin 0 -> 59040 bytes .../app/src/main/res/mipmap-hdpi/pigblood.jpg | Bin 0 -> 25470 bytes .../app/src/main/res/mipmap-hdpi/pigliver.jpg | Bin 0 -> 35333 bytes .../app/src/main/res/mipmap-hdpi/pork.jpg | Bin 0 -> 27749 bytes .../app/src/main/res/mipmap-hdpi/rabbit.jpg | Bin 0 -> 21624 bytes .../app/src/main/res/mipmap-hdpi/radish.jpg | Bin 0 -> 28567 bytes .../src/main/res/mipmap-hdpi/riversnail.jpg | Bin 0 -> 35148 bytes .../res/mipmap-hdpi/search_background.png | Bin 0 -> 641 bytes .../src/main/res/mipmap-hdpi/search_btn.png | Bin 0 -> 2572 bytes .../app/src/main/res/mipmap-hdpi/shrimp.jpg | Bin 0 -> 38804 bytes .../app/src/main/res/mipmap-hdpi/shrimp2.jpg | Bin 0 -> 34835 bytes .../app/src/main/res/mipmap-hdpi/spinach.jpg | Bin 0 -> 28990 bytes .../app/src/main/res/mipmap-hdpi/tea.jpg | Bin 0 -> 26979 bytes .../app/src/main/res/mipmap-hdpi/tomato.jpg | Bin 0 -> 30032 bytes .../app/src/main/res/mipmap-hdpi/turtle.jpg | Bin 0 -> 30195 bytes .../app/src/main/res/mipmap-hdpi/vinegar.jpg | Bin 0 -> 19012 bytes .../src/main/res/mipmap-hdpi/whitespirit.jpg | Bin 0 -> 25099 bytes .../src/main/res/mipmap-hdpi/yellowfish.jpg | Bin 0 -> 30454 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../src/main/res/mipmap-xxhdpi/ic_icon.jpg | Bin 0 -> 8420 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/colors.xml | 8 + .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 11 ++ .../com/animee/health/ExampleUnitTest.java | 17 ++ jiankangyinshi/build.gradle | 27 +++ jiankangyinshi/gradle.properties | 13 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54708 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + jiankangyinshi/gradlew | 172 ++++++++++++++++++ jiankangyinshi/gradlew.bat | 84 +++++++++ jiankangyinshi/settings.gradle | 1 + 137 files changed, 2099 insertions(+) create mode 100644 jiankangyinshi/.gitignore create mode 100644 jiankangyinshi/.idea/caches/build_file_checksums.ser create mode 100644 jiankangyinshi/.idea/caches/gradle_models.ser create mode 100644 jiankangyinshi/.idea/codeStyles/Project.xml create mode 100644 jiankangyinshi/.idea/gradle.xml create mode 100644 jiankangyinshi/.idea/misc.xml create mode 100644 jiankangyinshi/.idea/runConfigurations.xml create mode 100644 jiankangyinshi/README.md create mode 100644 jiankangyinshi/app/.gitignore create mode 100644 jiankangyinshi/app/build.gradle create mode 100644 jiankangyinshi/app/proguard-rules.pro create mode 100644 jiankangyinshi/app/src/androidTest/java/com/animee/health/ExampleInstrumentedTest.java create mode 100644 jiankangyinshi/app/src/main/AndroidManifest.xml create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/AboutActivity.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/AboutAdapter.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/HomeMenuActivity.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodBean.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/bean/FoodUtils.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodDescActivity.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridActivity.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/food_grid/FoodGridAdapter.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListActivity.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/food_list/InfoListAdapter.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideActivity.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/guide/GuideAdapter.java create mode 100644 jiankangyinshi/app/src/main/java/com/animee/health/guide/MainActivity.java create mode 100644 jiankangyinshi/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 jiankangyinshi/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 jiankangyinshi/app/src/main/res/drawable/info_et_bg.xml create mode 100644 jiankangyinshi/app/src/main/res/drawable/item_gridbg.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/activity_about.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/activity_food_desc.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/activity_food_grid.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/activity_guide.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/activity_home_menu.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/activity_info_list.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/activity_main.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/item_aboutvp.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/item_foodgrid.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/item_guide1.xml create mode 100644 jiankangyinshi/app/src/main/res/layout/item_infolist_lv.xml create mode 100644 jiankangyinshi/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 jiankangyinshi/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/a2.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/a3.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ab1.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ab2.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ab3.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ab4.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ab5.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/bamboo.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/beanmilk.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/beef.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/beefliver.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/beer.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/bottom_controls_background_focus.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/brownsuger.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/btn_back.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/btn_back_active.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/btn_food_about.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/btn_food_about_active.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/btn_food_list.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/btn_food_list_active.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/btn_food_nutriction.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/carp.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/celery.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/chicken.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/clam.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/clear_btn.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/crab.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/divider.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/dog.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/donkey.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/duck.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/egg.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ex_food_icon.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/expand.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/food_info_middle_background.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/food_info_title_background.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/foreignonion.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/garlic.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/goose.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/home.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/home_page.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/honey.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/icon.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/icon_door.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/icon_flash.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/icon_phone.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/icon_world.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/lamb.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/leek.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/lettuce.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/milk.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/onion.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/pic1.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/pic2.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/pic3.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/pigblood.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/pigliver.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/pork.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/rabbit.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/radish.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/riversnail.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/search_background.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/search_btn.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/shrimp.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/shrimp2.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/spinach.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/tea.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/tomato.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/turtle.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/vinegar.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/whitespirit.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-hdpi/yellowfish.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-xxhdpi/ic_icon.jpg create mode 100644 jiankangyinshi/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 jiankangyinshi/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 jiankangyinshi/app/src/main/res/values/colors.xml create mode 100644 jiankangyinshi/app/src/main/res/values/strings.xml create mode 100644 jiankangyinshi/app/src/main/res/values/styles.xml create mode 100644 jiankangyinshi/app/src/test/java/com/animee/health/ExampleUnitTest.java create mode 100644 jiankangyinshi/build.gradle create mode 100644 jiankangyinshi/gradle.properties create mode 100644 jiankangyinshi/gradle/wrapper/gradle-wrapper.jar create mode 100644 jiankangyinshi/gradle/wrapper/gradle-wrapper.properties create mode 100644 jiankangyinshi/gradlew create mode 100644 jiankangyinshi/gradlew.bat create mode 100644 jiankangyinshi/settings.gradle 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 0000000000000000000000000000000000000000..4ac28c0cb81f70b8c110d370570a033a7a990241 GIT binary patch literal 537 zcmZ4UmVvdnh`~NNKUXg?FQq6yGexf?KR>5fFEb@IQ7^qHF(oHeub?PDD>b=9F91S2 zm1gFoxMk*~I%lLNXBU^|7Q2L-Ts|(GuF1r}Q#7BMhIJFWRF{)3GpMoh>Z>;;bksjGcLqAK zIJKlCGcUaurm>Krj)4uNcKJW4!xJ;NKGled3r^Ell`dh>aJGsGElw>ej!8_(&CH8| zYKcLFWI<|CNoHzsDcq1NvOPEZ88)%JY~Y;n=7&>V2?Gy`GvNwVRt2YRSF)BiIFQ7w zrleE~^ixiLa$*iBelSekw&(DTR~^E)oJ&R5@#xC;mM{q7af86_vVik%HGf#FayVG< IDM`Nq0JVp>(f|Me literal 0 HcmV?d00001 diff --git a/jiankangyinshi/.idea/caches/gradle_models.ser b/jiankangyinshi/.idea/caches/gradle_models.ser new file mode 100644 index 0000000000000000000000000000000000000000..5bb60a8643b13744eea83b84a4779d403fbae635 GIT binary patch literal 92919 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 M`$n?9;{3(`4@Lb + + + + +
+ + + + 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 @@ + + + + + + + + + +