⒈简介
我们在App上看到的每一个界面它就需要一个Activity,但Activity并不等同于界面,只是界面需要Activity。
Fragment是碎片化的界面,每一个Activity可以包含很多个Fragment,Fragment不可以作为独立存在的,它必须依赖于Activity,它是受Activity管理的。
⒉Activity的创建三部曲
1.新建类继承Activity或其子类
package cn.coreqi.activity;
import androidx.appcompat.app.AppCompatActivity;
public class TestActivity extends AppCompatActivity {
}

2.在AndroidManifest中声明
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.coreqi.helloworld2">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name="cn.coreqi.activity.TestActivity"></activity>
<activity android:name=".ButtonActivity"></activity>
<activity android:name=".TextViewActivity" /> <!-- 注册 activity -->
<activity android:name=".MainActivity"> <!-- .前面默认会加包名,上面声明了包名,此处为cn.coreqi.helloworld2.MainActivity -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- 设置当前activity为应用启动的第一个activity -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
3.创建layout文件(布局文件)并在Activity的onCreate中设置。
在res/layout下新建布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
并且在Activity的onCreate方法中设置
package cn.coreqi.activity;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import cn.coreqi.helloworld2.R;
public class TestActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
}
一些小技巧
设置Activity标题头
<activity android:name=".MainActivity"
android:label="启动页"> <!-- .前面默认会加包名,上面声明了包名,此处为cn.coreqi.helloworld2.MainActivity -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- 设置当前activity为应用启动的第一个activity -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
取消标题头(单个Activity)
<activity android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"> <!-- .前面默认会加包名,上面声明了包名,此处为cn.coreqi.helloworld2.MainActivity -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- 设置当前activity为应用启动的第一个activity -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
取消标题头(全局Activity)
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
设置Activity的屏幕方向
<activity android:name="cn.coreqi.activity.TestActivity"
android:screenOrientation="portrait"></activity><!--竖屏显示-->
设置Activity的启动模式
<activity android:name="cn.coreqi.activity.TestActivity"
android:launchMode="singleInstance"></activity>
⒊Activity的生命周期
一个Activity被部署到安卓应用之后跟随应用进程运行,它会在不同的状态之间进行切换,并且在切换状态的同时也会回调相应的方法,我们把Activity不同的状态称之为Activity的生命周期。

当点击进入Activity时,执行三个Activity生命周期方法,分别是onCreate、onStart、onResume,点击返回按钮时,执行三个生命周期方法,分别是onPause(暂停)、onStop(停止)、onDestroy(摧毁)。
来源:https://www.cnblogs.com/fanqisoft/p/12165145.html