在我们应用App时,页面是怎么进行跳转的呢?其实这些都是靠Android的核心组件Intent来实现的。
Intent
Intent负责对应用中的一次操作的动作、涉及的数据、附加数据进行描述,Android则根据此Intent的描述,负责找到相应的组件,然后将Intent传递给调用的组件,完成组件之间的调用。由于Intent可以方便地启动Activity和Service组件,从而将系统中互相独立的组件连接成可以互相通信的整体。根据Activity的启动方式,Intent支持显示启动和隐式启动。
1.显示启动
代码:Intent intent=new Intent(MainActivity.this,SubActivity.class);//(定义一个Activity)
startActivity(intent);//启动Activity
以上代码的作用是从MainActivity这个类跳转到SubActivity类中。
2.隐式启动
代码:Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse("content://com.android.contacts/contacts"));
startActivity(intent);
以上代码是用了Intent的另一个构造函数,它没有指定对应的组件,这需要根据Android系统断定。其作用是打开系统中的通讯录界面,其中Uri的意思是统一资源标识符。
优点:不必与某个组件耦合,降低Android系统组件之间的耦合度,有利于组件分离,并允许替换应用程序中的元素,强调Android组件的可复用性。
PS:当显示启动和隐式启动同时存在时,隐式启动会被忽略。
网友评论