zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android应用开发(二):Activity生命周期剖析以及如何启动新的Activity或网页

Android网页应用开发 如何 启动 以及 剖析
2023-09-14 08:57:58 时间
p 本文讲述组件 span >

本文讲述组件Activity的相关知识,主要包括如何启动一个Activity、如何打开一个网页,最后解析Activity的生命周期相关知识。


1、如何启动一个Activity


(1)、新建一个Activity

要启动一个新的Activity,就必须先创建一个新的Activity,Android Studio可以直接创建Activity而不需要一行一行的敲代码,这就是前面所说的采用Android Studio平台的好处之一。

具体代码如下:

package edu.fred.hqu.androidactivity;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

public class AnotherAty extends AppCompatActivity {

 @Override

 protected void onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity_another_aty);

 @Override

 public boolean onCreateOptionsMenu(Menu menu) {

 // Inflate the menu; this adds items to the action bar if it is present.

 getMenuInflater().inflate(R.menu.menu_another_aty, menu);

 return true;

 @Override

 public boolean onOptionsItemSelected(MenuItem item) {

 // Handle action bar item clicks here. The action bar will

 // automatically handle clicks on the Home/Up button, so long

 // as you specify a parent activity in AndroidManifest.xml.

 int id = item.getItemId();

 //noinspection SimplifiableIfStatement

 if (id == R.id.action_settings) {

 return true;

 return super.onOptionsItemSelected(item);

}

Android Studio的好处还在于,Android Studio可以在layout和AndroidManifest.xml中将新建的Activity所需要的代码自动生成,如下图所示:


(2)、加入Button

然后,我们在activity_main.xml中加入一个Button,旨在点击该按键可以进入另一个Activity,代码如下:

 Button

 android:layout_width="wrap_content"

 android:layout_height="wrap_content"

 android:text="点击启动一个界面"

 android:id="@+id/btnStartAnotherAty1"

 android:layout_below="@+id/textView"

 android:layout_alignParentLeft="true"

 android:layout_alignParentStart="true" / 

(3)、修改MainActivity.java

接着,在MainActivity.java中加入如下代码:

/*启动另一个Activity*/

findViewById(R.id.btnStartAnotherAty1).setOnClickListener(new View.OnClickListener() {

 @Override

 public void onClick(View v) {

 startActivity(new Intent(MainActivity.this, AnotherAty.class));//启动另一个Activity

});

(4)、编译运行

最后编译运行,结果如下图所示:


2、如何打开一个网页


打开网页很简单,直接在MainActivity.java中加入如下代码:

/*启动另一个网页*/

findViewById(R.id.btnStartAnotherAty2).setOnClickListener(new View.OnClickListener() {

 @Override

 public void onClick(View v) {

 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://blog.csdn.net/frd2009041510")));//启动另一个网页

});

为了观察效果,可以像之前一样加一个按键,最后给出效果图





3、Activity的生命周期


生命周期示意图如下:


接下来,我们加入代码验证该图,加入的代码如下:

/*Activity生命周期*/

@Override

protected void onStart() {

 super.onStart();

 System.out.println("A onStart");

@Override

protected void onResume() {

 super.onResume();

 System.out.println("A onResume");

@Override

protected void onPause() {

 super.onPause();

 System.out.println("A onPause");

@Override

protected void onStop() {

 super.onStop();

 System.out.println("A onStop");

@Override

protected void onDestroy() {

 super.onDestroy();

 System.out.println("A onDestroy");

@Override

protected void onRestart() {

 super.onRestart();

 System.out.println("A onRestart");

}

在另一个Activity中加入代码如下:

/*Activity生命周期*/

@Override

protected void onStart() {

 super.onStart();

 System.out.println("B onStart");

@Override

protected void onResume() {

 super.onResume();

 System.out.println("B onResume");

@Override

protected void onPause() {

 super.onPause();

 System.out.println("B onPause");

@Override

protected void onStop() {

 super.onStop();

 System.out.println("B onStop");

@Override

protected void onDestroy() {

 super.onDestroy();

 System.out.println("B onDestroy");

@Override

protected void onRestart() {

 super.onRestart();

 System.out.println("B onRestart");

}

最后运行,查看运行日志验证结果,下面给出开始运行的一部分结果截图,执行的步骤是进入Activity,点击启动另一个Activity,结果如下图:


实验结果分析:主Activity首先启动,即A onCreate、A onStart、A onResume,点击启动另一个新的Activity后A onPause,接着B onCreate、B onStart、B onResume,最后A onStop,可以看出完全符合Activity周期图。





❤️【Android精进之路-05】怎么创建Activity,如何启动另一个Activity,干货满满,建议收藏❤️ 上一篇文章❤️【Android精进之路-04】Android核心组件Activity,必须掌握的知识点(Activity是什么,生命周期是怎样的)❤️ 介绍了Activity的基本概念以及生命周期,但是没有说到如何创建Activity,Activity之间如何传值。SO,本文将重点讲解Activity的创建以及如何Activity之间如何传递参数。
Android快速查看某个Activity的信息 Android中,如果能快速获取某个Activity的名称,我们就不用必须顺着代码逻辑,一步一步的去查找我们想查找的页面了,这就能极大的提高开发速度。