Android--Activity生命周

前面我们已经说过Android四大天王

  •   Activty    门面工作,负责数据的显示,当然这部门最重要,谁不想自己的手机画面更漂亮一些呢
  •   intent     这是我们的运输大队长,所有的数据通过它来传递
  •   Service   这是劳模,所以的数据处理都通过它来操作
  •   Content Provide  我是国家档案,负责存储数据,并允许需要的应用程序访问数据

既然我们说Activity是四大天王之一,说明其的重要性,我们今天就说一下,Activity的生命周期

     方法如下:

  •   onCreate();每一次被创建就调用onCreate()方法
  •   onStart();当可以被看到时就调用
  •   onResume();  能够获得用户焦点,可以操作时
  •   onPause();应用程序启动了另外一个Activity
  •   onStop()当Activity处于不可见时就调用
  •   onDestory() 消毁activity
  •   onRestart()当Activity再次可见时

我画了个图供大家参考一下:(图片如下:看完图后我想大家对Activity可以说了一定的了解)

 Android--Activity生命周_第1张图片

 

   写个测试用例子,新建工程Activity04

   MainActivity.java

  

 1 package com.example.activity04;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.view.*;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Button;
 9 
10 public class MainActivity extends Activity {
11 
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         System.out.println("first-->第一次被调用onCreate");
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.activity_main);
17         Button myButton = (Button) findViewById(R.id.button1);
18         myButton.setOnClickListener(new OnClickListener() {
19             @Override
20             public void onClick(View v) {
21                 Intent intent = new Intent();
22                 intent.setClass(MainActivity.this, SecondActivity.class);
23                 MainActivity.this.startActivity(intent);
24 
25             }
26         });
27 
28     }
29     @Override
30     protected void onDestroy() {
31         System.out.println("first-->onDestroy()");
32         super.onDestroy();
33     }
34 
35     @Override
36     protected void onPause() {
37         System.out.println("first-->onPause()");
38         super.onPause();
39     }
40 
41     @Override
42     protected void onRestart() {
43         System.out.println("first-->onRestart() 重新启动");
44         super.onRestart();
45     }
46 
47     @Override
48     protected void onResume() {
49         System.out.println("first-->onResume() 获得用户焦点,可以操作时");
50         super.onResume();
51     }
52 
53     @Override
54     protected void onStart() {
55         System.out.println("first-->onStart()当可以看见时");
56         super.onStart();
57     }
58 
59     @Override
60     protected void onStop() {
61         System.out.println("first-->onStop()当Activity处于不可见时");
62         super.onStop();
63     }
64     
65      
66 
67 
68 }

第二个SecondActivity.java

 1 package com.example.activity04;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6 
 7 public class SecondActivity extends Activity {
 8 
 9     @Override
10     protected void onCreate(Bundle savedInstanceState) {
11         System.out.println("second-->onCreate()");
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_second);
14     }
15 
16     @Override
17     public boolean onCreateOptionsMenu(Menu menu) {
18         // Inflate the menu; this adds items to the action bar if it is present.
19         getMenuInflater().inflate(R.menu.activity_second, menu);
20         return true;
21     }
22 
23     @Override
24     protected void onPause() {
25         System.out.println("second-->onPause()");
26         super.onPause();
27     }
28 
29     @Override
30     protected void onRestart() {
31         System.out.println("second-->onRestart()");
32         super.onRestart();
33     }
34 
35     @Override
36     protected void onResume() {
37         System.out.println("second-->onResume()");
38         super.onResume();
39     }
40 
41     @Override
42     protected void onStart() {
43         System.out.println("second-->onStart()");
44         super.onStart();
45     }
46 
47     @Override
48     protected void onStop() {
49         System.out.println("second-->onStop()");
50         super.onStop();
51     }
52 
53 }

 

 还有两个layout

 

 activity_main.xml

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     tools:context=".MainActivity" >
 6 
 7     <Button
 8         android:id="@+id/button1"
 9         android:layout_width="fill_parent"
10         android:layout_height="wrap_content"
11         android:text="跳转" />
12 
13 </RelativeLayout>

activity_second

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     tools:context=".SecondActivity" >
 6 
 7     <TextView
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         android:layout_centerHorizontal="true"
11         android:layout_centerVertical="true"
12         android:text="@string/hello_world" />
13 </RelativeLayout>

AndroidManifest.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.activity04"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6 
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="16" />
10 
11     <application
12         android:allowBackup="true"
13         android:icon="@drawable/ic_launcher"
14         android:label="@string/app_name"
15         android:theme="@style/AppTheme" >
16         <activity
17             android:name="com.example.activity04.MainActivity"
18             android:label="@string/app_name" >
19             <intent-filter>
20                 <action android:name="android.intent.action.MAIN" />
21 
22                 <category android:name="android.intent.category.LAUNCHER" />
23             </intent-filter>
24         </activity>
25         <activity
26             android:name="com.example.activity04.SecondActivity"
27             android:label="@string/title_activity_second" >
28         </activity>
29     </application>
30 
31 </manifest>

源代码地址:http://download.csdn.net/detail/chenjie200280/4944591

你可能感兴趣的:(Activity)