今天是 Android 学习的最后一天,今天主要学了, Activity 的生命周期、 Android 广播、服务、还有几个小项目:视频播放器、音频播放器、等。
Activity 的生命周期 :
Activity 有三个状态:
当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态。它就是响应用户操作的 Activity 。
当它失去焦点但仍然对用户可见时(如右图),它处于暂停状态。即在它之上有另外一个 Activity 。这个 Activity 也许是透明的,或者没有完全覆盖全屏,所以被暂停的 Activity 仍对用户可见。暂停的 Activity 仍然是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接),但系统处于极低内存时仍然可以杀死这个 Activity 。
完全被另一个 Activity 覆盖时则处于停止状态。它仍然保留所有的状态和成员信息。然而对用户是不可见的,所以它的窗口将被隐藏,如果其它地方需要内存,则系统经常会杀死这个 Activity 。
当 Activity 从一种状态转变到另一种状态时,会调用以下保护方法来通知这种变化:
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()
广播接收者 —BroadcastReceiver :
广播接收者( BroadcastReceiver )用于异步接收广播 Intent ,广播 Intent 的发送是通过调用 Context.sendBroadcast() 、 Context.sendOrderedBroadcast() 或者 Context.sendStickyBroadcast() 来实现的。通常一个广播 Intent 可以被订阅了此 Intent 的多个广播接收者所接收,广播接收者和 JMS 中的 Topic 消息接收者很相似。
除了短信到来广播 Intent , Android 还有很多广播 Intent ,如:开机启动、电池电量变化、时间已经改变等广播 Intent 。
服务 —Service :
Android 中的服务和 windows 中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。服务的开发比较简单,如下:
第一步:继承 Service 类
public class SMSService extends Service { }
第二步:在 AndroidManifest.xml 文件中的 <application> 节点里对服务进行配置 :
<service android:name=".SMSService" />
服务不能自己运行,需要通过调用 Context.startService() 或 Context.bindService() 方法启动服务。这两个方法都可以启动 Service ,但是它们的使用场合有所不同。使用 startService() 方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用 bindService() 方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,
音乐播放:
Android 提供的 MMI 接口, MediaPlayer 类可以让我们很容易得来播放媒体音乐:实现音乐播放的核心代码如下:
mediaPlayer.setDataSource("/sdcard/god.mp3");
mediaPlayer.prepare();// 缓冲
mediaPlayer.start();// 开始或恢复播放
mediaPlayer.pause();// 暂停播放
mediaPlayer.start();// 恢复播放
mediaPlayer.stop();// 停止播放
mediaPlayer.release();// 释放资源
6 天的 Android 学习,感觉一转眼就学完了,虽然只有 6 天的时间,我也学到了许多核心的知识,我想黎老师也是花了大量时间来研究 Android ,才会让给我们讲这么多的知识,由于有以前学的 java 基础,我们学习起来感觉很轻松。