学习Android的第八天

目录

Android ImageView 图像视图

ImageView 的基本使用

src属性和background属性的区别

范例

解决 anndroid:blackground 属性拉伸导致图片变形的方法

设置透明度的问题

范例

android:src 和 android:background 结合

范例

Java 代码中设置 blackground 和 src 属性

android:adjustViewBounds 设置缩放是否保持长宽比

范例

android:scaleType 设置缩放类型

范例

圆形的 ImageView


Android ImageView 图像视图

在 Android 中,ImageView(图像视图)是用于显示图像或者其他图形的一个常用组件。它是 Android 中的一个视图控件(View),可以在布局文件中通过 XML 或者在代码中动态创建。

ImageView 的基本使用

1、在xml里设置图像

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/imgages1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/meimei"/>
</LinearLayout>

2、在Java代码里设置图像

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>
package com.example.myapplication;

import android.os.Bundle;
import android.widget.ImageView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

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

        ImageView imageView = findViewById(R.id.imageView);
        imageView.setImageResource(R.drawable.meimei);
    }
}

src属性和background属性的区别

  • android:src:用于设置 ImageView 显示的图像资源。当使用 android:src 属性填入图片时,图像会按照原始大小显示,不会进行拉伸,而是直接填充到 ImageView 中。这意味着如果图像比 ImageView 尺寸大,则可能会被裁剪显示部分。
  • android:background:用于设置视图的背景,不仅限于 ImageView,其他视图也可以使用这个属性。当使用 android:background 属性填入图片时,图片会根据 ImageView 的给定宽度进行拉伸或缩放以适应整个视图的背景。这意味着图片会根据 ImageView 的尺寸进行适应,可能会发生拉伸或压缩以填满整个 ImageView。

因此,可以根据需要选择适合的属性来设置图片。如果想要直接显示图像资源并保持其原始大小,可以使用 android:src;如果想要根据 ImageView 的尺寸来拉伸或缩放图像以适应整个视图,可以使用 android:background。

范例

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!-- 使用 android:src 属性设置图像,不会拉伸 -->
    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:src="@drawable/meimei"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

    <!-- 使用 android:background 属性设置图像,会根据 ImageView 尺寸拉伸 -->
    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/meimei"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

</LinearLayout>

在这个示例中,有两个 ImageView,它们都设置了相同的尺寸、图像和 scaleType 属性。一个使用了 android:src 属性,另一个使用了 android:background 属性。当运行应用时,会看到以下区别:

  • 第一个 ImageView 使用 android:src 属性设置了图像,图像会按照原始大小显示在 ImageView 中,不会进行拉伸。
  • 第二个 ImageView 使用 android:background 属性设置了图像,图像会根据 ImageView 的尺寸进行拉伸或缩放以适应整个视图。

解决 anndroid:blackground 属性拉伸导致图片变形的方法

对于通过 android:background 属性设置背景图片导致变形的问题,可以有两种方式来解决这个问题:

1、动态设置 ImageView 大小:如果 ImageView 是通过 Java 代码动态加载的,你可以在加载图片后重新设置 ImageView 的大小,使其与图片匹配。这样可以确保背景图片不会被拉伸变形。

示例代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/meimei"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/meimei"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

</LinearLayout>
package com.example.myapplication;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

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

        ImageView imageView = findViewById(R.id.imageView);
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.meimei);
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        imageView.setLayoutParams(new LinearLayout.LayoutParams(width, height));
        imageView.setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap));

    }
}

运行 示例代码 效果如下

2、使用 Bitmap 资源文件:如果是通过 XML 布局引入的 ImageView,可以先将图片转换为 Bitmap 资源文件,然后将该文件设置为 ImageView 的背景。这样背景图片就不会被拉伸变形。

示例代码如下:

首先,在 res/drawable 目录下创建一个 Bitmap 资源文件(例如 background_image.xml),内容如下:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/meimei"
    android:gravity="center" />

然后,在 XML 布局文件中将这个 Bitmap 资源文件设置为 ImageView 的背景:

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/meimei"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/background_image"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

</LinearLayout>

运行 示例代码 效果如下

设置透明度的问题

在 Android 中,android:alpha 属性用于设置视图(包括 ImageView)的透明度。它指定视图及其内容的不透明度级别,值范围在 0(完全透明)到 1(完全不透明)之间。

当 android:alpha 属性被应用于 ImageView 时,它会影响整个 ImageView 包括其内容的透明度。这意味着,无论是 ImageView 的图像资源(通过 android:src 设置)还是背景(通过 android:background 设置),都会受到 android:alpha 的影响。

需要注意的是,android:alpha 只对 ImageView 的图像资源有效,如果只使用 android:background 而不使用 android:src,android:alpha 将不会起作用。如果需要同时设置透明度以及背景,可以考虑使用其他方式,例如设置透明的背景图片。

范例

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:src="@drawable/background_image"
        android:alpha="0.5"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/background_image"
        android:alpha="0.5"
        android:scaleType="centerCrop"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp" />

</LinearLayout>

运行效果如下:

android:src 和 android:background 结合

范例

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <!-- 背景图像视图-->
    <ImageView
        android:id="@+id/background_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/background_image"
        android:scaleType="centerCrop" />

    <!-- 前景图像视图-->
    <ImageView
        android:id="@+id/foreground_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/background_image"
        android:background="#9f44d3"
        android:scaleType="fitCenter"
        android:layout_centerInParent="true" />

</LinearLayout>

运行效果如下:

Java 代码中设置 blackground 和 src 属性

当需要在 Java 代码中设置 ImageView 的 android:src 和 android:background 属性时,可以使用对应的方法来实现。

1、在 Java 代码中设置 android:src 属性,可以使用 setImageResource() 方法,将资源 ID 分配给 ImageView。例如:

ImageView imageView = findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.my_image);

在这里,R.drawable.my_image 是想要设置的图像资源的资源 ID。

2、要设置 android:background 属性,可以使用 setBackgroundResource() 方法,并将资源 ID 分配给 ImageView。例如:

ImageView imageView = findViewById(R.id.imageView);
imageView.setBackgroundResource(R.drawable.background_image);

在这里,R.drawable.background_image 是想要设置为背景的图像资源的资源 ID。

请注意,在设置 android:background 属性时,需要确保 ImageView 的 android:src 属性不会影响背景图像的显示。如果同时设置了 android:src 和 android:background,可能需要调整 ImageView 的布局参数或其他属性,以确保它们的显示效果符合预期。

android:adjustViewBounds 设置缩放是否保持长宽比

在 Android 中,android:adjustViewBounds 属性用于设置当 ImageView 进行缩放时是否保持原始图像的长宽比。但是,这个属性单独设置时并不会起作用,需要配合 android:maxWidth 和 android:maxHeight 属性一起使用,并且这两个属性也需要 android:adjustViewBounds 设置为 true 才会生效。

这三个属性之间存在着一种共生关系,它们的作用如下:

  • android:adjustViewBounds:设置为 true 时,ImageView 在缩放图像时将尝试保持原始图像的长宽比。如果设置为 false,则图像可能被拉伸或压缩以填充 ImageView。
  • android:maxWidth 和 android:maxHeight:分别用于设置 ImageView 的最大宽度和最大高度。当设置了这两个属性,并且 android:adjustViewBounds 被设置为 true 时,ImageView 将根据最大宽度和最大高度来缩放图像,以保持图像的长宽比,并且不会超过这些限制。

这种共生关系确保了在 ImageView 进行缩放时,可以同时控制图像的长宽比和最大尺寸,从而实现更加灵活和符合设计需求的显示效果。

范例

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <!--示例1: 不设置属性-->
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/background_image"
        android:adjustViewBounds="false"
        />

    <!--示例2: 设置三个属性-->
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/background_image"
        android:adjustViewBounds="true"
        android:maxWidth="200dp"
        android:maxHeight="200dp"
        />
</LinearLayout>

运行效果如下

通过这两个示例,我们可以清楚地看到设置这三个属性和不设置这三个属性之间的差别。在第一个示例中,图像可能会因为不保持长宽比而变形。而在第二个示例中,由于设置了这三个属性,图像会尽可能地保持长宽比,并且不会超过指定的最大尺寸。

android:scaleType 设置缩放类型

android:scaleType 属性用于设置 ImageView 显示的图片如何缩放或者移动以适应 ImageView 的大小。

在 Java 代码中,可以使用 imageView.setScaleType(ImageView.ScaleType) 方法来设置。

以下是 android:scaleType 属性的可选值及其说明:

  • fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应 ImageView,但是图片的横纵比可能会发生改变。
  • fitStart:保持纵横比缩放图片,知道较长的边与 ImageView 的边相等,缩放完成后将图片放在 ImageView 的左上角。
  • fitCenter:同上,缩放后放于中间。
  • fitEnd:同上,缩放后放于右下角。
  • center:保持原图的大小,显示在 ImageView 的中心。当原图的大小大于 ImageView 的大小时,超过部分进行裁剪处理。
  • centerCrop:保持横纵比缩放图片,知道完全覆盖 ImageView,可能会出现图片的显示不完全。
  • centerInside:保持横纵比缩放图片,直到 ImageView 能够完全地显示图片。
  • matrix:默认值,不改变原图的大小,从 ImageView 的左上角开始绘制原图,原图超过 ImageView 的部分作裁剪处理。

范例

<?xml version="1.0" encoding="utf-8" ?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="16dp">

        <!-- ImageView 示例 -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="Sample Image"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- 不同 scaleType 的 ImageView 示例 -->

        <!-- fitXY -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="fitXY"
            android:scaleType="fitXY"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- fitStart -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="fitStart"
            android:scaleType="fitStart"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- fitCenter -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="fitCenter"
            android:scaleType="fitCenter"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- fitEnd -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="fitEnd"
            android:scaleType="fitEnd"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- center -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="center"
            android:scaleType="center"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- centerCrop -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="centerCrop"
            android:scaleType="centerCrop"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- centerInside -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="centerInside"
            android:scaleType="centerInside"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

        <!-- matrix -->
        <ImageView
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/background_image"
            android:contentDescription="matrix"
            android:scaleType="matrix"
            android:background="@android:color/darker_gray"
            android:layout_marginBottom="16dp"/>

    </LinearLayout>
</ScrollView>

圆形的 ImageView

这里就简单的写个圆形的ImageView,当然这只是一个示例,在不考虑性能与抗锯齿的情况下。如果要用在项目中,可以看 GitHub 上的相关开源实现

  1. RoundedImageView
  2. CircleImageView

要创建一个圆形的 ImageView,可以使用一个自定义的 Drawable 来实现。

下面是一种方法,可以使用一个圆形的 ShapeDrawable 作为 ImageView 的背景,并在其上放置想要显示的图像。

1、首先,在 res/drawable 目录下创建一个 XML 文件(例如 circle_bg.xml),用来定义圆形的背景:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@android:color/transparent"/>
    <stroke
        android:width="2dp"
        android:color="#9f44d3"/>
</shape>

这个 XML 定义了一个椭圆形的形状,具有紫色边框,并且背景色是透明的。

2、然后,在布局文件中,将这个圆形的背景设置为 ImageView 的背景,并设置想要显示的图像作为 ImageView 的 src:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:gravity="center">

        <ImageView
            android:id="@+id/circularImageView"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:scaleType="centerCrop"
            android:src="@drawable/background_image"
            android:background="@drawable/circle_bg"/>

</LinearLayout>

这样,就创建了一个圆形的 ImageView,图像将填充圆形区域,并且具有紫色的边框。

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

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

相关文章

k8s 部署java应用 基于ingress+jar包

k8 集群ingress的访问模式 先部署一个namespace 命名空间 vim namespace.yaml kind: Namespace apiVersion: v1 metadata:name: ingress-testlabels:env: ingress-test 在部署deployment deployment是pod层一层封装。可以实现多节点部署 资源分配 回滚部署等方式。 部署的…

融资项目——获取树形结构的数据

如下图所示&#xff0c;下列数据是一个树形结构数据&#xff0c;行业中包含若干子节点。表的设计如下图&#xff0c;设置了一个id为1的虚拟根节点。&#xff08;本树形结构带虚拟根节点共三层&#xff09; 实现逻辑&#xff1a; 延时展示方法&#xff0c;先展现第二层的信息&a…

C++自定义函数详解

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 铁汁们新年好呀&#xff0c;今天我们来了解自定义函数。 文章目录 1.数学中的函数 2.什么是自定义函数 3.自定义函数如何使用&#xff1f; 4.值传递和引用传递&#xff08;形参和实参区分&#xff09; …

电脑服务器离线安装.net framework 3.5解决方案(错误:0x8024402c )(如何确定当前系统是否安装NET Framework 3.5)

问题环境&#xff1a; 日常服务的搭建或多或少都会有需要到NET Framework 3.5的微软程序运行框架&#xff0c;本次介绍几种不同的安装方式主要解决运行在Windows 2012 以上的操作系统的服务。 NET Framework 3.5 是什么&#xff1f; .NET Framework是微软公司推出的程序运行框架…

【超高效!保护隐私的新方法】针对图像到图像(l2l)生成模型遗忘学习:超高效且不需要重新训练就能从生成模型中移除特定数据

针对图像到图像生成模型遗忘学习&#xff1a;超高效且不需要重新训练就能从生成模型中移除特定数据 提出背景如何在不重训练模型的情况下从I2I生成模型中移除特定数据&#xff1f; 超高效的机器遗忘方法子问题1: 如何在图像到图像&#xff08;I2I&#xff09;生成模型中进行高效…

Nginx与history路由模式:刷新页面404问题

使用nginx部署前端项目&#xff0c;路由模式采用history模式时&#xff0c;刷新页面之后&#xff0c;显示404。 路由模式 前端路由的基本作用为&#xff1a; ①当浏览器地址变化时&#xff0c;切换页面&#xff1b; ②点击浏览器后退、前进按钮时&#xff0c;更新网页内容&…

双面板设计的一套经验规则-笔记

过大的分布电感导致信号地干扰也就是地弹(专业名词) 还有就是输出瞬态电流导致的地弹 图中可以看到最高 0.5V 的信号地干扰&#xff0c;这只是单一块开发板的测试结果。如果接上外围电路&#xff0c;甚至面包板电路可以想象噪声水平可能会更高。 双面电路板 经验规则 下面来…

Tomcat 原理分析

1、Tomcat 的组成 如下图&#xff1a; Tomcat组成 Server&#xff1a; Tomcat 封装的、对外提供完整的、基于组件的 web 服务&#xff0c;包含 Connectors、Container 两个核心组件&#xff0c;以及多个功能组件&#xff0c;各个 Service 之间是独立的&#xff0c;但是共享 同…

【数据结构】前缀树的模拟实现

目录 1、什么是前缀树&#xff1f; 2、模拟实现 2.1、前缀树节点结构 2.2、字符串的添加 2.3、字符串的查寻 2.3.1、查询树中有多少个以字符串"pre"作为前缀的字符串 2.3.2、查询某个字符串被添加过多少次 2.4、字符串的删除 3、完整代码 1、什么是前缀树&…

Flink 2.0 状态存算分离改造实践

本文整理自阿里云智能 Flink 存储引擎团队兰兆千在 FFA 2023 核心技术&#xff08;一&#xff09;中 的分享&#xff0c;内容关于 Flink 2.0 状态存算分离改造实践的研究&#xff0c;主要分为以下四部分&#xff1a; Flink 大状态管理痛点 阿里云自研状态存储后端 Gemini 的存…

Linux下的crontab定时执行任务命令详解

在LINUX中&#xff0c;周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件&#xff0c;这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“crontab”&#xff0c;是“cron table”的简写。 一、cron服务   cron是一个…

为什么要进行FTP替代?专业的FTP替代方案了解一下!

FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;的历史可以追溯到20世纪70年代&#xff0c;这是一个由美国国防部资助的早期计算机网络&#xff0c;后来发展成为互联网的前身。随着时间的推移&#xff0c;FTP经历了多次迭代和改进&#xff0c;以适…

有关网络安全的课程学习网页

1.思科网络学院 免费学习skillsforall的课程 课程链接&#xff1a;Introduction to Cybersecurity by Cisco: Free Online Course (skillsforall.com) 2.斯坦福大学计算机和网络安全基础 该证书对于初学者来说最有价值&#xff0c;它由最著名的大学之一斯坦福大学提供。您可…

【动态规划】【C++算法】2518. 好分区的数目

作者推荐 【动态规划】【前缀和】【C算法】LCP 57. 打地鼠 本文涉及知识点 动态规划汇总 LeetCode:2518. 好分区的数目 给你一个正整数数组 nums 和一个整数 k 。 分区 的定义是&#xff1a;将数组划分成两个有序的 组 &#xff0c;并满足每个元素 恰好 存在于 某一个 组中…

AVR 328pb ADC基本介绍和使用

AVR 328pb ADC基本介绍和使用 &#x1f4cd;结合参考同架构lgt8f328p中文文档&#xff1a;http://www.prodesign.com.cn/wp-content/uploads/2023/03/LGT8FX8P_databook_v1.0.4.pdf &#x1f4d8;328pb ADC特性 • 10-bit Resolution 10位分辨率 • 0.5 LSB Integral Non-lin…

猫头虎分享已解决Bug || JavaScript语法错误(Syntax Error):SyntaxError: Unexpected token

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

leetcode(哈希表)49.字母异位词分组(C++详细解释)DAY5

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 示例 1: 输入: strs [“eat”, “tea”…

Golang的for循环变量和goroutine的陷阱,1.22版本的更新

先来看一段golang 1.22版本之前的for循环的代码 package mainimport "fmt"func main() {done : make(chan bool)values : []string{"chen", "hai", "feng"}for _, v : range values {fmt.Println("start")go func() {fmt.P…

Elasticsearch(四)

是这样的前面的几篇笔记&#xff0c;感觉对我没有形成知识体系&#xff0c;感觉乱糟糟的&#xff0c;只是大概的了解了一些基础知识&#xff0c;仅此而已&#xff0c;而且对于这技术栈的学习也是为了在后面的java开发使用&#xff0c;但是这里的API学的感觉有点乱&#xff01;然…

JavaScript 入门 完整版

目录 第一个知识点&#xff1a;引入js文件 内部引用: 外部引用: 第二个知识点&#xff1a;javascript的基本语法 定义变量&#xff1a; 条件控制(if - else if - else) 第三个知识点&#xff1a;javascript里的数据类型、运算符&#xff1a; 数字类型 字符串类型 布尔…