Android 显示Intent和隐示Intent

数字锁相环的原理与FPGA实现 数字锁相环是锁相环电路的全数字实现。锁相环电路能够实现对输入信号的相位进行跟踪,进而在噪声中提取纯净的有用信号。以上就是今天要讲的内容,本文简单地介绍了锁相环的原理,然后,在Vivado仿真平台上,通过verilog做仿真验证。最终仿真结果能够实现锁定,但锁定时间较长,表明参数仍可做调整。 阅读详情
Android 显示Intent和隐示Intent
效果图
显示Intent                 隐示Intent


显示Intent和隐示Intent:

显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。

隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。

Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent 一般可被用于启动活动、启动服务、以及发送广播等场景,由于服务、广播等概念你暂时还未涉及,那么本章我们的目光无疑就锁定在了启动活动上面。

一.显式Intent

Intent 有多个构造函数的重载,其中一个是 Intent(Context packageContext, Class<?> cls)。这个构造函数接收两个参数,第一个参数 Context 要求提供一个启动活动的上下文,第二个参数 Class 则是指定想要启动的目标活动,通过这个构造函数就可以构建出 Intent 的“意图”。然后我们应该怎么使用这个 Intent 呢?Activity 类中提供了一个 startActivity()方法,这个方法是专门用于启动活动的,它接收一个 Intent 参数,这里我们将构建好的 Intent 传入 startActivity()

方法就可以启动目标活动了。

一般情况下,一个Android应用程序中需要多个屏幕,即是多个Activity类,并且在这些Activity之间进行切换通过Intent机制来实现的。在同一个应用程序中切换Activity时,我们通常都知道要启动的Activity具体是哪一个,因此常用显式的Intent来实现的。

下面的例子是在同一应用程序中MainActivity启动SecondActivity,下面的代码中,主要是为“转到SecondActivity”按钮添加了OnClickListener,使得按钮被点击时执行onClick()方法,onClick()方法中则利用了Intent机制,来启动SecondActivity。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.chenxiaoyang.intent.MainActivity">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/app_name"
        android:textSize="30dp"/>

    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="转到SecondActivity"/>
</LinearLayout>

MainActivity

public class MainActivity extends AppCompatActivity {
    private Button mButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //实例化Button
        mButton = (Button) findViewById(R.id.btn);
        //响应按钮btn事件
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //显示方式声明Intent,直接启动SecondActivity
                Intent it = new Intent(MainActivity.this, SecondActivity.class);
                //启动Activity
                startActivity(it);
            }
        });
    }
}

activity_second.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_second"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.chenxiaoyang.intent.SecondActivity">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/app_name_second"
        android:textSize="30dp"/>

    <Button
        android:id="@+id/secondBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="返回"/>
</LinearLayout>

SecondActivity

public class SecondActivity extends AppCompatActivity {
    private Button mButtonSecond;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        //实例化Button
        mButtonSecond = (Button) findViewById(R.id.secondBtn);
        //响应按钮secondBtn事件
        mButtonSecond.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //显示方式声明Intent,直接启动MainActivity
                Intent intent = new Intent(SecondActivity.this, MainActivity.class);
                //启动Activity
                startActivity(intent);
            }
        });
    }
}

AndroidManifest.xml清单文件

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

</activity>
<activity android:name=".SecondActivity">
</activity>

二.隐示Intent

相比于显示Intent,隐示Intent则含蓄了许多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息,然后交由系统去分析这个Initent,并帮我们找出适合的活动去启动。

什么叫做合适的活动呢?简单来说就是可以响应我们这个隐式 Intent 的活动,那么目前SecondActivity 可以响应什么样的隐式 Intent 呢?额,现在好像还什么都响应不了,不过很快就会有了。

新建一个SecondActivity类,通过在<activity>标签下配置<intent-filter>的内容,可以指定当前活动能够响应的 action和 category,打开 AndroidManifest.xml,添加如下代码: 

<activity android:name=".SecondActivity">
    <intent-filter>
        <action android:name="com.example.activitytest.ACTION_START"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

activity_main..xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.chenxiaoyang.initent.MainActivity">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/app_name"
        android:textSize="30dp"/>

    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="转到SecondActivity"/>
</LinearLayout>

在<action>标签中我们指明了当前活动可以响应 com.example.chenxiaoyang.initent.ACTION_START 这个 action,而<category>标签则包含了一些附加信息,更精确地指明了当前的活动能够响应的 Intent 中还可能带有的 category。只有<action>和<category>中的内容同时能够匹配上 Intent 中指定的 action 和 category 时,这个活动才能响应该 Intent。

修改 MainActivity 中按钮的点击事件,代码如下所示: 

public class MainActivity extends AppCompatActivity {
    private Button mButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //实例化button
        mButton= (Button) findViewById(R.id.btn);
        // 响应按钮Button事件
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 实例化Intent
                Intent intent = new Intent();
                //设置Intent的Action属性  
                intent.setAction("com.example.chenxiaoyang.initent.ACTION_START");
                // 启动Activity 
                startActivity(intent);
            }
        });
    }

可以看到,我们使用了 Intent 的另一个构造函数,直接将 action 的字符串传了进去,表明我们想要启动能够响应 com.example.chenxiaoyang.initent.ACTION_START 这个 action 的活动。那前面不是说要<action>和<category>同时匹配上才能响应的吗?怎么没看到哪里有指定category 呢?这是因为 android.intent.category.DEFAULT 是一种默认的 category,在调用startActivity()方法的时候会自动将这个 category 添加到 Intent 中。重新运行程序,在 FirstActivity 的界面点击一下按钮,你同样成功启动 SecondActivity了。不同的是,这次你是使用了隐式 Intent 的方式来启动的,说明我们在<activity>标签下配置的 action 和 category 的内容已经生效了!每个 Intent 中只能指定一个 action,但却能指定多个 category。目前我们的 Intent 中只有一个默认的 category,那么现在再增加一个。

修改MainActivity中按钮的点击事件,代码如下所示: 

//新添加的Category
intent.addCategory("com.example.chenxiaoyang.initent.MY_CATEGORY");


可以调用 Intent 中的 addCategory()方法来添加一个 category,这里我们指定了一个自定义的 category,值为 com.example.activitytest.MY_CATEGORY。

现在重新运行程序,在MainActivity的界面点击一下按钮,你会发现,程序崩溃了会有以下错误


错误信息中提醒我们,没有任何一个活动可以响应我们的 Intent,为什么呢?这是因为我们刚刚在 Intent 中新增了一个 category,而 SecondActivity 的<intent-filter>标签中并没有声明可以响应这个 category,所以就出现了没有任何活动可以响应该 Intent 的情况。现在我们在<intent-filter>中再添加一个 category 的声明,如下所示: 

<category android:name="com.example.chenxiaoyang.initent.MY_CATEGORY"/>

再次运行程序就会发现一切都正常了


使用隐式 Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动,这使得 Android 多个应用程序之间的功能共享成为了可能。比如说你的应用程序中需要展示一个网页,这时你没有必要自己去实现一个浏览器,而是只需要调用系统的浏览器来打开这个网页就行了。 

这里我们首先指定了 Intent 的 action 是 Intent.ACTION_VIEW,这是一个 Android 系统内置的动作,其常量值为 android.intent.action.VIEW。然后通过 Uri.parse()方法,将一个网址字符串解析成一个 Uri 对象,再调用 Intent 的 setData()方法将这个 Uri 对象传递进去。

重新运行程序,在 FirstActivity 界面点击按钮就可以看到打开了系统浏览器 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_second"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.chenxiaoyang.initent.SecondActivity">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/app_name_second"
        android:textSize="30dp"/>

    <Button
        android:id="@+id/secondBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="跳转网页"/>
</LinearLayout>
SecondActivity
public class SecondActivity extends AppCompatActivity {
    private Button mButtonSecond;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        //实例化Button
        mButtonSecond= (Button) findViewById(R.id.secondBtn);
        // 响应按钮Button事件
        mButtonSecond.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //实例化Intent
                Intent intent = new Intent(Intent.ACTION_VIEW);
                //指定Intent跳转网页
                intent.setData(Uri.parse("http://www.baidu.com"));
                // 启动Activity
                startActivity(intent);
            }
        });
    }
}

上述的代码中,可能你会对 setData()部分感觉到陌生,它接收一个 Uri 对象,主要用于指定当前 Intent 正在操作的数据,而这些数据通常都是以字符串的形式传入到 Uri.parse()方法中解析产生的。 

手把手拆解UCIe协议层:从Raw Mode到Flit Mode,数据包到底经历了什么? 本文深入解析UCIe协议层的数据包处理机制,从Raw Mode到Flit Mode的三大变体(Standard 256B、68B-Enhanced、Latency-Optimized),详细揭示数据包在不同模式下的封装与转换过程。通过工程师视角,展示协议层如何实现多模式动态切换、错误恢复及与D2D Adapter的协同设计,为芯片级互连技术提供实践指导。 阅读详情

相关推荐

【UE4】PMC程序化生成戈德堡多面体详解(六边形星球)

游戏实机录屏 【魔方超新星】30天独立开发PCG Minigame《盖亚计划》作品展示,尚有不足,大佬轻喷 目录 游戏实机录屏 一、简介 二、设计思路 2.1 Disco Ball 2.2 Fibonacci Sphere 2.3 Goldberg Polyhedron 2.3.1 细分+对偶(最终方案) 2.3.2 对偶+截角(更优) 三、参考文献 一、简介 在制作Minigame初期,游戏风格想模仿《文明6》与《Polygonal Planet Proje...

ColorGalaxy 5928

显示Intent和隐式Intent的区别

显示Intent和隐式Intent的区别 1:都是用来在一个activity中启动另外一个activity 2:显示Intent直接指明要启动activity的定义,即activity.class;隐式intent通过在androidmanifest.xml配置action来隐式的启动activity 3:显示intent不可以跨应用启动activity;隐式intent是可

PWJiang的博客 4725

别再硬编码了!Flowable工作流动态审批人配置全解析(Spring Boot集成版)

本文深入解析Flowable工作流在Spring Boot中的动态审批人配置技术,通过角色、部门等变量实现审批流程的灵活设计。文章详细介绍了架构原理、前端配置映射、动态候选组解析及查询优化方案,帮助企业提升审批流程的适应性和维护效率。

weixin_30919571的博客 133

隐式Intent与显示Intent的区别

显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,去调用Intent.setComponent()、Intent.setCla...

nity_的博客 1511

WebRTC TURN协议初识及turnserver实践

但是TURN协议对服务器有很高的依赖,服务器在带宽和集群上有很大的压力,所以TURN协议通常是当作ICE协议中的一部分来使用。ChannelData message不使用STUN头部,而使用一个4字节的头部,包含了一个称之为信道号的值(channel number),每一个使用中的信道号都与一个特定的peer绑定,即作为对等端地址的一个记号。该relay地址是个公网地址,可以看作是客户端A在公网上的一个代理,任何想要联系A的客户端,只要将数据发送到A的relay地址就可以了。

yinshipin007的博客 566

双有源桥DC-DC变换器:原理、软开关与移相控制深度解析

隔离型DC-DC变换器是电力电子系统的核心部件,通过高频变压器实现电气隔离与电压匹配,保障系统安全与灵活适配。其工作原理基于功率半导体器件的开关动作,通过调制策略控制能量传输。该技术的核心价值在于实现高效、高功率密度的电能转换,并支持双向能量流动,这对于提升系统整体能效和运行灵活性至关重要。在新能源储能、电动汽车V2G及数据中心供电等场景中,双向能量流成为刚性需求,推动了如双有源桥等先进拓扑的应用。本文聚焦于双有源桥这一实现高效双向隔离变换的“明星”方案,深入剖析其利用移相控制实现软开关的机理。通过分析谐振

weixin_34195142的博客 378

Android入门之Intent在Activity中的用法--显示Intent

Android入门之Intent在Activity中的用法--显示Intent

派大星子的博客 1704

置顶必读(1) |《滚雪球学SpringBoot 3.x》· 高质量专栏介绍,你值得拥有!

《滚雪球学SpringBoot 3.x》 并不是普通的技术讲解合集,它是专为开发者精心设计的系统化学习路径。通过不断“滚动学习”,我们将带领你从基础入门到高阶应用,从理解每一行代码到设计和优化大规模分布式系统,最终帮助你成长为一位精通 spring架构 的工程师。

**My Coding Family** 12万+

Android初学之二:显示Intent和隐示Intent

一、显式Intent 1、示范如何实现活动跳转 在按钮的点击事件里: a、调用构造函数Intent(Context packageContext,Class<?>cls),第一参数是上下文,第二个参数是想要启动的目标活动 b、将上面构建的好的intent传入startActivity(),就可以启动目标活动了 二、隐式Intent 隐式Intent要制定一系列的action和category,调用时需要相对应显应,制定的位置是在目标活动下,被调用的位置是当前的上下文 示范如何实现活动跳

My_Yes的博客 1716

k3s cpu load 和 cpu 使用率很高处理

在这期间还执行过缩减 sqlite3 数据库操作,不知道是哪个操作起了作用,亦或者两个操作有影响,删除 ns 促进了数据库缩减的执行(没删除之前数据库缩减不成功,db文件大小未减小,但不确定是不是执行完 VACUUM 之后需要时间 db 文件才会减小,或者是因为删除了 ns 才导致其减小),再或者是两个操作都起了作用。kubectl get ns 发现有很多卡在删除状态的 ns。k3s 官网关于这个问题的谈论。执行如下脚本删除掉这些 ns。有人详细说过这个问题。

weixin_40548182的博客 682

自主探索型AI Agent:LLM驱动的好奇心与学习动机

随着人工智能技术的飞速发展,传统的AI系统往往依赖于预设的规则和大量的标注数据,其自主学习和适应新环境的能力有限。自主探索型AI Agent旨在打破这种局限,能够在复杂、未知的环境中自主地进行探索、学习和决策。本文的目的是深入研究在大语言模型(LLM)驱动下,AI Agent如何产生好奇心和学习动机,以及如何实现自主探索的能力。范围涵盖了核心概念、算法原理、数学模型、项目实战、应用场景等多个方面,为读者提供一个全面的技术视角。本文将按照以下结构进行阐述:首先介绍相关背景知识,包括目的、读者和文档结构;

大模型应用工坊 997

Android开发学习笔记:浅谈显示Intent和隐式Intent

Intent寻找目标组件的两种方式: ·       显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。 ·       隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。 一.显式Intent    一般情况下,一个Android应

不一样的焰火 460

【OpenClaw从入门到精通】第11篇:OpenClaw 2026多模态实战全攻略:OCR/语音/图像自动化(附完整代码+双部署方案)

本文聚焦OpenClaw 2026版核心升级的多模态能力,从底层架构原理到实操落地全流程拆解。先解析“统一指令解析+多工具适配器”的核心设计逻辑,再提供阿里云规模化部署(适合批量任务)与本地汉化版部署(适合隐私数据调试)的详细步骤,含依赖安装、配置验证完整操作;随后落地三大高频实战场景——OCR合同信息结构化提取、会议录音自动转写纪要、电商商品图片智能打标,每个场景均提供可直接运行的完整代码、执行结果演示及流程说明;最后补充多模态任务避坑指南、性能优化技巧与成本控制方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2611

Android显示Intent和隐示Intent之间的区别?

大家直接打开下面的链接,便可了解显示Intent和隐示Intent之间的区...

WWW.齐麟的博客.COM 1598

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android 使用显示 和隐示 intent 多个活动之间穿梭(以后补充)

显示intent (以后补充) 隐示intent (以后补充)

qq_43186950的博客 220

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

安卓APP开发,从一个页面跳转到另一个页面的两种方式(intent 意图)

基于android-APP开发的页面跳转的两种方式(intent 意图) 一般来说,我们进行移动端安卓的开发是一道复杂的工序,因为我们需要的不止是一个页面,通常是很多页面的交互进行,所以,从一个页面跳转到另一个页面是安卓开发很重要的,也必须掌握的技能,本次博客将会讲解利用不同的Intent意图方式进行页面的跳转。 利用intent意图进行跳转,首先我们得对intent进行实例对象,如下: Inte...

qq_42451251的博客 8807

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android studio各个活动组件之间转换的桥梁------Intent,显示的,隐示的,不同程序之间隐示的

Intent:它是各个活动组件之间进行转换交互的重要方式,不仅可以指明当前组件想执行的活动,也可以在不同活动之间传递数据,也就是不同组件之间传递数据。 在此我们介绍三种: 1.本程序的显示Intent 2.本程序的隐示Intent 3.不同程序之间的Intent 首先 我们来介绍第一种显示的Intent,由于按钮事件我们以前已经介绍过,不在赘述,我们在这里定义一个按钮,如果点击 按钮...

逆水行舟,不进则退 781

Intent 与 IntentFilter 详解

在前面的章节我们介绍到了 Activity、Service、BroadCastReceiver,这三者的启动、数据的传递都用到了 Intent,足以可见 Intent 在 Andorid 的重要性。Intent 这个英语单词的本意是“目的、意向、意图”。Intent 是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过 Intent,你的程序可...

weixin_33947521的博客 589

【Android】——Intent总结

Intent(又被称为意图)???——》不是组件,而是组件之间进行交互的一种方式;???——》指明当前组件要执行的动作,在不同组件之间进行传递数据; Intent机制???——》一种运行绑定机制;   Intent分类???——》 显示Intent???——》通过Component可以直接设置需要调用的Activity类,可以唯一确定一个Activity,意图特别明确;???——》直接...

YHJ 1828

【Demo 0007】Android 信使(Intent)

本章学习要点: 1. 了解Intent功能作用; 2. 掌握Intent在显示和隐示基本使用方法及规则; 转载于:https://www.cnblogs.com/ztercel/p/3434115.html...

weixin_30314813的博客 73

Activity系列--Activity跳转

本节介绍了Activity的隐示和显示跳转;跳转到Activity时候传递数据给Activity;目标Activity返回数据给启动Actiivty;最后介绍了两个Activity跳转的时候 生命周期的变化。

niurenwo的专栏 3万+

Android学习笔记(四)Activiy学习——Intent,context

Intent Intent分为显示和隐示 显示intent的创建就是,new Intent(MainActivity.this,otherActivity.class); 隐示intent 在xml文件中指明category为默认,并填写name <activity android:name=".Main2Activity" >

卵毛三曲半的博客 596

Intent(页面跳转)( 数据传输)

显示Intent页面跳转活动 隐示Intent页面跳转活动(红不可改,黄可改)

qq_55026151的博客 209

安卓四大组件-Activity

四大组件-Activity:是一个页面并且可以响应进行交互。。例如:打电话页面 相关API: 一般的启动Activity:startActivity(Intent intent) 结束当前的Activity:finish() 获得启动的Activity的Intent :getIntent() Intent(意图):是Activity、services和broadcastReceiver的信使。【携带数据】 显示Intent:明确指定的目标组件的Intent 创建对象:Intent(Context c

mn08290125的博客 348

Activity之间的跳转

如果要实现Activity之间的跳转,需要一个Intent类,来帮助我们,Intent类是Android程序中各组件的进行交互的一种重要方式,它不仅可以进行跳转还可以在跳转的过程中传值。 Intent类 Intent类分为2种:显示Intent和隐示Intent 显示Intent Intent intent=new Intent(this.getApplicationCon...

Wyndem的博客 1083

Activity之间的跳转(笔记)

自己学习笔记

SakuraMG的博客 2059
上一篇: Android 自定义CheckBox复选框
下一篇: Android面试题及答案(详细整理)
Android开发-CXY
博客等级 码龄10年 33粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值