学习了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:
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:
@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);
}
});
}}
效果:
这次就先到这里