activity就是一个可视化的用户界面,负责创建一个用户屏幕,放置ui控件和用户交互
用法:
1创建activity类
2在androidmainfest.xml中注册
3设置布局文件(可选)
实际操作:
注册:
<activity android:name=".myactivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
新建类:
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
}
新建layout
Androidmainfest.xmL
作用:描述程序基本属性
应用需要的权限信息
应用组件的实现类
xmlns:xml的namespace
icon:桌面图标
label:桌面显示的应用名称
intent-filter:用途过滤
<action android:name="android.intent.action.MAIN"/> //是程序的主activity
<category android:name="android.intent.category.LAUNCHER"/> //activity图标将显示在桌面上
Activity的启动方法:
intent:不同组件之间通信的媒介
启动方法:
显示启动:明确制定启动的activity
1.指定需要启动的activity的class
2.指定包名.类名
3.componentName
隐式启动:设置启动过滤器
1构造时传入actionName
2构造完成后设置actionname
ps:注释快捷键 ctrl+shift+/
显示启动:
//跳转到第二个activity
//显示启动第一种
//Intent intent=new Intent();
//intent.setClass(myactivity.this,secondactivity.class);
//startActivity(intent);
//显示启动第二种
/*Intent intent=new Intent();
intent.setClassName(myactivity.this,"com.example.administrator.activity1.secondactivity");
startActivity(intent);*/
//显示启动第三种
/*Intent intent=new Intent();
ComponentName componentName=new ComponentName(myactivity.this,secondactivity.class);
intent.setComponent(componentName);
startActivity(intent);*/
隐世启动:
<activity android:name=".secondactivity">
<intent-filter>
<action android:name="abc.secondactivity"></action>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
//隐世启动
//隐世第一种
/*Intent intent=new Intent("abc.secondactivity");
startActivity(intent);*/
//隐世第二种
Intent intent=new Intent();
intent.setAction("abc.secondactivity");
startActivity(intent);
关闭activity:调用finish方法
//关闭自己
secondactivity.this.finish();