网络资源模板

发布时间:2025-01-09 13:42

利用网络资源,扩展职业网络 #生活常识# #职场技能提升#

目录

一、项目测试视频

二、项目简介

四、项目测试环境

五、项目详情设计

Get 项目模板源码

原创 个人健康管理系统 :基于Android的个人健康管理系统

一、项目测试视频

网络资源模板--基于Android studio 实现健康饮食搭配App

二、项目简介

主要实现了一款实用的饮食搭配系统,有欢迎界面、引导界面和使用界面,其中引导界面只会在第一次使用app时候出现,符合用户使用习惯。使用界面有三个选项卡:食物搭配表、食物营养表、关于本软件。

【食物搭配表】是以列表形式显示食物的信息,点击进去可以查看详情,可以进行搜索和刷新;
【食物营养表】是以网格列表展示食物的信息,点进去也可以查看食物的详情;
【关于本软件】是有关软件的开发信息,包括版本号、联系电话、公司地址等,最上层有轮播图,还可以分享软件。

bean包里面是食物的工具类,FoodUtils里面是食物的数据,FoodBean里面是食物的各个属性的get和set方法以及构造方法。

food_grid包是网格列表,FoodGridActivity是显示网格列表的主活动,FoodGridAdapter是适配器,用来让FoodGridActivity显示Utils里面的数据,FoodDescActivity就是食物的详情活动。

food_list包是条目列表,InfoListActivity是列表活动,InfoListAdapter是适配器,用来让InfoListActivity显示食物数据。

guide包是引导包,里面GuideActivity显示引导界面,GuideAdapter是适配器,负责让GuideActivity显示三个可以滑动的界面。MainActivity就是整个项目的主文件,默认显示菜单界面。

AboutActivity和AboutAdapter一起组成关于界面,形成轮播图效果。

HomeMenuActivity就是应用默认显示的主菜单界面。

四、项目测试环境

五、项目详情设计

启动模拟器运行项目,进入应用的【欢迎】界面,右上角会显示倒计时五秒钟,这是参考现在很多app的广告欢迎界面

 倒计时结束后,进入【引导】界面,这个界面只会在第一次打开应用时候出现,以后都不会出现,这样的设计就很人性化。

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent">

<android.support.v4.view.ViewPager

android:id="@+id/guide_vp"

android:layout_width="match_parent"

android:layout_height="match_parent">

</android.support.v4.view.ViewPager>

<LinearLayout

android:id="@+id/guide_layout"

android:orientation="horizontal"

android:layout_marginBottom="20dp"

android:layout_alignParentBottom="true"

android:gravity="center"

android:layout_width="match_parent"

android:layout_height="wrap_content">

<TextView

android:id="@+id/guide_tv1"

android:text="1"

android:textStyle="bold|italic"

android:textSize="20sp"

android:textColor="@color/white"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

<TextView

android:id="@+id/guide_tv2"

android:text="2"

android:textStyle="bold|italic"

android:textSize="20sp"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:layout_width="wrap_content"

android:textColor="@color/white"

android:layout_height="wrap_content" />

<TextView

android:id="@+id/guide_tv3"

android:text="3"

android:textStyle="bold|italic"

android:textSize="20sp"

android:textColor="@color/white"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

</LinearLayout>

<Button

android:id="@+id/guide_btn"

android:layout_width="200dp"

android:layout_height="70dp"

android:layout_above="@id/guide_layout"

android:layout_centerHorizontal="true"

android:background="@mipmap/search_background"

android:text="立即进入"

android:textColor="@color/white"

android:textSize="30sp"

android:textStyle="bold"

android:layout_marginBottom="40dp"

android:visibility="invisible"/>

</RelativeLayout>

### 主要功能和结构

1. **Activity基本设置**:
   - `GuideActivity` 继承自 `AppCompatActivity`,用于显示引导页。
   - 在 `onCreate()` 方法中,通过 `setContentView()` 设置布局文件 `activity_guide.xml`,并初始化各种视图组件。

2. **视图初始化**:
   - `ViewPager` 控件 `guideVp` 用于展示引导页的内容。
   - `TextView` 控件 `tv1`, `tv2`, `tv3` 分别用于显示引导页的页码。
   - `Button` 控件 `guideBtn` 是一个跳转按钮,在第三页显示时可见。

3. **资源和适配器**:
   - `resId[]` 数组包含了三张引导页图片的资源 ID。
   - `viewList` 是用来存放每一页引导页视图的列表。
   - `numList` 存放了显示页码的 `TextView` 列表。

4. **ViewPager和适配器**:
   - 使用 `GuideAdapter` 作为适配器,将 `viewList` 中的视图设置到 `ViewPager` 中显示。
   - 设置 `ViewPager` 的页面切换监听器 `setVPListener()`,根据页面切换更新页码显示和按钮可见性。

5. **页面切换监听器**:
   - 在 `onPageSelected()` 方法中,根据当前页面的位置更新页码显示的颜色(选中的为红色,未选中的为白色)。
   - 当页面切换到第三页时,设置 `guideBtn` 可见,其他页面时设置为不可见。

6. **按钮点击监听**:
   - 当 `guideBtn` 被点击时,创建一个 `Intent` 到 `HomeMenuActivity`,启动新的Activity,并结束当前的 `GuideActivity`。

### 总结

这段代码通过 `ViewPager` 和自定义适配器实现了简单的引导页功能,并通过按钮实现了从引导页跳转到主页面的功能。它利用了 Android 的视图和事件处理机制,提供了用户友好的引导体验。

package com.animee.health;

import android.annotation.SuppressLint;

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.support.v4.view.ViewPager;

import android.support.v7.app.AppCompatActivity;

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;

List<View> viewList;

int[] picIds = {R.mipmap.ab1, R.mipmap.ab2, R.mipmap.ab3, R.mipmap.ab4, R.mipmap.ab5};

List<ImageView> pointList;

@SuppressLint("HandlerLeak")

Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

if (msg.what == 1) {

int currentItem = aboutVp.getCurrentItem();

aboutVp.setCurrentItem(currentItem + 1);

handler.sendEmptyMessageDelayed(1, 5000);

}

}

};

private AboutAdapter adapter;

@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<>();

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);

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);

setVPListener();

}

private void setVPListener() {

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, "健康饮食分享"));

}

}

这段代码实现了一个关于页面 (`AboutActivity`),主要功能包括展示多张图片和实现自动轮播效果。以下是对代码的中文总结:

### 主要功能和结构

1. **Activity基本设置**:
   - `AboutActivity` 继承自 `AppCompatActivity`,用于显示关于页面。
   - 在 `onCreate()` 方法中,通过 `setContentView()` 设置布局文件 `activity_about.xml`,并初始化各种视图组件。

2. **视图初始化**:
   - `ViewPager` 控件 `aboutVp` 用于展示多张图片,并支持左右滑动浏览。
   - `TextView` 控件 `shareTv` 用于分享功能。
   - `LinearLayout` 控件 `pointLayout` 用于显示图片的指示器(小圆点)。
   - `viewList` 是用来存放每一页 `ViewPager` 视图的列表。
   - `pointList` 是用来存放显示器小点点 (`ImageView`) 的集合,用于表示当前显示的图片。

3. **图片资源和适配器**:
   - `picIds[]` 数组包含了多张图片的资源 ID。
   - 在 `for` 循环中,为每张图片创建对应的视图 `View`,并将其加入 `viewList`。
   - 同时,创建小圆点 `ImageView`,设置选中和未选中状态,并将其加入 `pointList` 和 `pointLayout` 中显示。

4. **自动轮播功能**:
   - 使用 `Handler` 实现定时发送消息,实现图片自动切换功能。在 `handleMessage()` 方法中,根据当前页面位置调用 `aboutVp.setCurrentItem()` 实现页面自动切换。

5. **页面切换监听器**:
   - 设置 `ViewPager` 的页面切换监听器 `setVPListener()`,在 `onPageSelected()` 方法中更新小圆点的选中状态,实现与图片同步的指示效果。

6. **点击事件处理**:
   - `shareTv` 设置了点击事件监听器,点击时调用系统分享功能,分享预设的文本内容。

### 总结

这段代码实现了一个简单的图片轮播和分享功能的关于页面。它利用了 `ViewPager` 和 `Handler` 来实现图片的自动轮播,通过添加小圆点指示器来提供用户当前图片位置的视觉反馈,同时支持用户点击分享按钮进行内容分享。

Get 项目模板源码

快捷获取方式

网址:网络资源模板 https://www.yuejiaxmz.com/news/view/676339

相关内容

网络学习资源不包括()
揭秘地板网站源码,打造个性化家居装饰的利器,网络地板报价
无线网络优化设计方案模板.doc
免费,网络学习资源有哪些?
如何利用好网络资源进行学习
英语学习网络资源.doc
网络安全入门学习资源汇总
网络学习资源汇总
网络教学资源在小学教学中的应用
网络学习资源有哪些?

随便看看