Activity生死周期

1、Android提供了很多Activity的生命周期函数,比如onCreate(),

onStart()、onResume()、onPause()、onStop()、onDestroy()等。


2、具体这六个方法的使用:

2.1 onCreate():创建Activity调用,用于Activity的初始化,在Activity生

期中只执行一次,适用于实例化对象

2.2 onStart():Activity:在屏幕上对用户可见时调用

2.3 onResume():Activity开始和用户交互的时候调用,这时该Activity是

Activity栈的顶部

2.4onPause():Activity被暂停时调用,被其他的Activity挡在后面,这里

以做一些清理和保存工作

2.5 onStop():Activity被停止或者Activity变成不可见时调用

2.6 onDestroy():Activity被从内存中移除,一般发生在执行finish方法时

或者Android回收内存的时候

3、当从一个界面跳转到另一个界面时,如果先前的界面被完全覆盖,则调

用onPause(),和onStope()方法,如果没有被完全覆盖,则只调用

onPause()方法。

4、实现代码:

4.1第一个界面的代码:

package com.example.android_first;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity
{
//属性
private EditText username;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//设置显示的布局文件
//获取界面上的组件对象
Button login = (Button)findViewById(R.id.button_login);
username = (EditText)findViewById(R.id.edit_username);
//添加监听器
login.setOnClickListener(click_listener);
System.out.println("执行了第一个Activity的onCreate方法");
}
@Override
protected void onDestroy()

{
super.onDestroy();
System.out.println("执行了第一个Activity的onDestroy方法");
}
@Override
protected void onPause()

{
super.onPause();
System.out.println("执行了第一个Activity的onPause方法");
}
@Override
protected void onResume()

{
super.onResume();
System.out.println("执行了第一个Activity的onResume方法");
}
@Override
protected void onStart()

{
super.onStart();
System.out.println("执行了第一个Activity的onStart方法");
}
@Override
protected void onStop()

{
super.onStop();
System.out.println("执行了第一个Activity的onStop方法");
}
//创建动作事件监听器对象(匿名内部类)
OnClickListener click_listener = new OnClickListener()
{
//监听点击的方法
public void onClick(View v)
{
//验证
if(username.getText().toString().equals("zhangwei")){
//跳转到第二个界面
Intent intent = new Intent(MainActivity.this,dierge.class);//信

使
intent.putExtra("name",username.getText().toString());
startActivity(intent);
}else{
//提示信息
Toast.makeText(MainActivity.this,"登陆失败",3).show();

}
}
};
}

4.2第二个界面代码:

package com.example.android_first;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.widget.TextView;

/**
* 第二个界面
* @author 海斌
*
*/
public class dierge extends Activity{
MediaPlayer mp = new MediaPlayer();
/** Activity的入口 */
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);

//获取intent
Intent intent = getIntent();
//取出保存在intent中的信息
String username = intent.getStringExtra("name");
//获取到布局文件中的文本组件
TextView show_username = (TextView)findViewById

(R.id.show_username);
//设置文本组件上的文本为第一个界面传过来的用户名
show_username.setText(username);
try {
mp.setDataSource("sdcard/baihu.mp3");
mp.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}

@Override
protected void onStart() {
super.onStart();
//播放音乐
try {
mp.start();
}catch (Exception e) {
e.printStackTrace();
}
}

@Override
protected void onPause() {
super.onPause();
//暂停音乐
mp.pause();
}
}
5、实验结果截图:





6、运行结果显示:

6.1启动第一个界面:



6.2从第一个界面跳转到第二个界面



6.3完全退出时:


更多相关文章

  1. [已解决] MediaPlayer.setVolume设置声音大小失效问题
  2. android AppWidgetProvider 使用方法
  3. Android(安卓)7.1.1 Toast引起的Crash
  4. Android(安卓)Service之onStartCommand方法研究
  5. Bundle源码解析
  6. Android剪切板设置和读取字符串String 关键代码
  7. Android改变手机屏幕朝向的方法
  8. android Fragment 常用api方法
  9. 深入浅出 - Android系统移植与平台开发(十三) - Sensor HAL框架分

随机推荐

  1. listView分割线
  2. Android系统启动——4 zyogte进程 (C篇)
  3. android:使用fragment实现tab切换
  4. TextView跑马灯必成五属性
  5. 第5章 Android常见XML属性解析-更新中
  6. android:Button添加图片
  7. Android系统启动——8 附录2:相关守护进程
  8. Android(安卓)屏幕自适应方向尺寸与分辨
  9. Android(安卓)SDK Android(安卓)NDK Andr
  10. Android使用两个Activity页面切换…