组件通信——Intent简单使用

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

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

一、启动Activity

两种方法(显式与隐式)

扫描二维码关注公众号,回复: 1506976 查看本文章

显:

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);
    }
   });
}}


效果:






这次就先到这里

猜你喜欢

转载自blog.csdn.net/qq_40783693/article/details/80594622
今日推荐