使用intent传输数据

使用 Intent 在 Android 组件之间传输数据

——从入门到最佳实践(附完整 Java Demo)

作者:Kimi

日期:2025-09-04


  1. 为什么用 Intent?

在 Android 中,Activity、Service、BroadcastReceiver 这三大组件通常运行在不同的进程(或线程)里。

系统提供了一种统一的“邮差”机制——Intent,让我们可以在组件之间传递消息与数据,而无需关心底层 Binder、AIDL 等复杂细节。

一句话:Intent 就是 Android 世界的“快递单”。


  1. Intent 能传什么?

数据类型 API 备注
基本类型/基本数组 putExtra(String, int/boolean/...) 内部走 Bundle
String/CharSequence putExtra(String, String)
实现了 Serializable putExtra(String, Serializable) 简单但性能一般
实现了 Parcelable putExtra(String, Parcelable) 推荐,高效
Bundle putExtras(Bundle) 可一次性打包
Uri setData(Uri) 适合文件/网页


  1. 代码

Mainactivity中

‘’‘java

button5.setOnClickListener(new View.OnClickListener() {
//使用intent传输数据
@Override
public void onClick(View v) {
String data = "Hallo,action2";
Toast.makeText(MainActivity.this,"哎哟,你干嘛",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this,MainActivity2.class);
intent.putExtra("extra_data",data);
startActivity(intent);
}
});
'''

MainActivity2中

”’java

Intent intent = getIntent();
String data = intent.getStringExtra(“extra_data”); //字符串,整型,布尔值都可以传,但要注意使用正确的函数
Log.d(“MainActivity2”,data);

”’

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇