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" /><applicationandroid: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.CoordinatorLayoutxmlns: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.AppBarLayoutandroid:id="@+id/app_bar"android:layout_width="match_parent"android:layout_height="wrap_content"app:elevation="0dp"><LinearLayoutandroid:id="@+id/toolbar_layout"android:layout_width="match_parent"android:layout_height="match_parent"app:layout_scrollFlags="scroll|exitUntilCollapsed"><com.youth.banner.Bannerandroid: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.RecyclerViewandroid: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"><TextViewandroid: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" /><TextViewandroid: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="校级" /><TextViewandroid: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" /><ImageViewandroid: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@Overridepublic 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;}@Overridepublic 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);}@Overridepublic 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() {@Overridepublic 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;}});@Overrideprotected 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);//设置是否为自动轮播,默认是truembanner.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 {@Overridepublic 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;}}}

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Java入门基础学习笔记4——开发Helloworld入门程序

Java程序开发的三个步骤&#xff1a; 1&#xff09;编写代码 2&#xff09;编译代码 3&#xff09;运行代码 注意事项&#xff1a; 第一个java程序建议使用记事本来编写。 建议代码文件名全英文、首字母大写、满足驼峰模式&#xff0c;源代码文件的后缀必须是.java 注意&a…

企业破产重整:从“至暗时刻”到“涅槃重生”

今天我们不谈星辰大海&#xff0c;而是要潜入商业世界的深海区&#xff0c;探索那些濒临绝境的企业是如何借助“破产重整”的神秘力量&#xff0c;实现惊天大逆转的&#xff01; 一、破产重整&#xff0c;到底是个啥&#xff1f; 想象一下&#xff0c;企业像是一位远航的船长…

数据增强,迁移学习,Resnet分类实战

目录 1. 数据增强&#xff08;Data Augmentation&#xff09; 2. 迁移学习 3. 模型保存 4. 102种类花分类实战 1. 数据集 2.导入包 3. 数据读取与预处理操作 4. Datasets制作输入数据 5.将标签的名字读出 6.展示原始数据 7.加载models中提供的模型 8.初始化…

从静态PPT到智能演讲——人工智能在演示文稿中的应用

1.概述 在这个信息过载的时代&#xff0c;能够吸引并持续吸引观众的注意力无疑成为了一项艰巨的任务。公众演讲领域正经历着一场由人工智能&#xff08;AI&#xff09;引领的革命。AI不仅在制作引人入胜的内容方面发挥作用&#xff0c;而且在分析演讲的传递方式上也起着关键作…

【C++】 类的6个默认成员函数

目录 1. 类的6个默认成员函数 一.构造函数 1.基本概念 2 特性 注意&#xff1a;C11 中针对内置类型成员不初始化的缺陷&#xff0c;又打了补丁&#xff0c; 3.构造函数详解 3.1构造函数体赋值 3.2 初始化列表 3.3 explicit关键字 二.析构函数 1 概念 2 特性 两个栈实…

Vue路由拆分

1.在src下建立router&#xff0c;在router中建立文件index 2.将main.js中部分内容复制 App <template> <div><a href"#/friend">朋友</a><br><a href"#/info">信息</a><br><a href"#/music&quo…

Photoshop中图层的应用

Photoshop中图层的应用 前言Photoshop中的图层面板Photoshop中图层的基本操作新建图层复制/剪切图层链接图层修改图层名称及颜色背景图层与普通图层栅格化图层图层的对齐与分布图层的合并 前言 图层在Photoshop中就像一层一层的透明纸&#xff0c;可以透过图层的透明区域看到下…

动手学深度学习16 Pytorch神经网络基础

动手学深度学习16 Pytorch神经网络基础 1. 模型构造2. 参数管理1. state_dict()2. normal_() zeros_()3. xavier初始化共享参数的好处 3. 自定义层4. 读写文件net.eval() 评估模式 QA 1. 模型构造 定义隐藏层–模型结构定义前向函数–模型结构的调用 import torch from torch…

万村乐数字乡村综合服务系统如何助力农民收入的腾飞

作为行业领先的数字乡村综合服务系统——“万村乐”&#xff0c;其核心便是基于互联网乡村和物联网乡村的强大信息基石之上。通过幸福民生服务、高效政务服务以及规范的党务服务这三条主线&#xff0c;以手机端平台为承载&#xff0c;借助事件反馈、精准种养数据、精细人员网格…

【Java】/*方法的使用-快速总结*/

目录 一、什么是方法 二、方法的定义 三、实参和形参的关系 四、方法重载 五、方法签名 一、什么是方法 Java中的方法可以理解为C语言中的函数&#xff0c;只是换了个名称而已。 二、方法的定义 1. 语法格式&#xff1a; public static 返回类型 方法名 (形参列表) { //方…

AI领域最伟大的论文检索网站

&#x1f4d1; 苏剑林&#xff08;Jianlin Su&#xff09;开发的“Cool Papers”网站旨在通过沉浸式体验提升科研工作者浏览论文的效率和乐趣。这个平台的核心优势在于利用Kimi的智能回答功能&#xff0c;帮助用户快速了解论文的常见问题&#xff08;FAQ&#xff09;&#xff0…

定了,2024年天门中级职称报名开始了

关于今年天门中级职称报名各类相关事宜&#xff0c;我们一起来看看 一、报名时间和地址 1.报名时间&#xff1a;2024年5月10日至5月22日&#xff0c;并由主管部门或用人单位将报名表提交给人力资源部&#xff08;注意不要错过时间了&#xff09; 水测准考证领取时间为正式考试…

卷积模型的剪枝、蒸馏---蒸馏篇--NST特征蒸馏(以deeplabv3+为例)

本文使用NST特征蒸馏实现deeplabv3+模型对剪枝后模型的蒸馏过程; 一、NST特征蒸馏简介 下面是两张叠加了热力图(heat map)的图片,从图中很容易看出这两个神经元具有很强的选择性:左图的神经元对猴子的脸部非常敏感,右侧的神经元对字符非常敏感。这种激活实际上意味着神经…

自回归模型的优缺点及改进方向

在学术界和人工智能产业中&#xff0c;关于自回归模型的演进与应用一直是一个引发深入讨论和多方观点交锋的热门议题。尤其是Yann LeCun&#xff0c;这位享誉全球的AI领域学者、图灵奖的获得者&#xff0c;以及被誉为人工智能领域的三大巨擘之一&#xff0c;他对于自回归模型持…

笔记2:torch搭建VGG网络代码详细解释

VGG网络结构 VGG网络&#xff08;Visual Geometry Group Network&#xff09;是一种经典的深度学习卷积神经网络&#xff08;CNN&#xff09;架构&#xff0c;由牛津大学的视觉几何组&#xff08;Visual Geometry Group&#xff09;在2014年提出。VGG网络在ImageNet挑战赛2014…

软件开发项目实施方案-精华资料(Word原件)

依据项目建设要求&#xff0c;对平台进行整体规划设计更新维护&#xff0c;对系统运行的安全性、可靠性、易用性以及稳健性进行全新设计&#xff0c;并将所有的应用系统进行部署实施和软件使用培训以及技术支持。 根据施工总进度规划&#xff0c;编制本项目施工进度计划表。依据…

OSPF虚链路

原理概述 通常情况下&#xff0c;一个OSPF网络的每个非骨干区域都必须与骨干区域通过ABR路由器直接连接&#xff0c;非骨干区域之间的通信都需要通过骨干区域进行中转。但在现实中&#xff0c;可能会因为各种条件限制&#xff0c;导致非骨干区域和骨干区域无法直接连接&#x…

在家就可以轻松赚零花钱的副业

互联网的兴起让很多人实现了在家办公的梦想&#xff0c;同时也为人们提供了更多的挣钱方式。以下是4种可以在家中兼职副业赚钱的方法&#xff1a; 1. 写作工作 如果你善于写作&#xff0c;并且有一定的文学素养&#xff0c;那么可以通过自己的博客或其他媒体平台来写作&#…

SMART700西门子触摸屏维修6AV6 648-0CC11-3AX0

西门子工控机触摸屏维修系列型号&#xff1a;PС477,PC677,TD200,TD400,KTP178,TP170A,TP170B,TP177A,TP177B,TP270,TP277,TP27,MP370,MP277,OP27,OP177B等。 触摸屏故障有&#xff1a;上电黑屏, 花屏,暗屏,触摸失灵,按键损坏,电源板,高压板故障,液晶,主板坏等,内容错乱、进不了…

2024.5.6 关于 SpringCloud 的基本认知

目录 引言 微服务框架所包含的技术栈 面试题 微服务架构演变 单体架构 分布式架构 微服务架构 微服务技术对比 认识 SpringCloud SpringBoot 版本兼容关系 服务拆分和远程调用 服务拆分注意事项 远程调用 引入问题 引言 微服务是一种框架风格&#xff0c;按照业务…