无涯教程-Android - Intents/Filters

Android Intent 是要执行的操作的抽象描述。它可以与 startActivity 一起启动Activity,将 broadcastIntent 发送给任何BroadcastReceiver组件,并与 startService(Intent)或 bindService(Intent,ServiceConnection,int)与后台服务进行通信。

假设您有一个Activity,该Activity需要启动电子邮件客户端并使用Android设备发送电子邮件,为此,您的"Activity"会将ACTION_SEND和相应的 chooser 发送到Android Intent解析器。指定的selector为用户提供适当的界面,以选择如何发送您的电子邮件数据。

Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
email.putExtra(Intent.EXTRA_EMAIL, recipients);
email.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString());
email.putExtra(Intent.EXTRA_TEXT, body.getText().toString());
startActivity(Intent.createChooser(email, "Choose an email client from..."));

上面的语法正在调用startActivity方法来启动电子邮件Activity,输出应如下所示-

Send Email

假设您有一个Activity,需要在Android设备上的网络浏览器中打开URL。为此,您的"Activity"会将ACTION_WEB_SEARCH Intent发送到Android Intent Resolver,以在网络浏览器中打开给定的URL。 Intent解析器将解析一系列Activity,然后选择最适合您的Intent的Activity。然后,Intent Resolver将您的网页传递到Web浏览器并启动Web浏览器Activity。

String q = "learnfk";
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH );
intent.putExtra(SearchManager.QUERY, q);
startActivity(intent);

上面的示例将在android搜索引擎上以 learnfk 搜索,并在您的Activity中提供了learnfk的输出

Sr.NoMethod & 描述
1

Context.startActivity()

Intent对象将传递给此方法以启动新Activity或获取现有Activity以执行新操作。

2

Context.startService()

Intent对象将传递给此方法以启动服务或将新指令传递给正在进行的服务。

3

Context.sendBroadcast()

Intent对象将传递给此方法,以将消息传递给所有感兴趣的广播接收者。

Intent对象

Intent意图是一种信息,供接收该Intent的组件使用以及Android系统使用的信息,一个Intent对象可以根据其正在通信或将要执行的内容包含以下组件-

Action

这是意图对象的必需部分,并且是一个字符串,用于命名要执行的动作-或在广播意图的情况下,是已发生并要报告的动作。动作很大程度上决定了其余意图对象的结构。意图类定义了许多与不同意图对应的动作常量。这是 Android Intent Standard Actions 

可以通过setAction()方法设置意图对象中的动作,并通过getAction()读取该动作。

Data

将数据规范添加到意图过滤器。规范可以只是数据类型(mimeType属性),只是URI,或者既是数据类型又是URI, URI由其每个部分的单独属性指定-

这些指定URL格式的属性是可选的,但也相互依赖-

  • 如果未为意图过滤器指定方案,则会忽略所有其他URI属性。
  • 如果未为过滤器指定主机,则将忽略端口属性和所有路径属性。

action/data对的一些示例是-

Sr.No.行动/Data Pair & 描述
1

ACTION_VIEW content://contacts/people/1

显示有关其标识符为" 1"的人的信息。

2

ACTION_DIAL content://contacts/people/1

显示电话拨号器,并填写人员。

3

ACTION_VIEW tel:123

显示填写了给定number的电话拨号器。

4

ACTION_DIAL tel:123

显示填写了给定number的电话拨号器。

5

ACTION_EDIT content://contacts/people/1

编辑有关其标识符为" 1"的人的信息。

6

ACTION_VIEW content://contacts/people/

显示人员列表,用户可以浏览。

7

ACTION_SET_WALLPAPER

显示选择墙纸的设置

8

ACTION_SYNC

它将同步数据,常量值为 android.intent.action.SYNC

9

ACTION_SYSTEM_TUTORIAL

它将启动平台定义的教程(默认教程或启动教程)

10

ACTION_TIMEZONE_CHANGED

时区变化时提示

11

ACTION_UNINSTALL_PACKAGE

它用于运行默认卸载程序

Category

类别是意图对象的可选部分,它是一个字符串,其中包含有关应处理该意图的组件类型的其他信息。addCategory()方法将类别放置在意图对象中,removeCategory()删除先前添加的类别,并且getCategories()获取对象中当前所有类别的集合。这是Android Intent Standard Categories.

这些标志是意图对象的可选部分,用于指示Android系统如何启动Activity以及启动Activity后如何对其进行处理等。

Extras

这将在键值对中提供附加信息,这些附加信息应传递给处理该intents(意图)的组件。可以分别使用putExtras()和getExtras()方法设置和读取附加函数。这是Android Intent Standard Extra Data

Flags

这些标志是Intent对象的可选部分,用于指示Android系统如何启动Activity以及启动Activity后如何对其进行处理等。

Sr.NoFlags & 描述
1

FLAG_ACTIVITY_CLEAR_TASK

如果在传递给Context.startActivity()的Intent中进行设置,则此标志将导致在Activity开始之前清除与该Activity关联的所有现有任务。

2

FLAG_ACTIVITY_CLEAR_TOP

如果已设置,并且正在启动的Activity已经在当前任务中运行,那么与其启动该Activity的新,不如关闭该Activity之上的所有其他Activity,并将此意图传递给(现在顶部)将旧Activity作为新的意图。

3

FLAG_ACTIVITY_NEW_TASK

希望呈现"启动器"样式行为的Activity通常使用此标志:它们为用户提供了可以完成的单独操作的列表,否则这些操作完全独立于启动它们的Activity。

Component Name

此可选字段是android ComponentName 对象,代表Activity,Service或BroadcastReceiver类。如果已设置,则将Intent对象传递到指定类的,否则Android使用Intent对象中的其他信息来定位合适的目标。

组件名称由setComponent(),setClass()或setClassName()设置,并由getComponent()读取。

Intents类型

Android支持以下两种类型的意图

Intent

Explicit Intents

Explicit intents(显示意图)将被连接到应用程序的内部,假设您想将一个Activity连接到另一个Activity,无涯教程可以通过显式意图进行引用,下图是通过单击按钮将第一个Activity连接到第二个Activity。

明确intents(意图)(意图)
//通过指定其类名来显式意图
Intent i = new Intent(FirstActivity.this, SecondActivity.class);//启动 TargetActivity
startActivity(i);

Implicit Intents

Implicit Intents(隐式意图)这些意图不会命名目标,并且组件名称的字段保留为空。如-

Intent read1=new Intent();
read1.setActive(android.content.Intent.ACTION_VIEW);
read1.setData(ContactsContract.Contacts.CONTENT_URI);
startActivity(read1);

上面的代码将给出如下所示的输出

Intent

接收到意图的目标组件可以使用getExtras()方法获取源组件发送的数据。例如-

//在代码中的适当位置获取捆绑对象
Bundle extras = getIntent().getExtras();//使用传递的键提取数据
String value1 = extras.getString("Key1");
String value2 = extras.getString("Key2");

以下示例显示了用于启动各种Android内置应用程序的Android Intent意图函数,以下是修改后的主要Activity文件 src/com.example.My Application/MainActivity.java 的内容。

package com.example.saira_000.myapplication;import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {Button b1,b2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);b1=(Button)findViewById(R.id.button);b1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://www.example.com"));startActivity(i);}});b2=(Button)findViewById(R.id.button2);b2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("tel:9510300000"));startActivity(i);}});}
}

以下是 res/layout/activity_main.xml 文件的内容-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Intent Example"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:textSize="30dp" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Learnfk point"android:textColor="#ff87ff09"android:textSize="30dp"android:layout_below="@+id/textView1"android:layout_centerHorizontal="true" /><ImageButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/imageButton"android:src="@drawable/abc"android:layout_below="@+id/textView2"android:layout_centerHorizontal="true" /><EditTextandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/editText"android:layout_below="@+id/imageButton"android:layout_alignRight="@+id/imageButton"android:layout_alignEnd="@+id/imageButton" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Start Browser"android:id="@+id/button"android:layout_alignTop="@+id/editText"android:layout_alignRight="@+id/textView1"android:layout_alignEnd="@+id/textView1"android:layout_alignLeft="@+id/imageButton"android:layout_alignStart="@+id/imageButton" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Start Phone"android:id="@+id/button2"android:layout_below="@+id/button"android:layout_alignLeft="@+id/button"android:layout_alignStart="@+id/button"android:layout_alignRight="@+id/textView2"android:layout_alignEnd="@+id/textView2" />
</RelativeLayout>

以下是 res/values/strings.xml 的内容,以定义两个新的常量-

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">My Applicaiton</string>
</resources>

以下是 AndroidManifest.xml 的默认内容-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.saira_000.myapplication"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><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>

在模拟器中显示内容如下

Android Intent Screen

现在单击启动浏览器按钮,这将跳转到 http://www.example.com 链接,如下所示-

Android Intent Browser

您可以使用启动电话会弹出拨打已经给定电话的界面。

Intents过滤器

您已经了解了如何使用Intent调用另一个Activity。Android OS使用过滤器来确定是哪个Activity执行,您将在文件中使用<intent-filter>元素列出与任何Activity,Service或Broadcast动作,Category和Data类型。

<activity android:name=".CustomActivity"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.VIEW" /><action android:name="com.example.My Application.LAUNCH" /><category android:name="android.intent.category.DEFAULT" /><data android:scheme="http" /></intent-filter></activity>android.intent.action.VIEW 或 com.example.My应用程序来调用此Activity.LAUNCH 操作,前提是其类别为 android.intent.category.DEFAULT 。

<data>    -  元素指定Activity将要调用的数据类型,例如,在上面的示例中,无涯教程的自定义Activity期望数据以“ http://”开头

以下是修改后的主要Activity文件 src/MainActivity.java 的内容。

package com.example.learnfk7.myapplication;import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {Button b1,b2,b3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);b1=(Button)findViewById(R.id.button);b1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://www.example.com"));startActivity(i);}});b2 = (Button)findViewById(R.id.button2);b2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent("com.example.learnfk7.myapplication.LAUNCH",Uri.parse("http://www.example.com"));startActivity(i);}});b3 = (Button)findViewById(R.id.button3);b3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent i = new Intent("com.example.My Application.LAUNCH",Uri.parse("https://www.example.com"));startActivity(i);}});}
}

以下是修改后的主要Activity文件 src/com.example.My Application/CustomActivity.java 的内容。

package com.example.learnfk7.myapplication;import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;/*** Created by LearnFk7 on 8/23/2016.*/
public class CustomActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.custom_view);TextView label = (TextView) findViewById(R.id.show_data);Uri url = getIntent().getData();label.setText(url.toString());}
}

以下是 res/layout/activity_main.xml 文件的内容-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.learnfk7.myapplication.MainActivity"><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Intent Example"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:textSize="30dp" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Learnfk point"android:textColor="#ff87ff09"android:textSize="30dp"android:layout_below="@+id/textView1"android:layout_centerHorizontal="true" /><ImageButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/imageButton"android:src="@drawable/abc"android:layout_below="@+id/textView2"android:layout_centerHorizontal="true" /><EditTextandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/editText"android:layout_below="@+id/imageButton"android:layout_alignRight="@+id/imageButton"android:layout_alignEnd="@+id/imageButton" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Start Browser"android:id="@+id/button"android:layout_alignTop="@+id/editText"android:layout_alignLeft="@+id/imageButton"android:layout_alignStart="@+id/imageButton"android:layout_alignEnd="@+id/imageButton" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Start browsing with launch action"android:id="@+id/button2"android:layout_below="@+id/button"android:layout_alignLeft="@+id/button"android:layout_alignStart="@+id/button"android:layout_alignEnd="@+id/button" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Exceptional condition"android:id="@+id/button3"android:layout_below="@+id/button2"android:layout_alignLeft="@+id/button2"android:layout_alignStart="@+id/button2"android:layout_toStartOf="@+id/editText"android:layout_alignParentEnd="true" />
</RelativeLayout>

以下是 res/layout/custom_view.xml 文件的内容-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><TextView android:id="@+id/show_data"android:layout_width="fill_parent"android:layout_height="400dp"/>
</LinearLayout>

以下是 res/values/strings.xml 的内容,以定义两个新的常量-

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">My Application</string>
</resources>

以下是 AndroidManifest.xml 的默认内容-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.learnfk7.myapplication"><applicationandroid:allowBackup = "true"android:icon = "@mipmap/ic_launcher"android:label = "@string/app_name"android:supportsRtl = "true"android:theme = "@style/AppTheme"><activity android:name = ".MainActivity"><intent-filter><action android:name = "android.intent.action.MAIN" /><category android:name = "android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name="com.example.learnfk7.myapplication.CustomActivity"><intent-filter><action android:name = "android.intent.action.VIEW" /><action android:name = "com.example.learnfk7.myapplication.LAUNCH" /><category android:name = "android.intent.category.DEFAULT" /><data android:scheme = "http" /></intent-filter></activity></application></manifest>

在模拟器中执行结果下如:

Android Custom Activity

当点击 通过View 动作启动浏览器时,显示内容如下:

Android Two Activities

现在,如果您选择浏览器,则Android将启动Web浏览器并打开example.com网站,但是如果您选择Indent filter选项,则Android将启动CustomActivity,如下所示-

Android Custom Activity Runs

Android - Intents/Filters - 无涯教程网无涯教程网提供Android Intent 是要执行的操作的抽象描述。它可以与 startActivity 一起启动Activity...https://www.learnfk.com/android/android-intents-filters.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华硕笔记本摄像头倒置怎么办?华硕笔记本摄像头上下颠倒怎么调整

笔记本电脑相较于台式电脑&#xff0c;更易携带&#xff0c;解决了很大一部分人的使用需求。但是笔记本电脑也存在很多不足&#xff0c;比如华硕笔记本电脑就经常会出现摄像头倒置的错误&#xff0c;出现这种问题要如何修复呢&#xff1f;下面就来看看详细的调整方法。 华硕笔记…

centos安装Nginx配置Nginx

1. 查看操作系统有没有安装Nginx which nginx 2. 使用epel的方式进行安装&#xff08;方法二&#xff09; 先安装epel sudo yum install yum-utils 安装完成后&#xff0c;查看安装的epel包即可 sudo yum install epel 3 开始安装nginx 上面的两个方法不管选择哪个&…

MySQL官网下载安装包

MySQL官网&#xff1a; MySQL MySQL 8.0官网下载地址&#xff1a; MySQL :: Download MySQL Community Server 2023-07-18 MySQL 8.1.0 发布&#xff0c;这是 MySQL 变更发版模型后的第一个创新版本 (Innovation Release) 。 如果在官网中找不到下载位置&#xff0c;点击第二个…

算法面试-深度学习面试题整理(2024.8.29开始,每天下午持续更新....)

一、无监督相关&#xff08;聚类、异常检测&#xff09; 1、常见的距离度量方法有哪些&#xff1f;写一下距离计算公式。 1&#xff09;连续数据的距离计算&#xff1a; 闵可夫斯基距离家族&#xff1a; 当p 1时&#xff0c;为曼哈顿距离&#xff1b;p 2时&#xff0c;为欧…

新建Spring Boot项目

使用IDEA 来创建: 文件-新建-项目 填写项目元数据 选择依赖项 此处可以先选 web-spring web 关于这些依赖项&#xff0c;更多可参考&#xff1a; IDEA创建Spring boot项目时各依赖的说明&#xff08;Developer Tools篇&#xff09;[1] 项目结构介绍 展开项目&#xff0c;此时…

栈和队列(详解)

一、栈 1.1、栈的基本概念 1.1.1、栈的定义 栈&#xff08;Stack&#xff09;&#xff1a;是只允许在一端进行插入或删除的线性表。首先栈是一种线性表&#xff0c;但限定这种线性表只能在某一端进行插入和删除操作。 栈顶&#xff08;Top&#xff09;&#xff1a;线性表允许…

Tensorflow调用训练好的yolov5模型进行推理

文章目录 1、安装TensorFlow-GPU版本1.2、验证是否安装正常 2、将训练好的pt文件转换成onnx文件2.2、什么是Onnx模型和Tensorflow模型2.1、将onnx文件转换成pb文件 1、安装TensorFlow-GPU版本 1、创建虚拟环境python3.8 conda create -n TF2.4 python3.82、进入虚拟环境 conda…

Oracle 本地客户端连接远程 Oracle 服务端并使用 c# 连接测试

这里写自定义目录标题 前言Oracle 客户端安装先决条件下载 Oracle 客户端Oracle 客户端环境变量配置 PL/SQLPL/SQL 下载PL/SQL 配置 配置远程连接tnsnames.ora 文件配置 使用 PL/SQL 连接远程数据库使用 C# 远程访问 Oracle 数据库结语 前言 最近有一个需要使用本地的 Oracle …

即时通讯开发中的性能优化技巧

即时通讯开发在如今的数字化社会中扮演着重要角色&#xff0c;然而&#xff0c;随着用户对即时通讯应用的需求不断增长&#xff0c;开发者们面临着使其应用保持高性能和可靠性的挑战。本文将探讨即时通讯开发中关键的性能优化技巧&#xff0c;帮助开发者们提升应用的用户体验和…

C语言:指针类型的意义

1.指针的类型决定了解引用时访问几个字节 2.指针的类型决定了指针1、-1跳过几个字节 一、指针的类型决定指针解引用时访问几个字节 例如 int 型指针解引用时访问4个字节 char 型指针解引用时访问1个字节 详解代码如下&#xff1a; int b 0x11223344&#xff08;十六进制&…

CSS 滚动容器与固定 Tabbar 自适应的几种方式

问题 容器高度使用 px 定高时&#xff0c;随着页面高度发生变化&#xff0c;组件展示的数量不能最大化的铺满&#xff0c;导致出现底部留白。容器高度使用 vw 定高时&#xff0c;随着页面宽度发生变化&#xff0c;组件展示的数量不能最大化的铺满&#xff0c;导致出现底部留白…

【操作系统】聊聊文件传输的零拷贝、PageCache、异步IO机制

在目前主流的系统中&#xff0c;其实大多数都是数据密集型系统&#xff0c;所以设计数据密集型应用一书非常经典&#xff0c;推荐一读。而大多数遇到的问题都是存储问题。CPU、内存 因为本身的读写速度比较快&#xff0c;所以磁盘就成为了一个性能瓶颈。 针对磁盘优化的技术层…

Harbor 私有仓库迁移

文章目录 一.私有仓库迁移的介绍1.为何要对Harbor 私有仓库的迁移2.Harbor 私有仓库的迁移特点3. Harbor 私有仓库的迁移注意要点 二.私有仓库迁移配置1.源Harbor配置&#xff08;192.168.198.11&#xff09;&#xff08;1&#xff09;接着以下操作查看容器状况及是否可以登录 …

C语言之数组题

目录 1.使用函数实现数组操作 2.冒泡排序 3.三子棋 4.【一维数组】交换数组 5.扫雷 6.概念辨析tips 我又来了&#xff0c;今天是数组题&#xff0c;本人还在补军训真的热&#xff01;&#x1f197; 1.使用函数实现数组操作 2.冒泡排序 3.三子棋 4.【一维数组】交换数组 …

Windows10 系统安装教程

多虚不如少实。 一、 下载安装包 下载前景&#xff1a;网上下载的 windows10 系统一般都有捆绑软件&#xff0c;用户体验不爽&#xff0c;所以建议到 正规渠道下载 windows10 系统的不同版本。另外网上也有一些 windows10 系统的镜像文件 可以直接一键安装&#xff0c;…

科技政策 | 四川省科学技术厅关于发布2024年第一批省级科技计划项目申报指南的通知

原创 | 文 BFT机器人 近日&#xff0c;四川省科学技术厅发布了2024年第一批省级科技计划项目申报指南&#xff1b;其中包括自然科学基金项目、重点研发计划、科技成果转移转化引导计划、科技创新基地&#xff08;平台&#xff09;和人才计划。 01 自然科学基金项目 实施周期 …

YOLOv5引入FasterNet主干网络,目标检测速度提升明显

目录 一、背景介绍1.1 目标检测算法简介1.2 YOLOv5简介及发展历程 二、主干网络选择的重要性2.1 主干网络在目标检测中的作用2.2 YOLOv5使用的默认主干网络 三、FasterNet简介与原理解析3.1 FasterNet概述3.2 FasterNet的网络结构3.2.1 基础网络模块3.2.2 快速特征融合模块3.2.…

打造互动体验:品牌 DTC 如何转变其私域战略

越来越多的品牌公司选择采用DTC 模式与消费者进行互动&#xff0c;而非仅仅销售产品。通过与消费者建立紧密联系&#xff0c;DTC模式不仅可以提供更具成本效益的规模扩张方式&#xff0c;还能够控制品牌体验、获取宝贵的第一方数据并提升盈利能力。然而DTC模式的经济模型比许多…

【C++】—— 异常处理

前言&#xff1a; 本期&#xff0c;我将给大家讲解的是有关 异常处理 的相关知识&#xff01; 目录 &#xff08;一&#xff09;C语言传统的处理错误的方式 &#xff08;二&#xff09;C异常概念 &#xff08;三&#xff09;异常的使用 1、异常的抛出和捕获 1️⃣ 异常的…

【LeetCode-中等题】98. 验证二叉搜索树

文章目录 题目方法一&#xff1a;BFS 层序遍历方法二&#xff1a; 题目 方法一&#xff1a;BFS 层序遍历 利用层序遍历 拿到每一个节点 并且给每一个结点配备一个最大值和最小值的队列 只要节点在最大值和最小值之间就满足二叉搜索树的条件 public boolean isValidBST(TreeNo…