Android笔记之多个Activity的生命周期交互

Android应用生命周期与音乐播放实例
本文详细介绍了Android应用的生命周期阶段,包括单个Activity的启动、暂停、重启、停止和销毁过程,并通过实例展示了如何在Activity生命周期内实现音乐播放功能,包括创建MediaPlayer、暂停音乐、继续播放以及音乐播放器的销毁。

 

单个Activity:

      应用开启时调用:onCreate(),onStart(),onResume();

      按下返回键:onPause(),onStop(),onDestory();

多个Activity之间交互时:

     跳转至第二个Activity时:

FirstActivitySecondActivity
onPause() 
 

onCreate()

 onStart()
 onResume()
onStop() 

 

 

 

 

 

 

 

按下锁屏键

SecondActivity
onPause()
onStop()

 

 

 

解锁

SecondActivity
onRestart()
onStart()
onResume()

 

 

 

 

按下返回键,或者SecondActivity调用finish()

FirstActivitySecondActivity
 onPause()
onRestart() 
onStart() 
onResume() 
 onStop()
 onDestory()

 

 

 

 

 

 

 

 

生命周期应用实例

在Activity中播放音乐

oncreate():

 1     private MediaPlayer mediaplayer;
 2     @Override
 3     protected void onCreate(Bundle savedInstanceState) {
 4         super.onCreate(savedInstanceState);
 5         setContentView(R.layout.activity_main);
 6         Log.i("imformation", "MainActivity onCreate!");
 7         mediaplayer=MediaPlayer.create(this, R.raw.quite);
 8         mediaplayer.start();
 9         
10     }

 

在Activity onPause时,音乐也需要暂停

此时,需要一个记录播放到的位置的变量:private int place;

onPause:

 1        @Override
 2     protected void onPause() {
 3     // TODO Auto-generated method stub
 4     super.onPause();
 5     if(mediaplayer.isPlaying())
 6     {
 7         mediaplayer.pause();
 8         place=mediaplayer.getCurrentPosition();
 9         
10     }
11     Log.i("imformation", "MainActivity onPause!");
12     }

同样,当Activity Resume时,音乐也要接着播放

onResume:

 1     @Override
 2     protected void onResume() {
 3     // TODO Auto-generated method stub
 4     super.onResume();
 5     if(place!=0)
 6     {
 7         mediaplayer.seekTo(place);
 8         mediaplayer.start();
 9     }
10     Log.i("imformation", "MainActivity onResume!");
11     }

 

当Activity 销毁时,音乐播放器也要销毁

 1     @Override
 2     protected void onDestroy() {
 3         // TODO Auto-generated method stub
 4         super.onDestroy();
 5             if(mediaplayer!=null){
 6         mediaplayer.release();
 7         mediaplayer=null;
 8                  }
 9         Log.i("imformation", "MainActivity onDestory!");
10     }        

 

注:本文是学习慕课网Android-重识Activity(http://www.imooc.com/learn/384)时的笔记,如有侵权行为,立即删除

转载于:https://www.cnblogs.com/AimeeKing/p/4649622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值