目录

  • 1 第一周 android简介
    • 1.1 第一课 Android基础入门1
    • 1.2 第二课 Android基础入门2
    • 1.3 第三课 Android UI开发介绍
  • 2 第二周 android布局
    • 2.1 第一课 Android 布局文件介绍1
    • 2.2 第二课 Android 布局文件介绍2
    • 2.3 第三课 Android 布局文件介绍3
  • 3 第三周 Android UI组件开发
    • 3.1 第一课 Button和ImageButton
    • 3.2 第二课 TextView和EditText
    • 3.3 第三课 RadioButton和CheckBox
  • 4 第四周 Android UI组件开发
    • 4.1 第一课 Spinner和ListView
    • 4.2 第二课 应用案例-手机信息页面
    • 4.3 第三课 Android生命周期
  • 5 第五周 Android组件通信
    • 5.1 第一课 Intent的介绍
    • 5.2 第二课 Intent实现各种系统功能
    • 5.3 第三课 应用案例-手机注册页面
  • 6 第六周 数据存储
    • 6.1 第一课 应用案例-新建联系人
    • 6.2 第二课 数据存储-简单文件存储
    • 6.3 第三课 SharedPreferences存储
  • 7 第七周 数据存储
    • 7.1 第一课 xml文件存储
    • 7.2 第二课 应用案例-植物百科
    • 7.3 第三课  ListView 组件高级使用
  • 8 第八周 SQLite数据库
    • 8.1 第一课 应用案例-应用列表
    • 8.2 第二课 使用SQLite数据库存储(创建数据库和表)
    • 8.3 第三课 使用SQLite数据库存储(对表数据操作)
  • 9 第九周 项目实战-商品购物车处理
    • 9.1 第一课 使用SQLite数据库存储(对表数据查询)
    • 9.2 第二课 商品购物车处理(布局)
    • 9.3 第三课 商品购物车处理(数据处理)
  • 10 第十周 内容提供者及广播
    • 10.1 第一课 内容提供者的使用
    • 10.2 第二课 广播概念以及如何使用
    • 10.3 第三课 自定义广播
  • 11 第十一周 广播和服务
    • 11.1 第一课 应用案例-电池电量
    • 11.2 第二课 应用案例-通话记录
    • 11.3 第三课 服务简介
  • 12 第十二周 服务应用
    • 12.1 第一课 应用案例—音乐播放器
    • 12.2 第二课 应用案例—地震监测
    • 12.3 第三课 获得手机SIM卡信息
  • 13 第十三周 网络编程
    • 13.1 第一课 网络编程入门
    • 13.2 第二课 使用HttpClient访问网络
    • 13.3 第三课 webview组件
  • 14 第十四周 网络编程应用案例
    • 14.1 第一课 消息机制简介
    • 14.2 第二课 应用案例-应用升级
    • 14.3 第三课 应用案例-应用升级
第三课 Android生命周期

一、Android程序生命周期

Android程序的生命周期是指在Android系统中,进程从启动到终止的所有阶段,即android程序从启动到停止的全过程。


Android程序的生命周期是由系统控制的,而不是程序自身直接控制。


内存有限,多任务时需要回收不重要的应用程序。



二、Android四大组件

1.Activity

Activity是Android程序中最基本的模块,它是为用户操作而展示的可视化用户界面,一个Android应用程序中可以只有一个Activity,也可以包含多个,每个Activity的作用及其数目,取决于应用程序及其设计。Activity窗口显示的可视内容是由一系列视图构成的,这些视图均继承自View基类。每个视图均控制着窗口中一块特定的矩形空间,父级视图包含并组织其子视图的布局,而底层视图则在它们控制的矩形中进行绘制,并对用户操作做出响应,所以,视图是Activity与用户进行交互的界面。比如说,开发人员可以通过视图显示一张图片,然后在用户单击它时产生相应的动作。

2.  Service

Service是服务的意思,它没有可视化的用户界面,而是在一段时间内在后台运行的程序。例如,一个服务可以在用户做其他事情的时候在后台播放背景音乐、从网络上获取一些数据或者计算一些东西并提供给需要这个运算结果的Activity使用。Android程序中的每个服务都继承自Service基类。

3.BroadcastReceiver

BroadcastReceiver(广播接收器)是一个专注于接收广播通知信息,并做出对应处理的组件。Android程序中的很多广播是源自于系统的;另外,Android应用程序也可以进行广播。

在一个Android应用程序中可以拥有任意数量的广播接收器,以对所有它感兴趣的通知信息予以响应,所有的广播接收器均继承自BroadcastReceiver基类。

广播接收器没有用户界面,然而,它们可以启动一个Activity来响应它们收到的信息,或者用NotificationManager来通知用户。

创建一个BroadcastReceiverTest.java类文件,使该类继承自BroadcastReceiver类,以便作为广播接收器,代码如下:

publicclass BroadcastReceiverTestextends BroadcastReceiver {

  @Override

  public void onReceive(Contextarg0, Intent arg1) {

  }

}


4.ContentProvider

Content Provider是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法,可以指定需要共享的数据,而其他应用程序则可以在不知道数据来源、路径的情况下,对共享数据进行操作。

在Android程序中,共享数据的实现需要继承自ContentProvider基类,该基类为其他应用程序使用和存储数据实现了一套标准方法,然而,应用程序并不直接调用这些方法,而是使用一个ContentResolver对象,并通过调用它的方法作为替代,ContentResolver对象提供了query()、insert()、update()和delete()等方法,可以对共享的数据执行各种操作。

三、Activity生命周期

1.Activity的4种状态

    Running状态: 一个新Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。

Paused状态: 当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态,此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点,故不可与用户交互。

Stopped状态: 当Activity不可见时,Activity处于Stopped状态。Activity将继续保留在内存中保持当前的所有状态和成员信息,假设系统别的地方需要内存的话,这时它是被回收对象的主要候选。当Activity处于Stopped状态时,一定要保存当前数据和当前的UI状态,否则一旦Activity退出或关闭时,当前的数据和UI状态就丢失了。

Killed状态: Activity被杀掉以后或者被启动以前,处于Killed状态。这时Activity已被移除Activity堆栈中,需要重新启动才可以显示和使用。

2.Activity的事件回调方法

onCreate()方法:创建Activity时被回调;最常见,项目创建后自动创建一个Activity,自动重写了onCreate()方法;


onStart()方法:启动Activity时被回调,即变为显示时被回调;


onRestart()方法:重新启动Activity时被回调,总在onStart()以后执行;

onPause()方法:暂停Activity时被回调,通常用于保存数据;


onResume()方法:暂停变为活动状态时被回调;


onStop()方法:停止Activity时被回调;


onDestroy()方法:销毁Activity时被回调。