组件通信——Intent简单使用(一)

本文详细介绍了Android中的Intent组件,包括Intent的概念及其如何连接Android组件。通过示例代码展示了显式启动和隐式启动Activity的方法,为开发者提供了实践指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习了Android中一个很重要的组件——Intent

Intent 是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息

一、启动Activity

两种方法(显式与隐式)

显:

Intent  intent  = new Intent( IntentDemo.this , ActivityToStart.class) ;
startActivity (intent);

具体步骤:1、创建工程

2、创建一个新的.java文件和布局文件


3、在AndroidManifest.xml中注册ActivityToStart.java


4、两个布局文件代码:

activity_ main : 


activity2_main:


5、逻辑代码:

ActicityToStart.java:

public class ActivityToStart extends Activity {
 Button button1;
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity2_main);
  Button button = (Button)findViewById(R.id.button1);
  button.setOnClickListener(new OnClickListener(){
   public void onClick(View view){
    Intent intent = new Intent(ActivityToStart.this, MainActivity.class);
    startActivity(intent);
   }
  });
}}


MainActivity.java:

public class MainActivity extends Activity {
 Button button1;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  Button button = (Button)findViewById(R.id.button1);
  button.setOnClickListener(new OnClickListener(){
   public void onClick(View view){
    Intent intent = new Intent(MainActivity.this, ActivityToStart.class);
    startActivity(intent);
   }
  });

然后就可以运行了

以下是效果(太不美观):





隐式启动:不需要指明需要启动哪一个Activity,而由Android系统来决定,有利于使用第三方组件,隐式启动Activity时,Android系统在应用程序运行时解析Intent,并根据一定的规则对Intent和Activity进行匹配,使Intent上的动作、数据与Activity完全吻合

示例代码:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com"));
startActivity(intent);

MainActivity.java:

public class MainActivity extends Activity {
 Button button1;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   Button button = (Button)findViewById(R.id.button1);
   button.setOnClickListener(new OnClickListener(){
    public void onClick(View view){
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com"));
     startActivity(intent);
    }
   });
}}


效果:






这次就先到这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值