1 如何创建一个新的Activity?
补充:Activity用来多页面的开发(一个Activity就代表一个页面)
【1】Android的四大组件,都要在清单文件中配置
【2】如果你想让你的应用有多个启动图标,你的Activity需要在清单里面这样配置:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
【3】Activity下的label属性和icon属性可以和application节点的属性不一样,默认用application节点下的属性
【4】一个Android应用,我们一般就配置一个启动图标就可以,看见的其他界面都是从第一个界面跳转过去的
在介绍创建新的Activity之前,首先介绍一下隐式意图和显示意图!!!
2 隐式意图
定义:通过指定一组动作或者数据开启Activity
通常指的是开启系统自带的一些界面,比如拨打电话界面等等。
3 显示意图
定义:通过指定具体的包名和类名
通常指的是开启我们自己定义的一些Activity(界面)。
总结2和3:(1)开启自己应用的界面用显示意图。(2)开启其他应用(系统应用)的时候用隐式意图,比如电话拨号器。(3)显示意图安全一些
下面这个案例就是对创建Activity、隐式意图以及显示意图进行一个演示(在主界面中添加三个按钮,第一个按钮是实现跳转到拨打电话的页面,第二个按钮跳转到自己定义的一个界面,第三个按钮是用简单的方式跳转到自己定义的一个界面,下面是三个按钮的具体实现):
public void click1(View v){
//[1]定义一个意图对象
Intent intent = new Intent();
//[2]设置拨打动作
intent.setAction(Intent.ACTION_CALL);
//[3]设置拨打数据
intent.setData(Uri.parse("tel:"+119));
//[4]开启意图
startActivity(intent);
}
public void click2(View v){
//[1]创建意图对象 意图就是我要完成一件事
Intent intent = new Intent();
//[2]设置跳转动作
intent.setAction("com.itheima.testactivity");//与清单文件里的配置要一致
//[3]设置category
intent.addCategory("android.intent.category.DEFAULT");//与清单文件里的配置要一致
// //[4]设置拨打数据
// intent.setData(Uri.parse("itheima:"+110));
// //[5]设置数据类型
// intent.setType("aa/bb");
//[6]注意小细节 如果setdata方法和settype方法一起使用的时候 应该使用下面这个方法
intent.setDataAndType(Uri.parse("itheima:"+110), "aa/bb");//与清单文件里的配置要一致
//[4]开启意图
startActivity(intent);
}
//点击按钮 简单方式 跳转到Test3Activity
public void click3(View v){
//[1]创建意图对象 意图就是我要完成一件事
Intent intent = new Intent(this,Test3Activity.class);
//[2]设置包名和类名 packageName(当前应用的包名)
//intent.setClassName("com.itheima.newactivity", "com.itheima.newactivity.Test3Activity");
//[3]开启意图
startActivity(intent);
}