1,什么是Activity
-
Activity是一个Android的应用组件,它提供屏幕进行交互。
-
每个Activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满哦屏幕也可以小于屏幕并浮动在其他窗口之上。
-
一个应用通常是由多个彼此松散联系的Activity组成,一般会指定应用中的某个Activity为主活动,也就是说首次启动应用时给用户呈现的Activity。将Activity设为主活动的方法,
2,Activity跳转流程:
【1】当然Activity之间可以进行互相跳转,以便执行不同的操作。每当新Activity启动时,旧的Activity便会停止,但是系统会在堆栈也就是返回栈中保留该Activity。
【2】当新Activity启动时,系统也会将其推送到返回栈上,并取得用户的操作焦点。当用户完成当前Activity并按返回按钮是,系统就会从堆栈将其弹出销毁,然后恢复前一Activity当一个Activity因某个新Activity启动而停止时,系统会通过该Activity的生命周期回调方法通知其这一状态的变化。
【3】Activity因状态变化每个变化可能有若干种,每一种回调都会提供执行与该状态相应的特定操作的机会
3,创建Activity
【1】要创建Activity,必须创建Activity的子类。
【2】在子类中实现Activity在生命周期的各种状态之间转变时例如创建 Activity、停止 Activity、恢复 Activity 或销毁 Activity 时)系统调用的回调方法。
【3】Android Studio中新建项目默认创建的代码为
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
-
onCreate()方法:必须实现的方法,系统在创建Activity时调用此方法。您应该在实现内初始化Activity的必要组件,必须在此方法调用setContentView(),用来定义Activity用户界面布局(XML文件)
4,在清单文件中声明Activity
【1】每次新建的Activity都需要在AndroidManifest文件中添加如下内容,并将元素添加为元素的子项
-
如下面代码所示需要在AndroidManifest文件中添加以下内容
<application>
....
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
....
</application>
5,启动Activity
【1】该部分用于描述如何启动Activity。作为主活动,在应用开启的时候就会系统创建,而用户不仅仅只需要主活动界面,用户需要界面的跳转,而界面的跳转也是其他活动界面(Activity)启动。
-
在该部分仅仅只提及利用显示Intent方式跳转活动,代码如下
Intent intent = new Intent(this, SignInActivity.class);
startActivity(intent);
//this,为本Acitivity的上下文;第二个参数为你要跳转的目的Activity.
6,结束Activity
通过调用Activity的finish()方法来结束Activity还可以通过调用finishActivity()结束之前启动的活动
【1】关于finishActivity()的理解:
-
你通过 MainActivity 来启动 ActivityA (使用 startActivityForResult 方法),那么你在 MainActivity 这个类中需要重写 onActivityResult() 这个方法,
然后,你可以在 onActivityResult() 中通过 finishActivity() 方法去结束掉 ActivityA
更多关于Activity 详解:https://blog.youkuaiyun.com/cricket_7/category_9571387.html