recycleview和banner新闻列表轮播图

说明:最近碰到一个需求,弄一个新闻列表和轮播图,在首页显示,并且需要json解析,图片下载,轮播图和新闻列表一起滑动

ui效果图:
在这里插入图片描述

文件说明:
step1:引用依赖包 图片下载 json解析 轮播图 ~app\build.gradle
step2:清单文件,注册联网权限 ~\app\src\main\AndroidManifest.xml
step3:主界面ui布局~\app\src\main\res\layout\activity_main.xml
step4:本地模拟字符串 ~\app\src\main\assets\stu.json
step5:recycleview item的子布局 ~\app\src\main\res\layout\item2.xml
step6:recycleview适配器 ~\app\src\main\java\com\example\iosdialogdemo\LanguageRecycleAdapter2.java
step7:recycleview 控件管理器 ~\app\src\main\java\com\example\iosdialogdemo\LanguageViewHolder2.java
step8: 主界面功能 ~\app\src\main\java\com\example\iosdialogdemo\MainActivity.java
step9:glide图片下载管理类 ~\app\src\main\java\com\example\iosdialogdemo\MyImageLoader.java
step10: json的bean类 ~\app\src\main\java\com\example\iosdialogdemo\StuBean.java

step1:~app\build.gradle

    implementation "com.github.bumptech.glide:glide:4.6.1"
    implementation 'com.google.code.gson:gson:2.8.0'
    implementation 'com.github.bumptech.glide:glide:4.8.0'

step2: ~\app\src\main\AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.iosdialogdemo">

    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.IosDialogDemo">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

step3:~\app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:elevation="0dp">

        <LinearLayout
            android:id="@+id/toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <com.youth.banner.Banner
                android:id="@+id/banner"
                android:layout_width="match_parent"
                android:layout_height="200dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

        </LinearLayout>

    </com.google.android.material.appbar.AppBarLayout>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rvLanguage2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />


</androidx.coordinatorlayout.widget.CoordinatorLayout>

step4:~\app\src\main\assets\stu.json

{
  "sch_num": 1085,
  "sch_ready_ed": 2,
  "sch_ready_ing": 6,
  "sch_ready_not": 1079,
  "sch_ready_ing_list": [
    {
      "stu_id": 223,
      "stu_name": "2018-2019学年度第二学期考试和放假时间安排",
      "stu_status": "0",
      "item_status": "2",
      "stu_url": "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
      "stu_sex": "女",
      "stu_birth": "1985-04-17",
      "stu_addr": "四川成都",
      "col_id": 3,
      "grade_id": null,
      "col_name": "学院",
      "grade_name": "校级"
    },
    {
      "stu_id": 255,
      "stu_name": "2018-2019学年度第二学期考试和放假时间安排",
      "stu_status": "0",
      "item_status": "2",
      "stu_url": "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
      "stu_sex": "男",
      "stu_birth": "1993-01-25",
      "stu_addr": null,
      "col_id": 3,
      "grade_id": null,
      "col_name": "学院",
      "grade_name": "校级"
    },
    {
      "stu_id": 435,
      "stu_name": "2018-2019学年度第二学期考试和放假时间安排",
      "stu_status": "0",
      "item_status": "2",
      "stu_url": "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
      "stu_sex": "男",
      "stu_birth": "1988-06-30",
      "stu_addr": null,
      "col_id": 2,
      "grade_id": null,
      "col_name": "学院",
      "grade_name": "校级"
    },
    {
      "stu_id": 572,
      "stu_name": "2018-2019学年度第二学期考试和放假时间安排",
      "stu_status": "0",
      "item_status": "2",
      "stu_url": "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
      "stu_sex": "男",
      "stu_birth": "1993-07-19",
      "stu_addr": "陕西咸阳",
      "col_id": 1,
      "grade_id": null,
      "col_name": "学院",
      "grade_name": "校级"
    },
    {
      "stu_id": 954,
      "stu_name": "2018-2019学年度第二学期考试和放假时间安排",
      "stu_status": "0",
      "item_status": "2",
      "stu_url": "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
      "stu_sex": "女",
      "stu_birth": "2001-09-20",
      "stu_addr": "新疆喀什",
      "col_id": 5,
      "grade_id": null,
      "col_name": "学院",
      "grade_name": "校级"
    },

    {
      "stu_id": 5035,
      "stu_name": "2018-2019学年度第二学期考试和放假时间安排",
      "stu_status": "0",
      "item_status": "0",
      "stu_url": "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
      "stu_sex": "男",
      "stu_birth": "1988-06-30",
      "stu_addr": "福建莆田",
      "col_id": 2,
      "grade_id": null,
      "col_name": "学院",
      "grade_name": "校级"
    }
  ]
}

 

step5:~\app\src\main\res\layout\item2.xml

<?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="wrap_content"
    android:layout_margin="5dp"
    >

    <TextView
        android:id="@+id/tv_news_title"
        android:layout_width="wrap_content"
        android:layout_height="70dp"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="20dp"
        android:layout_alignParentStart="true"
        android:layout_toLeftOf="@+id/iv_news"
        android:text="2018-2019学年度第二学期考试和放假时间安排"
        android:textColor="@android:color/black"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/tv_news_mark"
        android:layout_width="40dp"
        android:layout_height="20dp"
        android:gravity="center"
        android:layout_below="@+id/tv_news_title"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="10dp"
        android:textSize="12sp"
        android:textColor="@color/purple_200"
        android:text="校级" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="20dp"
        android:gravity="center"
        android:layout_below="@+id/tv_news_title"
        android:layout_marginTop="10dp"
        android:layout_toRightOf="@+id/tv_news_mark"
        android:layout_marginLeft="20dp"
        android:text="12-08" />

    <ImageView
        android:id="@+id/iv_news"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginTop="20dp"
        android:layout_marginRight="15dp"
        android:layout_marginBottom="20dp"
        android:scaleType="fitXY"
        android:src="@mipmap/ic_launcher" />
</RelativeLayout>

step6:~\app\src\main\java\com\example\iosdialogdemo\LanguageRecycleAdapter2.java

package com.example.iosdialogdemo;


import com.bumptech.glide.Glide;
import com.example.iosdialogdemo.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

public class LanguageRecycleAdapter2 extends RecyclerView.Adapter<LanguageViewHolder2> {
    private List<StuBean.SchReadyIngListBean> stuList;
    private Context context;

    public LanguageRecycleAdapter2(Context context, List<StuBean.SchReadyIngListBean> stuList) {
        this.stuList = stuList;
        this.context = context;
    }

    public void setData(List<StuBean.SchReadyIngListBean> stuList) {
        this.stuList = stuList;
    }

    @NonNull
    @Override
    public LanguageViewHolder2 onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        LanguageViewHolder2 holder;
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item2, parent, false);
        holder = new LanguageViewHolder2(view);
        return holder;

    }

    @Override
    public void onBindViewHolder(@NonNull LanguageViewHolder2 holder, final int position) {
        holder.tv_stu_name.setText(stuList.get(position).getStu_name());
        holder.tv_stu_cls.setText(stuList.get(position).getGrade_name());
        Glide.with(context).load(stuList.get(position).getStu_url()).into(holder.iv_img);
    }

    @Override
    public int getItemCount() {
        return stuList.size();
    }

}

step7:~\app\src\main\java\com\example\iosdialogdemo\LanguageViewHolder2.java

package com.example.iosdialogdemo;

import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.example.iosdialogdemo.R;


public class LanguageViewHolder2 extends RecyclerView.ViewHolder {
    public TextView tv_stu_name, tv_stu_cls;
    public ImageView iv_img;
    public LanguageViewHolder2(@NonNull View itemView) {
        super(itemView);
        tv_stu_name = itemView.findViewById(R.id.tv_news_title);
        tv_stu_cls = itemView.findViewById(R.id.tv_news_mark);
        iv_img = itemView.findViewById(R.id.iv_news);
    }
}

step8: ~\app\src\main\java\com\example\iosdialogdemo\MainActivity.java

package com.example.iosdialogdemo;



        import android.os.Bundle;
        import android.os.Handler;
        import android.os.Message;
        import android.util.Log;

        import com.google.gson.Gson;
        import com.youth.banner.Banner;
        import com.youth.banner.BannerConfig;
        import com.youth.banner.Transformer;

        import java.io.IOException;
        import java.io.InputStream;
        import java.util.ArrayList;
        import java.util.List;

        import androidx.annotation.NonNull;
        import androidx.appcompat.app.AppCompatActivity;
        import androidx.recyclerview.widget.LinearLayoutManager;
        import androidx.recyclerview.widget.RecyclerView;

public class MainActivity extends AppCompatActivity {
    //界面控件
    private Banner mbanner;
    //轮播图的数据
    private MyImageLoader myImageLoader;
    private ArrayList<Integer> photos;


    /*新闻列表*/
    private List<StuBean.SchReadyIngListBean> stuList;



    private RecyclerView rvLanguage2 ;
    private String jsonString;
    private LanguageRecycleAdapter2 languageRecycleAdapter2;


    private Handler mHandler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(@NonNull Message message) {
            if (message.what == 100) {
                jsonString = (String) message.obj;
                Log.e("INFO", "##### Sub: " + ": " + jsonString);
                Gson gson = new Gson();
                //解析字符串
                StuBean mStuBean = gson.fromJson(jsonString, StuBean.class);
                if (stuList != null) {
                    stuList.clear();
                }
                stuList.addAll(mStuBean.getSch_ready_ing_list());
                Log.e("INFO", "##### Sub: " + ": " + stuList);
                languageRecycleAdapter2.setData(stuList);
                languageRecycleAdapter2.notifyDataSetChanged();

            }
            return false;
        }
    });





    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initData();
        initView();
    }

    //界面初始化
    private void initView() {
        mbanner = (Banner) findViewById(R.id.banner);
        //设置轮播的样式
        mbanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);  //CIRCLE_INDICATOR
        //设置图片加载器
        mbanner.setImageLoader(myImageLoader);
        //设置轮播的动画效果,里面有很多种特效,可以都看看效果。
        mbanner.setBannerAnimation(Transformer.ZoomOutSlide);
        //设置轮播间隔时间
        mbanner.setDelayTime(3000);
        //设置是否为自动轮播,默认是true
        mbanner.isAutoPlay(true);
        //设置指示器的位置,小点点,居中显示
        mbanner.setIndicatorGravity(BannerConfig.CENTER);
        //设置图片加载地址
        mbanner.setImages(photos)
                //开始调用的方法,启动轮播图。
                .start();


        rvLanguage2 = findViewById(R.id.rvLanguage2);
        stuList = new ArrayList<>();

        rvLanguage2.setLayoutManager(new LinearLayoutManager(MainActivity.this));
        languageRecycleAdapter2 = new LanguageRecycleAdapter2(MainActivity.this, stuList);
        rvLanguage2.setAdapter(languageRecycleAdapter2);

        loadJsonFromAssests();

    }

    //数据初始化
    private void initData() {
        myImageLoader = new MyImageLoader();
        //将轮播的图片放在photos 那里
        photos = new ArrayList<Integer>();
        photos.add(R.mipmap.ic_launcher);
        photos.add(R.mipmap.ic_launcher);
        photos.add(R.mipmap.ic_launcher);
        photos.add(R.mipmap.ic_launcher);
        photos.add(R.mipmap.ic_launcher);
        photos.add(R.mipmap.ic_launcher);

    }


    public void loadJsonFromAssests() {
        String json = null;
        try {
            InputStream inputStream = getAssets().open("stu.json");
            int size = inputStream.available();
            byte[] buffer = new byte[size];
            inputStream.read(buffer);
            inputStream.close();
            json = new String(buffer, "UTF-8");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        Log.e("TAG", "loadJsonFromAssests:" + json.toString());
        Message msg = new Message();
        msg.what = 100;
        msg.obj = json.toString();
        mHandler.sendMessage(msg);
    }



}

step9:~\app\src\main\java\com\example\iosdialogdemo\MyImageLoader.java

package com.example.iosdialogdemo;





        import android.content.Context;
        import android.widget.ImageView;

        import com.bumptech.glide.Glide;
        import com.youth.banner.loader.ImageLoader;

public class MyImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context.getApplicationContext())
                .load(path)
                .into(imageView);
    }
}

step10:~\app\src\main\java\com\example\iosdialogdemo\StuBean.java

package com.example.iosdialogdemo;






import java.util.List;

public class StuBean {

    

    private int sch_num;
    private int sch_ready_ed;
    private int sch_ready_ing;
    private int sch_ready_not;
    private List<SchReadyIngListBean> sch_ready_ing_list;

    public int getSch_num() {
        return sch_num;
    }

    public void setSch_num(int sch_num) {
        this.sch_num = sch_num;
    }

    public int getSch_ready_ed() {
        return sch_ready_ed;
    }

    public void setSch_ready_ed(int sch_ready_ed) {
        this.sch_ready_ed = sch_ready_ed;
    }

    public int getSch_ready_ing() {
        return sch_ready_ing;
    }

    public void setSch_ready_ing(int sch_ready_ing) {
        this.sch_ready_ing = sch_ready_ing;
    }

    public int getSch_ready_not() {
        return sch_ready_not;
    }

    public void setSch_ready_not(int sch_ready_not) {
        this.sch_ready_not = sch_ready_not;
    }

    public List<SchReadyIngListBean> getSch_ready_ing_list() {
        return sch_ready_ing_list;
    }

    public void setSch_ready_ing_list(List<SchReadyIngListBean> sch_ready_ing_list) {
        this.sch_ready_ing_list = sch_ready_ing_list;
    }


    public static class SchReadyIngListBean {
     

        private int stu_id;
        private String stu_name;
        private String stu_status;
        private String item_status;
        private String stu_url;
        private String stu_sex;
        private String stu_birth;
        private String stu_addr;
        private int col_id;
        private Object grade_id;
        private String col_name;
        private String grade_name;

        public int getStu_id() {
            return stu_id;
        }

        public void setStu_id(int stu_id) {
            this.stu_id = stu_id;
        }

        public String getStu_name() {
            return stu_name;
        }

        public void setStu_name(String stu_name) {
            this.stu_name = stu_name;
        }

        public String getStu_status() {
            return stu_status;
        }

        public void setStu_status(String stu_status) {
            this.stu_status = stu_status;
        }

        public String getItem_status() {
            return item_status;
        }

        public void setItem_status(String item_status) {
            this.item_status = item_status;
        }

        public String getStu_url() {
            return stu_url;
        }

        public void setStu_url(String stu_url) {
            this.stu_url = stu_url;
        }

        public String getStu_sex() {
            return stu_sex;
        }

        public void setStu_sex(String stu_sex) {
            this.stu_sex = stu_sex;
        }

        public String getStu_birth() {
            return stu_birth;
        }

        public void setStu_birth(String stu_birth) {
            this.stu_birth = stu_birth;
        }

        public String getStu_addr() {
            return stu_addr;
        }

        public void setStu_addr(String stu_addr) {
            this.stu_addr = stu_addr;
        }

        public int getCol_id() {
            return col_id;
        }

        public void setCol_id(int col_id) {
            this.col_id = col_id;
        }

        public Object getGrade_id() {
            return grade_id;
        }

        public void setGrade_id(Object grade_id) {
            this.grade_id = grade_id;
        }

        public String getCol_name() {
            return col_name;
        }

        public void setCol_name(String col_name) {
            this.col_name = col_name;
        }

        public String getGrade_name() {
            return grade_name;
        }

        public void setGrade_name(String grade_name) {
            this.grade_name = grade_name;
        }
    }


}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/609676.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea无法识别加载pom.xml文件

有时idea无法识别加载pom.xml文件&#xff0c;直接打开pom.xml文件&#xff0c;然后添加到maven就行

官方文档k8s1.30安装部署高可用集群,kubeadm安装Kubernetes1.30最新版本

文章目录 节点架构一、准备开始(每一台机器都执行)1️⃣ 检查所需端口(可以直接关闭防火墙放开所有端口)端口和协议控制面工作节点 关闭防火墙关闭 SELinux 2️⃣ 安装containerd容器containerd部署containerd切换为国内源 3️⃣ 设置/etc/hosts 二、安装 kubeadm、kubelet 和 …

C++青少年简明教程:C++程序结构

C青少年简明教程&#xff1a;C程序结构 一个简单的C程序源码如下&#xff1a; #include <iostream> using namespace std;int main() {cout << "Hello World" << endl;return 0; }下面解析一下。 1. #include <iostream> 这是一条预处理…

SSH隧道可以做什么?

SSH隧道是SSH协议服务端提供的一种扩展功能&#xff0c;一般仅在linux服务器的SSH服务端中提供&#xff0c;其它的如交换机、防火墙等网络设备中&#xff0c;虽然支持SSH协议&#xff0c;但多数并不提供SSH隧道功能。 所以&#xff0c;在通过SSH协议连接远程设备时&#xff0c…

Python远程连接Linux执行操作

一、任务要求 要使用Python编写代码来远程给Linux主机上传一个文件&#xff0c;可以使用paramiko库&#xff0c;这是一个实现了SSHv2协议的Python库&#xff0c;它支持SSH连接&#xff08;包括客户端和服务端&#xff09;&#xff0c;并且提供SFTP&#xff08;SSH File Transf…

VScode查看以十六进制查看文件的插件说明

找到插件并下载 打开指定的文件 选择打开方式即可 结果如下

STM32——GPIO输出(点亮第一个LED灯)

代码示例&#xff1a; #include "stm32f10x.h" // Device headerint main() {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启时钟GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP;GPIO_InitSt…

成为计算机视觉(CV)需要掌握哪些技术知识(综述)

在CV领域&#xff0c;深度学习和机器学习技术发挥着至关重要的作用&#xff0c;它们为图像识别、目标检测、图像分割等任务提供了强大的工具和方法。本文将综述CV中需要学习的深度学习和机器学习技术。 一、深度学习技术 卷积神经网络&#xff08;Convolutional Neural Netwo…

【吊打面试官系列】Java高并发篇 - 为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里?

大家好&#xff0c;我是锋哥。今天分享关于 【为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里&#xff1…

被严重低估的后端技术面经,强到离谱!

前天加完班&#xff0c;回家路上翻了下粉丝群。发现群里最近在疯传一份叫《后端 offer 收割机养成指南》的资料。 本来感觉这个 title 看起来有点离谱&#xff0c;结果没想到仔细一看&#xff0c;这份资料竟然真的有点东西。内容收纳的很全&#xff0c;而且融合了很多今年的新…

软件测试从业人员怎么看待测试工作的前途?

调查背景   工信部发布的2023年软件业经济运行情况显示&#xff0c;全年累计完成软件业务收入123258亿元&#xff0c;同比增长13.4%&#xff0c;增速较上年同期提高2.2个百分点。值得注意的是&#xff0c;亚太地区软件测试市场正在迅速崛起&#xff0c;预计到2026年复合年增长…

Django开发实战之单元测试和集成测试之编写测试用例以及代码覆盖率统计分析

这里分为了两种情况&#xff1a; E2E&#xff1a;接近真实使用情况&#xff0c;用例数量少 UT&#xff1a;执行速度快&#xff0c;用例数量多 1、整理测试点 1、注册功能 允许匿名访问URL&#xff1a;http://127.0.0.1:8000/accounts/register/get请求&#xff1a;返回htmlp…

Linux 用户进程启动与Systemd

Linux用户空间的启动 我们都知道&#xff0c;Linux在内核的初始化自身的流程结束后&#xff0c;就会将程序流的运行转到用户态&#xff0c;也就是进入init进程流之后&#xff0c;他会按照这个流程进行初始化&#xff1a; init进程初始化 基础的底层服务&#xff1a;比如说ude…

JavaScript 事件

在 Web 开发中&#xff0c;JavaScript 事件是至关重要的概念之一。通过事件&#xff0c;我们可以实现交互性和动态性&#xff0c;使用户与网页进行互动。本篇博客将介绍 JavaScript 事件的基础知识&#xff0c;并深入探讨一些高级技术。 1. 什么是事件&#xff1f; 事件是指用…

振弦采集仪在岩土工程监测中的性能评价及标准选择

振弦采集仪在岩土工程监测中的性能评价及标准选择 河北稳控科技振弦采集仪是一种重要的岩土工程监测仪器&#xff0c;用于测量振动场的频率、振幅和相位等参数。它在岩土工程施工和地震监测中具有重要的应用价值。本文将对振弦采集仪的性能评价及标准选择进行详细介绍。 首先&…

每日一练2024.5.9

题目&#xff1a; 给定一个非负整数数组 nums&#xff0c; nums 中一半整数是 奇数 &#xff0c;一半整数是 偶数 。 对数组进行排序&#xff0c;以便当 nums[i] 为奇数时&#xff0c;i 也是 奇数 &#xff1b;当 nums[i] 为偶数时&#xff0c; i 也是 偶数 。 你可以返回 …

Java | Leetcode Java题解之第80题删除有序数组中的重复项II

题目&#xff1a; 题解&#xff1a; class Solution {public int removeDuplicates(int[] nums) {int n nums.length;if (n < 2) {return n;}int slow 2, fast 2;while (fast < n) {if (nums[slow - 2] ! nums[fast]) {nums[slow] nums[fast];slow;}fast;}return sl…

Python 全栈系列242 踩坑记录:租用算力机完成任务

说明 记一次用算力机分布式完成任务的坑。 内容 1 背景 很早的时候&#xff0c;做了一个实体识别模型。这个模型可以识别常见的PER、ORG、LOC和TIME几种类型实体。 后来&#xff0c;因为主要只用来做PER、ORG的识别&#xff0c;于是我根据业务数据&#xff0c;重新训练了模…

免费矢量图标汇总:一文掌握10个优质网站!

矢量图标是我们日常设计应用程序和网页过程中不可缺少的元素之一。通过小矢量图标&#xff0c;我们可以快速方便地实现视觉指导和功能划分。但在创作中&#xff0c;设计师往往需要花费大量的时间和精力来寻找不同网站的矢量图标&#xff0c;以满足他们的设计需求&#xff0c;这…