演示Activity的生命周期
来源:互联网 发布:华为软件研发面试经验 编辑:程序博客网 时间:2024/05/17 03:48
Activity的生命周期:
演示过程:(1)MainActivity和Activity2之间的代码
Activity2的代码:
package com.example.mactivitytest;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.os.Build;
public class MainActivity extends Activity {
private Button btn1,btn2;
//Activity创建时被调用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
Log.d("MainActivity", "onCreate");
btn1=(Button) findViewById(R.id.btn1);
btn2=(Button) findViewById(R.id.btn2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent(getApplicationContext(),Activity2.class);
startActivity(intent);
// MainActivity.this.finish();
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
}
//Activity创建或者从后台重新回到前台时被调用
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.d("MainActivity", "onStart");
}
//Activity创建或者从被覆盖、后台重新回到前台时被调用
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.d("MainActivity", "onResume");
}
//Activity被覆盖到下面或者锁屏时被调用
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.d("MainActivity", "onPause");
}
//退出当前Activity或者跳转到新Activity时被调用
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.d("MainActivity", "onStop");
}
//退出当前Activity时被调用,调用之后Activity就结束了
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.d("MainActivity", "onDestroy");
}
}
mainActivity的代码:
package com.example.mactivitytest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Activity2 extends Activity {
private Button btn3, btn4;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("Activity2", "onCreate");
btn3=(Button) findViewById(R.id.btn3);
btn4=(Button) findViewById(R.id.btn4);
btn3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
// Activity2.this.finish();
}
});
btn4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Activity2.this.finish();
}
});
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.d("Activity2", "onStart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.d("Activity2", "onResume");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.d("Activity2", "onPause");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.d("Activity2", "onStop");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.d("Activity2", "onDestroy");
}
}
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test2" />
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="切换到第二个activity" />
<Button
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test" />
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="切换到第二个activity" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭" />
</LinearLayout>
演示效果:(1)运行项目
在系统调用了onCreate和onStart之后,调用了onResume,自此,Activity进入了运行状态。
(2)点击切换到第一个Activity按钮
在启动Activity2调用Activity2的oncreate,onstart,oonResume.让MainACtivity处于onstop状态中。
(3)点击切换到第二个Activity按钮
调用Activity2的onpause.重新调用MainActivity的oncreate,onstaart,onResume.让Activity处于onstop的状态中。
我就演示到这。其他点击可以自由组合,观察生命周期。
mActivityTest源码链接:http://pan.baidu.com/s/1kVua3xd
- 演示Activity的生命周期
- Android Activity生命周期演示程序的例子
- Activity生命周期演示
- activity 生命周期演示
- activity 生命周期演示
- android activity各种生命周期演示
- 【代码】利用Android的Log 演示一个activity的生命周期
- 利用Android的Log 演示一个activity的生命周期
- Android项目(三)-- Activity生命周期演示
- 基于Log演示一个activity生命周期
- Android 横竖屏切换的Activity生命周期演示-面试常问题
- 什么是Activity?Activity的生命周期!
- Activity及Activity的生命周期
- Activity 的生命周期
- Android activity的生命周期
- Activity的生命周期
- Android:Activity的生命周期
- Activity的生命周期
- java工作日和节假日判断
- Android 动画,看完这些还不够
- Cable TV Network, ACM/ICPC SEERC 2004, UVa1660【Dinic 最小割 拆点】
- HTTP请求和响应中 中文urlEncode urlDecode编码问题
- 【css】font简写
- 演示Activity的生命周期
- Android doc|Getting Started|部分 --转载 保存数据
- Java与C/C++异构平台的本地通信(Java也可以操作硬件)
- Java——关键字final
- Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
- spring mvc中mybaits+laypage分页实现 bootstrap
- 一个简单的SpringMVC需要哪些jar包[Spring4.x]
- mxl 数据
- Leetcode 399. Evaluate Division 除法推理 解题报告